Arduino Robot

About: I love Arduino and Raspberry pi and High Voltage... i build robots and also other cool stuff so stay tuned !!

Intro: Arduino Robot

Ever thought about building a robot but think that it`s too difficult, well now it`s not. It is a simple robot which is operated by an arduino and what it does is that it just roams around and avoids obstacles. It detects the obstacles with a HC-SR04 ultrasonic sensor. It is a simple project which anyone can build. Lets get started !!

Step 1: Materials Required

1. Arduino

2. HC-SR04

3. Robot chassis and motors

4. L293D IC

5. Breadboard

6. Jumper wires

7. 9v Battery

8. AA battery back (9v)

9. Double sided foam tape

And that's it !!

Step 2: Wiring and Schematic

You may find this step a bit complicated but its not. Follow these steps:

1. Connect pin 1, 9 and 16 together and connect it to 5v

2. Connect pin 4,5,12,13 together and connect it Gnd

3. Connect your 1st motor to pin 3 and 6

4. Connect your 2nd motor to pin 11 and 14

5. Connect pin 15 to digital pin 8

6. Connect pin 10 to digital pin 9

7. Connect pin 2 to digital pin 10

8. Connect pin 7 to digital pin 11

9. Connect HC-SR04 Vcc pin to 5v and Gnd to Gnd

10. Trig to digital pin 3 and Echo to digital pin 2

11. Battery pack's positive to IC pin 8 and Battery pack's Gnd to Gnd

12. Connect 9v battery's positive to Vin on Arduino and Gnd to Gnd

Step 3: Programming

The code very easy. You can also change the code and try different things. If the robot is going in weird directions, try changing all the digitalWrite, HIGH to digitalWrite, LOW and all the digitalWrite, LOW to digitalWrite, HIGH.

For the code to work you have to download the NewPing library from this link: http://playground.arduino.cc/Code/NewPing#Download. And then it put in the arduino library folder.

Have Fun !!

Share

    Recommendations

    • Fix It! Contest

      Fix It! Contest
    • Furniture Contest 2018

      Furniture Contest 2018
    • Metalworking Contest

      Metalworking Contest

    16 Discussions

    0
    None
    Arduino TechMohamedM56

    Reply 1 year ago

    Connect your arduino and then open device manager and see to which com port your arduino is connected to and also check that your arduino drivers are up to date

    0
    None
    Mike_Man

    1 year ago

    This is what it says when I try to upload the code :

    Error compiling for board Arduino/Genuino Uno.

    /\

    compliation terminated.

    exit status 1

    Error compiling for board Arduino/Genuino Uno.

    0
    None
    botgames

    2 years ago

    I don't understand step 12. I hooked everything up but it didn't work. Do I still have to hook the Arduino to a 9v or computer? Why the battery pack and 9v and a 9v to power the Arduino. I'm so confused. Any clarity would be greatly appreciated.

    1 reply
    0
    None
    Arduino Techbotgames

    Reply 2 years ago

    The battery pack is for the motors and the 9v battery is for the arduino

    0
    None
    SKYuvraj

    2 years ago

    Sir i m not well experienced on Arduino. and i m getting errors as below. so plz help me.

    Arduino: 1.6.6 Hourly Build 2015/08/25 04:58 (Windows 7), Board: "Arduino Uno"

    Using library NewPing in folder: C:\Users\SKYuvraj\Documents\Arduino\libraries\NewPing (legacy)

    D:\FAMILY\PERSONAL\SKYuvraj\Projects\arduino-nightly-windows\arduino-nightly\hardware\tools\avr/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10606 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -ID:\FAMILY\PERSONAL\SKYuvraj\Projects\arduino-nightly-windows\arduino-nightly\hardware\arduino\avr\cores\arduino -ID:\FAMILY\PERSONAL\SKYuvraj\Projects\arduino-nightly-windows\arduino-nightly\hardware\arduino\avr\variants\standard -IC:\Users\SKYuvraj\Documents\Arduino\libraries\NewPing C:\Users\SKYuvraj\AppData\Local\Temp\build2227180754621430662.tmp\sketch\sketch_oct10b.cpp -o C:\Users\SKYuvraj\AppData\Local\Temp\build2227180754621430662.tmp\sketch\sketch_oct10b.cpp.o
    Robot.ino: In function 'void setup()':
    Robot.ino:31:6: error: redefinition of 'void setup()'
    sketch_oct10b.ino:1:6: error: 'void setup()' previously defined here
    Robot.ino: In function 'void loop()':
    Robot.ino:40:6: error: redefinition of 'void loop()'
    sketch_oct10b.ino:7:6: error: 'void loop()' previously defined here
    redefinition of 'void setup()'

    0
    None
    satvik.gupta.129

    3 years ago

    When I uploaded the program it is coming that compiling error so what should I do???

    1 reply

    Have you installed the " new ping " library ? If not then download it from " https://code.google.com/p/arduino-new-ping/downloads/detail?name=NewPing_v1.5.zip&can=2&q= " then extract the zip file in the library folder of arduino it will be in My documents then Arduino then libraries

    0
    None
    mani_97

    3 years ago on Introduction

    hey......2 things.....1. how did u connect the DC motors without a motor shield and 2. i want to connect a mini servo with the sensor so that it scans the area......plz help

    1 reply
    0
    None
    Arduino Techmani_97

    Reply 3 years ago

    A motor shield has this same circuit the only difference is that it is on a PCB and if you want to add a servo check out the instructables in my favourite's named James - Your first arduino robot. Good Luck !!

    0
    None
    nodoubtman

    3 years ago on Introduction

    The schematic is right but the CODE is WRONG, look at this :

    replace these lines.. :


    void moveBackward(){
    digitalWrite(Motor1Pin1, HIGH);
    digitalWrite(Motor1Pin2, LOW);
    digitalWrite(Motor2Pin1, LOW);
    digitalWrite(Motor2Pin2, HIGH);
    }


    void moveForward(){
    digitalWrite(Motor1Pin1, LOW);
    digitalWrite(Motor1Pin2, HIGH);
    digitalWrite(Motor2Pin1, HIGH);
    digitalWrite(Motor2Pin2, LOW);
    }

    void moveRight(){
    digitalWrite(Motor1Pin1, LOW);
    digitalWrite(Motor1Pin2, LOW);
    digitalWrite(Motor2Pin1, HIGH);
    digitalWrite(Motor2Pin2, LOW);
    }

    void moveLeft(){
    digitalWrite(Motor1Pin1, LOW);
    digitalWrite(Motor1Pin2, HIGH);
    digitalWrite(Motor2Pin1, LOW);
    digitalWrite(Motor2Pin2, LOW);
    }

    0
    None
    Beergnome

    3 years ago

    that typo is pin 17 should be pin 15, there is no,17th pin on the chip.

    1 reply
    0
    None
    Beergnome

    3 years ago

    thank you for this write up on using the L239 hbridge chip. im currently doing a build based on this guide.. just a heads up though, there is a typo on step 5 of your wire hook up.