We will first remove all existing circuitry from the old toy and prepare it for its new brains. Then we will install the Arduino, motor-controller, and bluetooth adapter onto the top of the frame and wire everything up. Lastly, there are a few steps to complete on your computer to pair it with the bluetooth adapter on the robot. The building process is simple and straightforward, using hot-glue to secure each circuit board - which is easily removable later if desired.
To control this bot, I have assigned several keys on the keyboard to carry out various movements from the robot’s motors. By opening a terminal after pairing the Bluetooth-bot to your computer, you can send serial commands by pressing the “i” (forward), “j” (left), “k” (reverse), and “l” (right) keys to command the bot in any direction.
Here is a short video of the bluetooth-bot in action:
All parts can be purchased at Sparkfun.com, and the motor-controller can either be purchased as a shield (Ardu-moto shield), or built from scratch using the provided PCB layout files. You can download any of the files needed for this project (code and PCB files) from here:
https://sites.google.com/site/arduinorobotics/arduino-robotics/free_project
Tools needed:
- wire stripper/snips
- soldering iron
- small screwdriver
- hot-glue gun
Parts list:
- Arduino
- L298N motor-driver PCB or Ardumoto shield
- Bluetooth Mate Gold (or silver)
- wire
- old R/C toy with working motors (everything else will be scrapped)
This project was left over from my new book titled “Arduino Robotics” from Apress publishing. I decided to add it online for anyone to build. If you like this and want to see more Arduino based projects like it (including the Lawnbot400, ridable Seg-bot, GPS guided robo-boat, and many more), check out the book webpage:
Arduino Robtics
You can also check out some other projects that I have posted online at my website.
Remove these ads by
Signing UpStep 1: Toy brain surgery
First, strip the R/C car you got from the thrift-store, of all its electronic guts. This includes the motor-controller, R/C crystal, and any other PCB's installed. We will only need two wires to each motor and a set of wires to the battery compartment. The code for this project is intended for use with a "tank-steer" type robot, utilizing one motor on each side of the robot, like a tank. With bi-directional control of each motor, we can turn the robot in a circle without moving forward or reverse (called a "zero-turn radius"). This type of control is extremely effective, especially at slower speeds.
Note: You do not have to have find a toy vehicle with tank tracks, there are many R/C toys at the thrift-store that have wheels, but utilize tank steering - just make sure your vehicle has a drive motor installed on each side. I was able to find several "tracked" tank-steering vehicles at my local thrift-store, with regular visits and a few months time.
Once you remove the old electronic circuits from the toy, we will need a place to mount the Arduino board, the motor-controller PCB, and the small Bluetooth adapter (we will use the battery compartment built in to the toy). If you use an Ardumoto shield for the Arduino, you will only need a place to mount the Arduino. I used a hot-glue gun to add a small blob of glue to the top of the toy base - then mount the Arduino. Using low-temp glue will keep the Arduino securely attached, but also allow you to remove it later without damage if desired.
I designed a small PCB that uses an L298N dual motor driver IC to control (2) DC motors in either direction and with full speed control. The PCB files were created using the freeware version of Eagle CAD and can be used to build your own motor-controller. If you would not like to build your own PCB, you can buy the Ardumoto motor-controller from Sparkfun.com which uses a surface mount version of the same L298N IC (control pin reassignment may be required in the code).
Download the Eagle files for the L298N motor-controller and code for this project here:
https://sites.google.com/site/arduinorobotics/arduino-robotics/free_project








































Visit Our Store »
Go Pro Today »




tthe manner in which you are controlling the bot, the same manner i want to apply.. as long as the user presses i,j,k,l.. the bot should perform the same action.
the user must not press enter to feed the instructions for directions.
will this program also work over using xbee??
also how to give continuous input for direction control without pressing enter.. pls help.. need it for project.
thnx
what method of control are you going for? I assume you would like to press forward once and let it go forward until you press another button?
Can it work with Windows, You said that the video will explain connecting it to your PC, But it only shows using Ubuntu...
Nolan5683 asked an interesting question... Is it possible?
Thanx!
I am kind of new to the robot-building-scene, but I really want to give it a try. So I want to apologize in advance for the dumb question.
But I still have one thing that I don't understand and I was hoping someone could help me out here.
Wouldn't you have to have a (java) program running on your pc in order to send the commands to the bot? or in other words, how does your pc send the info to your bluetooth transmitter?
thanks to anyone willing to help!!
thanks in advance
akinich
but i bought one of that cheap usb dongles already !i thought that i can hack to use with my arduino but it works with usb well some people say that the chip has serial connection somewhere but it is hard coz wen i looked up the website they say the chip does not exist i checked a lot of times but no use!!
so could please find a website or a way to hack those things so that i can use it with my arduino but i cannot afford to buy one usb host shield and i got an arduino uno which has a atmega8u2 which can act as a usb host but i donno how to do it as (im 13, and i dont know wat to do not femiliar with these) so i want help anyone????????????????????
One bluetooth dongle will do you no good here. As with any wireless radio connection, you need both a transmitter and a receiver to make a connection... If you cannot afford a bluetooth receiver, maybe you should try to use a less-expensive wireless connection, like Infrared.
You can use an old TV remote to send IR signals to an IR receiver (found in an old TV, VCR, or about $4 from Radio Shack), to decode the signals from the tv remote on your Arduino, then make a different movement for each button. I will post some code for this soon.
The cheap bluetooth dongle that you speak of, is used to plug into the computer to act as the other end of the serial link. It will send and receive bluetooth signals from the Bluetooth adapter (connected to the Arduino), just like a cell phone or hands-free headset would.
The Bluetooth Mate Gold is a bit on the pricey side, but any bluetooth serial adapter (that has rx and tx pins) should work.... some people have found units on Ebay for under $20.
I've been building a bluetooth controlled tank and been having lots of problems with my bluetooth connection dropping out (using processing and OSC)
I'm using an ebay purchased bluetooth module (hong kong special) maybe thats my problem?
Anyway i might give your method a go looks very intuitive. thanks!
checkout my work in progress: http://www.taphill.com/taphill-tank
http://www.cdrummond.qc.ca/cegep/informat/Professeurs/Alain/files/ascii.htm
You need to change the values of i,j,k, and l, in the arduino code to 119 for w, 97 for a, 115 for s, and 100 for d.
cheers,
jd
help please what all this in Windows
http://cgi.ebay.com/Bluetooth-Transceiver-Module-RS232-TTL-backplane-/390291743909?pt=LH_DefaultDomain_2&hash=item5adf3364a5
(My computer does have a bluetooth receiver 300 meters range)
Awaiting your reply...
This is a really cool instructable
I would love to make this...and I guess i will...