A small note first. A lot of people come to this site by searching for ‘Arduino Robots’. There are some here, but I mainly work with MSP430 and ARM-based platforms now. Not because I don’t like Arduino, but because MSP430 is a bit cheaper and ARM typically is more powerful. Go through the site and look for stuff, and send me a message if you have a question. This particular page was probably my first blog page several years ago when I started this hobby. I have learnt a lot since then and had lots of fun. Click the relevant tags on top of this comment and you’ll find some good posts also about robots and other projects I’ve done using Arduino (or MSP430, which in most cases is very similar).
I came across Arduino some weeks ago (May 2010), and my electronic hobby was revived a little. This is an open source hardware and software project that aims to make development for microcontrollers accessible for more people. The development environment is simple but very powerful.
The hardware is based on Atmel Atmega328 and others, and has lots of additional hardware componets that can be easily plugged in, called ‘shields’. I did a lot of shopping on Sparkfun and have started some fun projects. I got the Arduino main board which connects to the computer with USB and is easily programmable, and the Lilypad which is a cool ‘wearable’ version. It turns out however that it’s really easy to use the chip on its own with a few other components, either on a bread board or soldered onto a prototype board. So I wish I had gotten more of these microcontrollers. You might still want to get the board for easy prototyping and programming, but for many projects you probably want to just use the chip and solder it onto a prototype or PCB board (use a socket so you can take it out and reprogram it using the main board).
I got the ScrewShield for prototyping with the main board, but there are other prototype boards as well that might be just as good. The shopping cart was the following:
- Arduino Main Board $29.95
- CMOS Camera – 1300×1040 $9.95 (turns out to be useless, as it’s a lot of work to get working)
- LilyPad Buzzer $7.95
- ScrewShield $9.95
- Motor Driver 1A Dual TB6612FNG $8.95
- Toy DC Motor with Leads $1.95 (these turned out to be really tiny!!! Not sure what to use them for.)
- Screw Terminals 3.5mm Pitch (2-Pin) $1.25
- Optical Detector / Phototransistor $1.13
- Dual Motor GearBox $10.95
- Toy Tires – Basic $4.95
- Ball Caster Plastic – 3/8″ $2.95
- 5V DC to DC Step Up – 2xAA $10.95
- LilyPad Arduino 328 Main Board $21.95
- FTDI Basic Breakout – 5V $14.95
- Tank Treads $7.95
- Compass Module – HMC6352 $34.95
- IR Receiver Breakout $9.95
- Ultrasonic Range Finder – Maxbotix LV-EZ1 $25.95
- Breadboard Mini Self-Adhesive Green $3.95
- Battery Holder 2xAA with Cover and Switch $1.50
- Battery Holder – 4xAA Cube $1.95
I later ordered some headers and more microcontrollers chips.
The first thing I built was this robot, using the Tamiya gearbox and tank treads. It was fun to build and fun to use. On the picture it has an infrared range sensor in front, which is ok, but it works better with the more expensive Maxbotic Ultrasound range finder. On the picture it has the speed controller on a prototype board, with pins going into the arduino main board under it, but I’m planning on making a separate prototype board with the Atmega328 also, avoiding the Arduino board, as it’s so easy and it becomes a lot smaller.
The kids really enjoyed this one. I’m planning on doing a bit more work on it. And, yes, that’s LEGO you see that it’s mounted on. So this has a huge potential as a diy / hack-your-own LEGO robot project base.
Back in university, we did a project called ‘Electronic Guide Dog for the Blind’, which was quite theoretical I always regretted we didn’t build something more concrete for. So I thought I could make a device for blind using a Ultrasonic Range Finder. There are commercial versions out there, but why buy one when you can build one. I’m not blind by the way, so why would I buy one anyway? Here’s the picture of an early prototype.
It’s quite easy to build. It’s built on a standard prototype board, and has the chip soldered onto it (with a socket). Then I’ve got a 16MHz resonator and some capacitors to remove noise. I’ve connected the range finder to power and one of the digital pins. The program runs in a loop and checks the length of the pulse, calculating the distance based on that. Check this page for a tutorial on the Arduino related bits. I’ve attached a buzzer to it, which beeps differently depending on distance to objects.
Some findings and comments are:
- The beep is no good. It should be a vibration instead. I’ve got the vibrator parts in the post and will test that also. The problem with the beep is that it’s too intrusive. Blind people need their hearing for other things, like orientation, hearing cars and people coming. It’s also not very nice to walk a trip in the forest and have this thing beep in your ear all the time, instead of hearing all the natural sounds that makes the trip worthwhile. Edit: I’ve now also tried with a vibrator and played around with that. I think that’s probably better.
- The range finder (LV-EZ1) has a too wide angle of range finding to be good for indoor use. You can’t walk properly through a door for example. Instead, I could have used the LV-EZ4, which has a narrower beam. The problem with that one is that it’s not soo good with small objects. So maybe a combination of these might be good. You could have two wider beam sensors on the side covering the sides and the front, while having a single narrower sensor in front. Then you could use the combination of these to give a sensible input to the blind on obstructions etc.
- It’s challenging to provide good feedback to the person, so that it doesn’t get annoying but still warns you of objects.
- It works ok when wearing in a head band.
- It could have been combined with a camera and some picture processing, face recognition etc, which would be cool.
- I bought the LilyPad for this, but I was disappointed that it was so large. The breadboard above actually takes up less space. They could have made the surface mount based Lilypad much smaller, which is annoying.
I might follow up with more projects on this. It’s a lot of fun. The technology opens up a lot of possibilities, but it’s coming up with the good ideas that is challenging. There are many sites and quite a large community on the internet building Arduino based components, so if you’re interested, it’s worth checking it out. Check out hacknmod.com for example.