Introduction – just in case you haven’t renewed your geek card for the past year (decade?) Arduino is a term that refers to a microcontroller on a board that has certain hardware and software ‘shortcuts’ figured out. It was designed to be as plug and play as possible, and to lower the barrier to entry for people who want to let their computer interact with the physical world. The programming language is fairly simple and very well documented, and it is a matter of minutes between installing the software and uploading your first program! Like I usually do, there is an amazon store here in case you don’t want to read my witty banter.
arduino – the meat and potatoes of this whole shebang.
The cool thing about arduinos are that even if you already have one, you canalways find a use for another! You can set them up to ‘talk’ to each other. You can leave a project set up after finishing it, or be able to prototype multiple projects at the same time. Also, there are a wide array of shapes and sizes (and prices) of arduinos, and each one is suited for a different application.
You can start out with the ‘classic’ Duemilanove. It is the original form factor, and most of the shields are built to fit this one. This is a great one to use for prototyping, and if need be you can use a smaller board in your finished project. If this is your first arduino I would recommend getting the kit which includes jumper wires, a breadboard, some LEDs, resistors and a pushbutton. That way you can start making things blink as soon as you get it out of the box!
MEGA – The arduino mega is just like the Duemilanove except that it uses a bigger chip, is a bigger board, and has more inputs and outputs. Most of the code is portable across the two. If you have a project that needs more i/o’s than the smaller chips, then this is right up your alley!
Click the link to check out the good stuff!
Bare Bones Board / Really Bare Bones Board – These are two of the smaller arduinos out there. They were designed to be small and cheap! If you buy 5 of the RBBB, or 4 of the BBB you can get them for around $10 each. One thing to consider is that part of the cost savings is due to the fact that they don’t have a usb -> ttl chip on board. You need to buy a $13 wire to connect them to the computer for programming / communication, but you only need one unless your project needs to be tethered to your computer the whole time.
I could bore you with every single type of arduino out there, but those 4 cover the ground nicely. Lets move on to the fun stuff – things to hook up to the arduino!
ethernet / wifi / motor / danger
Shields are modules that plug into an arduino and enable additional functionality. The ethernet shield allows your arduino to connect to the net. The wifi shield does the same thing but wirelessly. The motor shield allows you to connect motors to your arduino without frying it. The danger shield? Well… it is a cool kit that has 3 sliders, a buzzer, a numeric LED, some buttons, and maybe a few other things. The danger shield seems like a really cool jumping off point for a LOT of cool projects.
Speaking of jumping off points – One really helpful shield is a prototyping shield. These give you a little bit of breadboard for you to build your circuits on, and they allow you the flexibility to make a few mistakes and rewire without resoldering. Here is a protoboard for the Duemilanove
, and here is one for the MEGA.
motors, servos – making things move!
The two main ways of making something move via an arduino is with motors and servos. A servo is like a motor that ‘knows’ where it is pointed. You can tell a servo to go to 90 degrees, and it will rotate there and stay there. The downside of servos is that they generally are not as fast as motors, and they can usually only rotate roughly 180 degrees. If you want to make a wheel for a racecar, use a motor. If you want to make an elbow for a robot – use a servo. Servos come in big and small, strong or light. They can be found for cheap on the low end, so it’s not a bad idea to get a few and see what you like / need.
Motors have a lot more options, as you can get fast little ones for rc cars, or big ones out of real cars. You need to spec a motor that your motor controller can handle. Read the instructions on your motor controller.
Note – motors generally will do bad things to an arduino if you connect them directly. It is highly recommended to get something like a motor shield
to do the dirty work of turning the motor on and off.
books – sometimes the internet goes away and I find myself out of reach of the google. Books provide valuable resources and are much easier to follow than a website when you are in the thick of a soldering session. These three give a good introduction to the programming techniques, and the hardware requirements of different projects. One other great benefit of a book is that ‘real’ bookmarks are much faster to find!
things to hack. robo dinosaur, rc car, cheap toys
This sections is going to require some out of the box thinking, but basically any kids toy that has servos or motors in it is good fodder for hacking. How do you know if it has servos or motors in it? If it moves! Try to find something that moves in multiple directions (i.e. arms, legs, and waist that bend/flex independently) and try to find it for cheap. Something like a cheap robot can be modified to have an arduino control it’s every move, OR you can simply rip it apart and get a bunch of good components!
The bottom line is if you have ever seen a toy that seemed cool, but the controller was bulky, or you wanted it to be able to move more/ slower/ faster – now you can!
There are a TON of other things that you might want to go along with your new arduino. See what interests you and go from there. The good news is that you don’t have to spend a lot of money on most things, you can either buy the components fairly cheaply online (don’t go to radio shack!) or you can find broken / discarded things to take apart and make better! There’s not really any wrong way to go about learning this, so find something you want to make and start on it! And once you do, post back here to let me know how it went!