I’ve been reading quite a lot about Arduino & open source hardware recently and managed to build my first robot! Since I learned quite a bit in the process I wanted to share the experience.
I approached the building in a few stages;
- Assemble the chassis
- Program the Ultrasonic Range Finder
- Program the Monster Moto Shield
- Combine the above three steps!
Assemble the chassis
Assembling the chassis was quite simple. Most of the pieces simply screw together although I had a bit of fun trying to get the motor mounts to snap in place. They were a bit tight but managed to fit so if you experience the same then you should get there eventually.
Programming the Ultrasonic Range Finder
This part was fun and my first experience doing something more interesting with an Arduino beyond blinking a LED. I used a breadboard and experimented getting the range finder working in isolation. This is generally a good way to approach building anything, as once the range finder was working I knew that code was fine and could go onto the next step.
Before moving on, I made one simple mod to the basic range finder sample, and that was to add a feedback LED so I could see when the robot detected something in front of it. Not needed, but good for debugging.
In the picture below you may notice an Ethernet Shield, this is not needed and was simply part of my test environment.
Assemble & Program the Motor Shield
This is the part of the project was the most challenging. I made a few mistakes but got there in the end.
First of all I could have probably gotten away with just using the cheaper Ardumoto – Motor Driver Shield rather than the Monster Moto Shield but after watching the demo video on the Sparkfun site and viewing some images, it appeared that that was the recommended controller and being new, I wanted to make sure things worked.
The blue screw terminals shown on the board below are not supplied so you’ll need to purchase and solder these on as well as the risers (not shown below) so it mounts on the Arduino board. If you are new to soldering (or a bit rusty as I was) you may want to practice on something else before burning out a $80 board. For this I used a different cheap Arduino shield to practice on.
My last hurdle was powering up the motors. I made the mistake of thinking that the motors would be powered via the base Arduino power source and spent a few hours scratching my head trying to work out why the motors wouldn’t start even though the board had lit up. I emailed SparkFun tech support and they quickly set me straight (thanks Michelle!) and advised that I’d need an additional power supply even though one was not shown in the photos. I connected a second power supply and voila! We have movement!
Putting it all together.
All that was left now was to combine the 3 stages above. Merging Arduino code, putting the sensors on the robot chassis and start testing it out. This part was smooth sailing and after a couple of trial runs and tweaks to the code, I’m quite happy with the results.
Here is a video of the completed robot
If you are interested in building something similar, here is the final Arduino code I used
Now comes the hard part.. what to build next? Stay tuned…