Obstacle Avoiding Robot Using Ultrasonic Sensor
Obstacle Avoiding Robot Using Ultrasonic Sensor
Obstacle Avoiding Robot Using Ultrasonic Sensor
ULTRASONIC SENSOR
By:
G.ANIL KUMAR
IN ASSOSCIATION WITH
CST SERVICES
1
OBSTACLE AVOIDING ROBOT USING ULTRASONIC
SENSOR
Aim: Build an Obstacle avoiding robot using Arduino and Ultrasonic Sensor.
Introduction:
Obstacle Avoiding Robot is an intelligent device which can automatically sense the
obstacle in front of it and avoid them by turning itself in another direction. This design allows the
robot to navigate in unknown environment by avoiding collisions, which is a primary
requirement for any autonomous mobile robot.
The application of Obstacle Avoiding robot is not limited and it is used in most of the
military organization now which helps carry out many risky jobs that cannot be done by any
soldiers.
Components Required:
Arduino UNO
Ultrasonic Sensor Module HC-SR04
ROBOT Chassis complete with screw
DC Motors
L293D IC
Wheels
Bread Board
Connecting wires
Power supply or Power bank
Arduino UNO:
2
Arduino UNO
Ultrasonic Sensor:
An Ultrasonic sensor is used to sense the obstacles in the path by calculating the distance
between the robot and obstacle. If robot finds any obstacle it changes the direction and continues
moving.
Before going to build the robot, it is important to understand how the ultrasonic sensor
works because this sensor will have important role in detecting obstacle.
The basic principle behind the working of ultrasonic sensor is to note down the time
taken by sensor to transmit ultrasonic beams and receiving the ultrasonic beams after hitting the
surface. Then further the distance is calculated using the formula. In this project, the widely
available HC-SR04 Ultrasonic Sensor is used.
3
So, the Trig pin of HC-SR04 is made high for at least 10 us. A sonic beam is transmitted with 8
pulses of 40 KHz each.
The signal then hits the surface and returns back and captured by the receiver Echo pin of
HC-SR04. The Echo pin had already made high at the time sending high.
The time taken by beam to return back is saved in variable and converted to distance
using appropriate calculations like below.
4
L293d Motor Driver Module:
The L293d Motor Driver Module is responsible for providing the necessary drive current to the motors of the
robotic car.
Connections:
A1 Digital pin 4
A2 Digital pin 5
B1 Digital pin 6
B2 Digital pin 7
VCC Vin
GND GND
5
UltraSonic Sensor to Arduino:
Vcc 5v
GND GND
Buzzer to Arduino:
Buzzer Arduino
Negative GND
6
Procedure:
Connect Arduino uno using a cable wire
After giving all the connections compile and Execute the program
Code:
#define BUZZER 16
#define TRIGGER 12
#define ECHO 11
void setup() {
Serial.begin (9600);
pinMode(TRIGGER, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
7
pinMode(6,OUTPUT);// Open serial monitor at 9600 baud to see ping results.
void loop() {
digitalWrite(TRIGGER, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER, LOW);
duration = pulseIn(ECHO, HIGH);
distance = (duration/2) / 29.1;
if (distance < 30)
{
Serial.println("B");
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
delay(2000);
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite (6,LOW);
delay(2000);
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
}
else
8
{
Serial.println("f");
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
} delay(500);
RESULT:
In loop() function, get the distance from HC-SR04 and based on the distance move the
motor direction. The distance will show the object distance coming in front of the robot. The
Distance is taken by bursting a beam of ultrasonic up to 10 us and receiving it after 10us.
If the distance is greater than the defined distance means there is not obstacle in its path
and it will moving in forward direction.
If the distance is less than the defined distance to avoid obstacle means there is some
obstacle ahead. So in this situation robot will stop for a while and move backwards after that
again stop for a while and then take turn to another direction.
9
OBSTACLE AVOIDING ROBOT
So this is how a robot can avoid obstacles in its path without getting stuck
anywhere. Find the complete code and video below.
10