Instructables
Picture of Arduino controlled Bluetooth-bot
blue.JPG
blue2.JPG
This instructable will show you how to convert an old toy R/C car from the thrift-store ($1.50) into a bluetooth controlled robot. To make the conversion, you will need an Arduino (any type), an L298N dual 2-amp motor-controller (or similar), and a bluetooth serial adapter from Sparkfun.com.

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:

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 adsRemove these ads by Signing Up
1-40 of 45Next »
yanz672 months ago

Hi. This is a great instructable. I have one question. How do you power the power shield, motors and arduino. Do you use one 12 volt battery and connected in parallel to the arduino and shield or it is two separate power sources?

Thanks!

johndavid400 (author)  yanz672 months ago
(removed by author or community request)

Thank you for the reply. Just to clarify. Are you connecting the L298 and arduino in series to the batteries? I bought a L298 driver board that has a 5v regulated output. Do you think it is a good idea to use it to power arduino and i will have a bluetooth shield on top of it? I read that arduino requires more then 5v connected to Vin. I guess when you connect it with usb then it only gets 5v anyway.

I am just starting out in electronics :)

Have a good day!

Yan

johndavid400 (author)  yanz672 months ago

Yes, you can power the Arduino with 5v, but I would not use the regulated output from the L298 driver... I would connect the full battery power to both the L298 VIN and the Arduino VIN pins. The Arduino can accept up to 12v at the VIN pin (between the two GND pins and A0 pin) and it will regulate down to 5v from there. If you power the Arduino with a regulated 5v output, it will work but you will only have as much current available as the L298 regulator will support (probably 1amp).

As a sidenote, you should not power the Arduino by connecting a power source to the 5v pin (regulated or not), as the 5v pin on the Arduino is on the regulated side of its internal regulator... always power it via the VIN pin with a source from 5v to 12v unregulated.

Poppy Ann4 months ago

good instructable, you could use one of these:-

http://www.ebay.co.uk/itm/111202844111?ssPageName=...

this saves using a arduino plus a motor controler.

also why not use the arrow keys on the keyboard (easier to remember) or a android phone.

robot controler.JPG
johndavid400 (author)  Poppy Ann2 months ago

sure, I have played with Dagu and it should be sufficient as long as your motors don't require more than 1amp. It would definitely work on the toy tank that I bought... and should work on most toys.

Also, you can map the controls to any keys you want... though all keyboards have I, J, K, L, so I just used those. Most keyboards have up/down arrows, so that should work just fine. You would just need to open the serial monitor and see what code is sent across when you press those keys.

You can also use an android phone, but at the time of writing this, I didn't have an android that would allow me to pair to the bluetooth module... might try this with my newer phone.

fswan8 months ago

hey mate

was wondering, is this usable on windows at all??I have all the components but I'm not sure how to control it

love the project

eagerly awaiting your reply :)

443899 months ago
Can you use the arduino motor shield? Instead of the L293D
robotteen1 year ago
will this work with the arduino app for like apple or android devices
us2410981 year ago
Yeah does the same code work for L293D? please answer.
us2410981 year ago
Yeah does the same code work for L293D? please answer.
sir does the same code works for the L293D motor driver Ic ??
ksharma101 year ago
sorry for the late reply,
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.
ksharma101 year ago
hye
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
johndavid400 (author)  ksharma101 year ago
sure it will work over xbee, just without the pairing process used with the bluetooth... xbee is actually far easier to set up and has a far better range, but is more expensive to buy 2 xbee radios than one bluetooth adapter and a bluetooth module.

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?
Is there a way to use a PS3 controller (bluetooth) to control the robot? It would make it a lot easier to control the robot using a hand held controller rather than a keyboard. Please let me know.
adagio152 years ago
Hiya!
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!
something12 years ago
How did you make the motors run as long as you pressed the button. And what terminal did you use.
can you give me the componets list for the motor controller i can't find the list anywhere,even in the arduino robotics book please
R. Butch2 years ago
I am new to all this Arduino business and I have no idea what you are really talking about. Is t possible to do this kind of thing, but putting the programming on a Macintosh MacBook. If it is, please tell me!
niceguy9602 years ago
Hi,

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!!
DirtyMex2 years ago
would this work the same if it were a "walking" instead of a "driving" bot?
can you please tell me whare to connect bluetooth mate gold.if i am using Sparkfun Ardumoto shield.please tell me
David972 years ago
Hi there, I am trying to build a rc tank with the lawnbots cade, What are the en1 and en2 connections for?
dude443892 years ago
im having trouble getting my bluetooth bot to work can please send a more detailed list of instructions so i can get mine to work I used a(n) arduino uno, bluetooth mate silver and a motor shield please respond soon
David972 years ago
Is that the linus line bot in tthe pics?
nick0032 years ago
where do you get the tracks from
akinich2 years ago
hey is it possible to do this with a ps3 controller without the computer at all?
thanks in advance
akinich
francisroan3 years ago
hey wat u said i perfetly coorect we cannot connect the dongle to the arduino...but we can make a usb host shield do u have any idea to make and the atmega8u2 i thought that can act as a host!!!???
francisroan3 years ago
hey thanks anyway!!!
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????????????????????
johndavid400 (author)  francisroan3 years ago
when you say cheap usb dongle... do you mean the type that plugs into your computer via USB? If so, there is no way to connect to your arduino unless you have another bluetooth adapter for the first one to talk to.

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.
francisroan3 years ago
hey u said that in the pic those cheap bluetooth dongle will work so how will i interferce that dongle with the arduino???any help??
johndavid400 (author)  francisroan3 years ago
You must use a bluetooth serial adapter (like the Bluetooth Mate Gold or similar) to act as a wireless serial link - this will connect to pins 0 and 1 of the Arduino (the rx and tx pins). You would need to connect the rx pin of Arduino (pin 0) to the tx pin of the bluetooth adapter - and the tx pin of the Arduino to the rx pin of the adapter. Then power the bluetooth adapter using the +5v and GND from the Arduino. Total, you will need 4 jumper wires to make the connections.

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.
Philtho3 years ago
Do you happen to remember the name of this RC toy? The tracked chassis looks fantastic. It is exactly what I've been looking for to mate to an Arduino set up.

joy stick lol and camera = RCXD
What is it with everyone calling a remotely controlled vehicle and RCXD?! this is just half of what the RCXD is. IT DOES NOT EXPLODE!!! RCXD = Remotely Controlled Explosive Device.
RCNXD = remote controled NON exploding device
Excellent post!

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
I have a question, how do I change the keyboard controls from what you've set them to a W.A.S.D. (W = Up, A = Left, S = Down, D = Right) configuration?
johndavid400 (author)  Dominion-Network3 years ago
check out this page:
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
1-40 of 45Next »