In this project, I'll be outlining how I am able to control my ClearWalker strandbeest-style contraption via Bluetooth. The device uses two motors to control 8 legs and is steered in a similar manner to a tank, or a robot that steers with two wheels that go different speeds. These basic instructions should work for many types of vehicles with differential steering, like a tank or tractor. Check out the original Strandbeest here, or my ClearWalker YouTube playlist for more general build info.
(This article won't go over how to actually build one of these 'beests, as that would be more of a book!)
Step 1: Materials Needed:
To drive this vehicle, you'll need the following:
- (2) Planetary Gear Motors: Servocity
- (2) H-Bridge PWM Switches: Servocity
- (2) Battery Packs: Servocity
- (2) Tamiya Connectors: Servocity
- (1) PWM Speed Controller: Servocity or Monster Guts
- (1) Pkg Crimp Terminals: Servocity
- (1) Buck Voltage Converter: Amazon
- (1) Arduino Mega: Amazon
- (1) HC-06 Bluetooth Module: eBay
- Various Wires
Step 2: Wire Everything Up
As shown in the drawing above, the basic idea is to wire the HC-06 module into your Arduino board as a wireless serial port. From here, the Arduino will output PWM signals, making the H-Bridge relay circuit switch motors to go forwards, stop, or backwards. Switched power is provided by the battery packs, through a PWM controller to vary the leg speed, then via the relays to directly control the motors. This battery pack is also wired into a buck converter, which converts the voltage powering the motors into usable 5V power for the Arduino.
Step 3: Arduino Program
The Arduino will need to be set up to receive Bluetooth Commands, and in the included program the TX and RX are wired into pins 10 and 11. Motors are controlled as PWM "servo" devices, attached to pins 2 and 3.
Step 4: Smartphone Setup
Bluetooth control is surprisingly simple. To send characters, I first used a Bluetooth terminal program, then moved on to this Arduino Bluetooth Controller. With the second program, you can assign characters for buttons on a gaming-style controller, which your Arduino then translates into the appropriate outputs.
If you need more flexibility, something like the MIT App Inventor system should allow you to create an entirely custom controller, though I have yet to try it.
Step 5: Finish and Enjoy!
Once you've wired everything up and programmed it, you should be able to log onto the Bluetooth module via your smartphone and control your Clearwalker/tank/robot by varying the direction of the motors. Though this could be accomplished via a "traditional" R/C transmitter/receiver, having the Arduino allows for lots of flexibility, perhaps adding a head, tail, or lights, as I did to my robotic device.
You can see the whole story of this build via its YouTube series, or check out the video here for the electrical build/walking around at the beach.
Note that some parts for this build were provided by ServoCity, and that links to Amazon are affiliate. Also, if this looks familiar, I published it as "JeremySCook1," which obviously doesn't have the same ring to it!