Introduction: RoverBluetooth: Arduino-based Bluetooth Car
RoverBluetooth is the name I gave to the Arduino-based Bluetoothcar I made for my school exam when I was only thirteen. I also showed it at Maker Faire Rome with a FabLab (and I was one of the youngest there)! It’s very easy to make (only a few low-cost electronic components and a Meccano pack) and to control, thanks to the Android app I programmed. It features full speed control, reverse gear, an ultrasonic sensor with parking sound and emergency brake, low-latency remote drive and a frontal light.
Project main page
Step 1: The App
I originally programmed the app with MIT App Inventor, but then I decided to write it from scratch using Android Studio. If you’re an Android beginner, I would recommend you using the original app (released in the App Inventor gallery), since it’s easier to program and to edit. Otherwise, the newer app can be found on GitHub.
Step 2: The Chassis
If you want to replicate mine, buy some Meccano packs, take a look at the pictures and start screwing! Pay attention to the steering wheel, that must have a connection to the servo motor, rotate without friction and without unscrewing! The main body shouldn’t flex too much and should be lightweight, while the Meccano motor must have enough reduction gears to be strong.
Step 3: The Circuit
- Bluetooth receiver (I used the BlueSMiRF Silver modem from Sparkfun, but you can also try the classic HC-06, that is cheaper)
- An Arduino UNO or similar
- H-bridge (I used a L6203)
- Ultrasonic sensor
- Servo motor (strong, with metal gears if possible)
- LED for frontal light
- 9V battery pack
- Double-sided matrix board
Note that the servo motor I used needs 6V, so I added an LM317 to the circuit. Feel free to remove it if your servo requires 5V. Be patient, pick a solderer and make your own Arduino shield!
Step 4: The Arduino Sketch
The small sketch receives the data, turns on and off the motor and checks the distance from a wall. RoverBluetooth receives data from the Bluetooth modem and associates numbers to commands. For example, “21” is interpreted as “turn off the motor”. Here’s the list:
- 0-20 → servo motor position
- 21 → motor off
- 22 → light on
- 23 → light off
- 1000-1255 → motor on, speed
- 1500-1755 → motor on, reverse gear, speed
Step 5: Enjoy!
Ready to drive the car?