I have been working on a Arduino Powered Robot that could be remote controlled. (I will continue to update this with more detail). The video below shows the prototype robot working via the remote control. This article will describe how I built the Robot, the materials used, and the program that controls it.
Materials List
This project was completed with materials ordered entirely from Adafruit.com. If your not familiar with them, check out their excellent tutorials and supplies for makers.
- Open Beam Kit and 4 Servo Mounts
- Arduino with breadboard and plastic mounting plate
- BoArduino with breadboard and FTDI Cable
- 2 Xbee Radios with Development board
- 4 Continuous Motion Servos
- 4 Servo Wheels
- Joystick with BreakOut Board
- Servo Extension Cables and Breadboard Wires
- 1 9 Volt Battery Pack and 1 Double A Battery Pack
The Remote Control
The remote is a BoArduino from Adafruit attached to a clear breadboard with an Analog Control Knob and a Xbee Series 1 transmitter. The wiring is pretty Simple for the remote. The control knob is wired to the analog pins on the BoArduino along with a +5V and a Ground wire. The Xbee is wired from the RX and TX pins to the Digital 3 and Digital 2 pins respectively along with a +5 and a ground wire. Some of the extra black wires in the picture hold my breadboard wires in place so they don’t pull loose and are not needed.
The Sketch below is the code for the remote. Feel free to download and modify it. Suggestions for improvement are also welcome.
The Wireless Robot
The robot is Arduino powered and Xbee controlled. A program waits for Xbee transmitted commands and then determines which of four continuous motion servos to actuate. The frame is composed of components from an Open Beam kit. The nice thing about Open Beam is that the plastic Arduino mounting plate slides into the sides of each beam. This creates a secure and easy electronics mount. Just place a beam of the appropriate length on each side and secure in place with the Open Beam corner brackets.
The picture below shows how everything is connected. The program expects the left side servos to be connected to Pin 4 and the right side servos to be connected to Pin 8. In the picture below, you can see that both servos on the left share the same +5v, ground, and control wire as do the servos of the right. Digital Pins 2 and 3 are connected to the Xbee pins to the TX and RX pins respectively.
The sketch below contains the program to control the robot via wireless commands received from the remote.
This is a work in progress. It was a fun little project and it is quite rewarding to create a remote controlled robot. I plan to add a remote control arm for simple tasks. What would you add to the robot? Thanks for reading. Good Luck building!
– Justin
Pingback: Arduino Powered Remote Control Robot « adafruit industries blog
Hello,
Neat little robot. Where you get the wheels from? Been trying to do a robot of my own and get stuck on wheels, shafts, mounting assembly stuff to the robot. Bought the older motor shield kit from adafruit with the 12v stepper motors.
Oh about what to add… My long term goal is to make a Dalek robot. So I would add a plunger and mixer arms and a wave shield so i can talk. The arms won’t be able to move a lot but was planning on using servos or solenoids to make them wiggle some.
Good day.
Thanks for the comment. The wheels are just round servo discs. I added a link to the materials list.
I actually have scrapped a few robot projects over the wheel/drive assembly. I tried erector sets and a few different things. I finally decided on Open Beam for the frame and servo mounts. They also have stepper and motor mounts. It’s a very easy to use system and works without issue. If you do anything similar, shoot me a picture for the blog.
Cheers,
Justin
Pingback: Community Corner: An All Adafruit Component Arduino Powered Remote Control Robot and Other Treats from this Week in Adafruit’s Community « adafruit industries blog
This is great!
Would you have the setting of the xbees? is this series 1 or 2?
If 1 do you have AT command to configure xbees?
Thank you. The Xbees used are Series 1. They are a basic configuration with the PANID being set the same on each unit. It helps to debug them if you have multiple cables, one for each Xbee. I plan on making a tutorial for this later but below is a basic example.
+++
ATID xxxx
ATMY x
ATWR