Introduction: 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 !!
16 Comments
8 years ago on Introduction
Its awesome the project helped me a lot.
Reply 5 years ago
Happy to hear that !!!
5 years ago
he said to me this :
avrdude: ser_open(): can't open device "\\.\COM1": The system cannot find the file specified.
Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#up... for suggestions.
what can I do
Reply 5 years 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
6 years 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.
7 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.
Reply 7 years ago
The battery pack is for the motors and the 9v battery is for the arduino
7 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()'
8 years ago
When I uploaded the program it is coming that compiling error so what should I do???
Reply 8 years ago on Introduction
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
8 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
Reply 8 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 !!
8 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);
}
8 years ago
that typo is pin 17 should be pin 15, there is no,17th pin on the chip.
Reply 8 years ago on Introduction
I changed it thanks for telling me
8 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.