Skip to content
MechStuff

MechStuff

''Making stuff… Simpler''

  • Home
  • MechStuff
  • News
  • How Stuff Works
  • Engines
  • Mech-Tech
  • TechStuff
  • Robotics
    • Robot Stuff
    • Tutorials
  • Engineering Marvels
  • For Mechanical Engineers
    • Games for Mechanical Engineers
    • Movies for Mechanical Engineers
  • Contact Us
  • About us

How to make obstacle avoiding robot using Arduino & Ultrasonic sensor ?

4
obstacle avoiding robot using arduino

So you wanna build a robot which never hits anything; you’ve come to the right place ! It barely takes 15 minutes to do this ! So without wasting our time let’s learn how to make an obstacle avoiding robot !

Requirements :-

  1. Chassis OR any toy car.
  2. Arduino UNO/Mega.
  3. Ultrasonic sensor HC SR-04.
  4. 2 DC motors.
  5. 9V/12V 1A battery.
  6. Motor driver module L298.
  7. Jumpers.
  8. Single stranded wires.
  9. A pizza slice & a can of beer to celebrate 😉

Procedure :-

So yes, I’m going to divide the whole making into 4 parts –

Connections of Ultrasonic sensor    →    Connections of L298N    →    Code    →    Testing

If you haven’t used or experimented before with the ultrasonic sensor, I would suggest you to get familiar with it first ! I have a detail tutorial on ultrasonic sensor HC SR-04 which will guide you throughout !

Here is detailed Tutorial on Ultrasonic Sensor HC-SR04 




 Connections :-

Connections for Obstacle avoiding robot
Connections for Obstacle avoiding robot

Connections of Ultrasonic sensor –

  1. VCC – VCC terminal of Arduino.
  2. GND – GND terminal of Arduino.
  3. Trigpin – digital pin 9 on Arduino.
  4. Echo pin – digital pin 10 on Arduino.

Connections of L298N –

  1.  +12V – Positive terminal of the battery.
  2. GND – a)GND of Arduino   b)Negative terminal of battery.
  3. Input terminal 1 – Pin 4
  4. Input terminal 2 – Pin 5
  5. Input terminal 3 – Pin 6
  6. Input terminal 4 – Pin 7
  7. Output terminal 1 – Positive of first motor.
  8. Output terminal 2 – Negative of first motor.
  9. Output terminal 3 – Positive of second motor.
  10. Output terminal 4 – Negative of second motor.

Let me tell you, if you’re getting confused between the connections of motor driver and motors, you can first try only with one motor. For more clarity, I have made a separate tutorial for you on interfacing Arduino with Motor driver module L298N. I have provided the connections as well as the code for it.

Coding :-

int trigPin = 9;
int echoPin = 10;
int revright = 4;      //REVerse motion of Right motor
int fwdleft = 7;      
int revleft= 6;       
int fwdright= 5;       //ForWarD motion of Right motor
int c = 0;

void setup() {
  //Serial.begin(9600); 
   pinMode(5, OUTPUT);
   pinMode(6, OUTPUT);
   pinMode(4, OUTPUT);
   pinMode(7, OUTPUT);
   pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  // put your setup code here, to run once:

}

void loop() {
  long duration, distance;
  digitalWrite(trigPin,HIGH);
  delayMicroseconds(1000);
  digitalWrite(trigPin, LOW);
  duration=pulseIn(echoPin, HIGH);
  distance =(duration/2)/29.1;
  //Serial.print(distance);
  //Serial.println("CM");
  delay(10);
 
  
  if((distance>20))
 {
  digitalWrite(5,HIGH);                               //       If you dont get proper movements of your robot,
   digitalWrite(4,LOW);                               //        then alter the pin numbers
   digitalWrite(6,LOW);                               //
   digitalWrite(7,HIGH);                              //
 }
 
  else if(distance<20)  
 {
   digitalWrite(5,HIGH);
   digitalWrite(4,LOW);
   digitalWrite(6,HIGH);                                  //HIGH
   digitalWrite(7,LOW);
                                            
 }
 
}

You may like –

Control LEDs with help of Android (in 5 mins)

&

Control LEDs with Voice commands (in 5 mins)




Testing :-

If the distance detected by the ultrasonic sensor is less than 25cm, then the bot will take a turn else, it will keep moving straight ! Simple… right ?

Well, here is a video tutorial which will make your job more easy !

Do I need to say this, NO… but anyway I will,

If you have any problem regarding connections or coding or during interfacing, all you have to do is comment down below OR contact me 🙂 I’ll very happy to help you

Share this Stuff :

  • Click to share on Facebook (Opens in new window)
  • Click to share on WhatsApp (Opens in new window)
  • Click to share on Reddit (Opens in new window)
  • Click to share on Pinterest (Opens in new window)
  • Click to share on Twitter (Opens in new window)
  • Click to share on LinkedIn (Opens in new window)
  • More
  • Click to email this to a friend (Opens in new window)
  • Click to print (Opens in new window)

Like this:

Like Loading...

Related

Tutorials Arduino, HC-SR04, L298N, mechatronics, mini-project, motor driver module, obstacle avoiding robot, simplest way, ultrasonic sensor, video tutorial

4 comments on “How to make obstacle avoiding robot using Arduino & Ultrasonic sensor ?”

  1. Ricky Cabanillas says:
    December 12, 2018 at 6:37 PM

    Hello, I was wondering what rpm your dc motors are at?

    Reply
    1. Jay Baviskar says:
      December 14, 2018 at 5:01 PM

      Hello Ricky, they are 100 rpm DC motors

      Reply
  2. Dika fitra says:
    December 19, 2018 at 7:30 PM

    Why my driver l298n not working even though i have given a 9v battery voltage?

    Reply
    1. Jay Baviskar says:
      January 24, 2019 at 9:54 PM

      Hi Dika, please check the connections again or there is a minor chance that your module must have fried because of prior wrong connection!

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Idealist by NewMediaThemes

loading Cancel
Post was not sent - check your email addresses!
Email check failed, please try again
Sorry, your blog cannot share posts by email.
%d bloggers like this: