Instructables
Picture of James - Your first Arduino Robot
For more Robotics Tutorials see my website here: http://www.duino-robotics.com/
For awesome videos about robots and 3D printing go here: http://www.youtube.com/channel/UC340dy5bmr6sLpyRh5qYwrg


Edit:
Thank you so much everyone for voting for James in the Toy Contest! He got first place and I won a $500 Shapeways voucher! Expect to see more robot instructables from me in the future! :D


So you want to make a robot? Don't know where to start? How about you learn how to make a robot with me and make James!
James was made as part of a Robotics Class I teach to a few high school students.

I called him James in memory of my late Grandfather James Manning Edwards who passed away 14-3-2013. He loved teaching and helping kids and died doing what he loved, hopefully this James will carry on that legacy.
 
Remove these adsRemove these ads by Signing Up

Step 1: Gather your Components and Tools

Picture of Gather your Components and Tools
Slide3.JPG
Slide4.JPG
Slide5.JPG
Slide6.JPG
Slide7.JPG
For this build we will be using the Arduino Uno with a Prototyping Shield. You could use whichever Arduino you want with its own Prototyping Shield or Breadboard.

If you are looking to buy this Prototyping Shield search on ebay for “arduino prototype shield uno” and you should see it. Alternatively you can buy a similar looking one from Core Electronics: http://tinyurl.com/brxjx5h

Step 2: Planning

Picture of Planning
Slide9.JPG
On a piece of paper sketch out a rough sketch of the shape you want your robot body to have. It is always best to have an idea of what you want your robot to look like before you begin its construction.

Next you will want to sketch the shape of the robot body onto the protective sheet of the acrylic, this can be done easily with a pencil. If you do not have acrylic you could use; balsa wood, ply-board, foam-core, cardboard plastic containers or even food containers! You will also need to mark out where you want your servo to go. To cut out the hole for the servo drill four holes on each corner where you want to put the servo, this is to allow the blade of the saw to be easily maneuverered, preventing finger loss.

Step 3: Arduino Mounting Holes

Picture of Arduino Mounting Holes
Slide11.JPG
The Arduino will be attached to the robot body using M3 screws and spacers so you will also mark where the mounting holes are on the Arduino so they can be drilled out. Once all of this has been done cut out the robot shape on a bandsaw, if you don’t have a bandsaw you can use a coping saw.

Step 4: Ultrasonic Mounting Bracket


Step 5: Drivetrain

If you would like to learn more about DC Motors and Servos and how to use them with Arduino watch my tutorial below:

Step 6: Checkpoint

Picture of Checkpoint
So far this is what my robot looks like.

Step 8: Wiring the Motor Driver

To learn more about the L293D Motor Driver Chip and how to use it with Arduino watch my tutorial below:

Step 11: Code

Here is some basic code to get you started. I strongly encourage you to edit it and make it better once you have learned how it works.
To make the use of the ultrasonic sensor easier I have used the new ping library.

Step 12: Finished!

Picture of Finished!

Upload the test code and that’s it! You have made your first robot!
1-40 of 59Next »
ChaitanyaS6 days ago

hey can we do this with the prototyping shield just by using bread board i have all other parts except prototyping shield

Yes i think it can be done with breadboard only

And which servos u r using ?

Can you clearly show the wiring.

Can I use the L293B Instead of the L293D ?,,

Yes, you can use L293B instead L293D and every L239x.

Can I use a arduino motor sheild rev3 for this robot

15jonesj made it!2 months ago

Nice. I cheated and used a DFRobot turtle chassis as I am onlly 13 and this is my first robot. Love the instructable.

IMG_2032.JPG

nice robot finally it works for me thanxs

Where can i buy the robot parts, because i am thinking of making a robot for computer engineering.

if your in america, try radioshack or adafruit, or if your here in Britain, you may want to go for maplin, proto pic or something like that. Apologies if your somewhere else.

robobot3112 made it!5 months ago

thanks for the awesome project . It was challenging but extremely informative.

expecting more awesome projects in the future.

IMG_1452[2].JPG
pabdullah7 months ago

Hello I am making a similar one but My Robot Isn't moving. I am using L293DNE motor driver and plugged all wires correctly but also its not moving. Are L293D and L293DNE Pin Functions same?

Probably yes. You could check it out.

gunnlaugursig made it!6 months ago

Thank you for this nice instructable. Made it using my tamiya twin motor gearbox and tank chassis. Learned a lot and lots of fun.

20140806_193724.jpg
Ryanj20009 months ago
If I want to change the PIN number for the servos what would I have to do with your code
super sam1 year ago
I love it
tannerg021 year ago
Unknown.jpeg
lluc11 year ago

Hi,

Just finished the bot, works nice with the sonic and distance ranging detection. Would it be possible to put the code for continous rotation here. It would help me a lot. Thanks in advance.

Luke

za_tbr1 year ago
All good i figured it out myself cheers.
za_tbr1 year ago
Hi. Just wondering if you could upload the code to use the servo motors. This will help me immensely as I can then compare to see what I am doing wrong . Cheers
plz send the codes without servo
If possible send the codes without servo motor.
McClay141 year ago
Put ur robots on the hardware hacking contest, u could get 3d printer stuff :D
rshinosuke1 year ago
Thanks for the tutorial...
that's awesome...

but i found a mistake your basic code with your video in tutorial 4,
"
#define LeftMotorForward 6
#define LeftMotorBackward 5
#define RightMotorForward 8
#define RightMotorBackward 9
"
in your video LeftMotorForward and Backward was 10 and 11

thanks
what is the use of this robot?
Real Abin1 year ago
how to build a Robot full detail
gabbas11 year ago
What Voltage do your motors run?

I got 2 3-6v DC Motors. If i power my motorshield with a 9V battery the motors are way to fast an start smelling..
chickenparmi (author)  gabbas11 year ago
Mine are actually 12V motors. A simple way to combat what you are having is to send a PWM wave to both the enable motor pins. This will essentially turn the motors off and on very quickly. You can do this with the analogWrite function. 255 being full on and 0 being off. Start off by sending a wave of 50% duty cycle (about 128), this will give you an average voltage of 4.5V. Also, I hope you aren't using a singular 9V battery, they do not have enough juice to power motors. I suggest getting a AA battery pack as they have much more juice and will run the motors safely.
@chikenparmi - I would like to ask the cost to build James. Thanks :)
chickenparmi (author)  katrinealbuera1 year ago
It really depends on how you want to do it. I would say maximum cost would be $100. That is the absolute maximum. It would more be around the $80 mark.
rudj001 year ago
I have encountered some problems, when I uploaded your codes
when it scan to the left and right it cant determine where will he go otherwise scan and scan repeatedly
chickenparmi (author)  rudj001 year ago
It's just one of those things. There could be a variety of factors why, such as power stability to the sensor, but it probably just is the fact that the code isn't all that great. The main thing I ask people to do is to learn the basics of what it does, then improve it. I'm by no means a programmer and everything I have learn't is self taught through trial and error.
Why are you using an h bridge for servos?
chickenparmi (author)  simplebotics1 year ago
I'm not. I'm saying there is two ways to do this, you can use cont. servos or DC motors (with an H-bridge). The idea is I encourage people to muck around with the design and make it their own.
hi chickenparmi
i am new to working with arduino and its programming. i had a problem programming the arduino. when i click verify it compiles and say's that

OAR:17: error: 'NewPing' does not name a type
OAR.ino: In function 'void scan()' :
OAR:124: error: 'sonar' was not declared in this scope
OAR:125: error: 'US_ROUNDTRIP_CM' was not declared in this scope

i like your instructable and i want to make it. please solve my problem.
chickenparmi (author)  sanjay satheesh1 year ago
Oh I'm so sorry! Thats completely my fault. I forgot to mention that you will need to download and install the newping library. All this library does it make it easier to use the ultrasonic sensor. Here is the link: http://playground.arduino.cc/Code/NewPing
And I will add it to the instructable also.
yuo dunot put code for png senzor in yo main code?
thanks
PipPipPia1 year ago
where did you find your L239D ? (also, is that the same thing as an integrated circut/motor driver ?) i can't find a 16 pin one anywhere online.
1-40 of 59Next »