Given the problems that I was having on using GIRC (Graphical Interface for Robotic Control) with RC toys, I decided to build my own Arduino-controlled servo-driven robot. Aside from the electronics, the body probably cost less than five dollars. A substantial savings over Arduino-compatible mobile platforms that can run fifty to over a hundred dollars!
It uses an Arduino Uno, which is powered during programming by the USB cable and during navigation by the nine volt battery, whose inputs go into Vin and GND (both on the left as seen here). Battery power is sufficient to drive both servos at half-speed from the 5v and GND. On the right, the servo control lines plug into pins 10 and 11.
Note that in the picture, the red power wire is not connect to Vin. That basically is the kludge for turning the robot off until I install a switch.
The wooden parts are glued together with ordinary Elmer’s white glue. I think the wood is balsa. I got the platform and the cubes from Michael’s Crafts. I wonder how many people shop for robot parts at an arts and crafts store. I’ve been wondering about using Lego parts instead. Perhaps a visit to the Lego Store is in order.
The wheels are simply the lids off potato chip containers. The containers cost $1.50 each, but the real cost (if you know what I mean) is that I felt obliged to eat the chips. Anyhow, the wheels turn okay but it looks like they need something to serve as nuts/washers. Perhaps pieces of cardboard would do.
This is the part that I’m least satisfied with. I just could not find an appropriate swiveling wheel despite an exhaustive search of Michael’s, the Goodwill toy section, and a hobby shop. I ended up using a wooden cube with a felt furniture ‘glider.’ How well does it work? Not very. It unbalances the turning depending on the friction of the surface and prevents the bot from moving on the carpet. I’ll keep looking for a pivoting wheel, which I have learned is called a ‘castor’ (also spelled ‘caster’).
This is the one component that required soldering. Each servo has a power and ground wire, but the Arduino has only one port each for them to go into. Thus I had to solder two ‘Y’ wire connectors on a perf board. I suspect I originally inserted the wires into the perf board the wrong way, but it still works.
I could have used a breadboard and probably will in future prototyping, but that would have added several more bucks to the overall robot cost, which I wanted to keep low here. Alternately, I was thinking of metal clips, but this seemed more secure. I’m sure there are a lot of ways to attach three wires together.
Well, there you have it. Wood, rubber bands, glue — truly a low cost, easy to assemble mobile robotics platform for the Arduino. Now if I can just get it to navigate accurately and be easily programmable from GIRC, I just might be on the way to building something that could be marketed on the internet as a kit.