Arduino
Wednesday, April 30th, 2008
This weekend, I attended a two-day workshop on the Arduino platform.
Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments. - Taken from the Arduino website
The Arduino platform is based around the Atmel ATmega168 chip and is very versatile. The Arduino diecimilia chip was the version we were using, it has 6 analog inputs and 14 digital pins for input or output, 6 of which support pulse width modulation. The workshop was arranged by tinker.it led by Nick Weldin and Brock Craft who were both very helpful with projects and explaining the intricacies of the platform and its programming environment. Also present was Alexandra Deschamps-Sonsino (personal site at designswarm) who was also a big help.
We began with an introduction to interaction design, how the platform evolved and the basic concepts of the hardware (sensors and outputs). From there, we looked at making the chip do what we wanted through programming. Beginning with simply flashing an LED. We moved on to reading if a pushbutton was pressed or not and then on to analog inputs and outputs. We looked at loop structure and other programming basics.
As we worked into the more complex functions available to us, we also learned the basic circuits that we would need. We learned how to calculate what size resistors need to be where, and why. We learned that switches needed to be grounded so that the background EM would not screw with our on/off readings and we learned many other useful things. I was very impressed by the quality of the workshop and feel that I learned a lot of valuable things. Which I would soon put to use.
During the second day we were mostly left to our own devices to pursue any projects that we might have. Whilst the leaders came around class and helped us out whenever we needed it. I focused on trying to get the data out of a wii nunchuck. The wii nunchuck contains two buttons, a joystick, and a three-axis accelerometer, making it a versatile input device that only requires two analog sockets. The nunchuck uses the I²C protocol to achieve this. After a couple of hours fiddling, with an Arduino library and some help from Alex. I finally managed to pull the data out. I was out of time before I could do anything with it, but it’s fairly easy to see that there is real potential in the system.
A highlight of the workshop was Brock’s brockenspiel. A fascinating look at what’s possible with the system with some imagination and a few extra bits and bobs.
The workshop was so good that when I got home I immediately looked at the upcoming events that were arranged by tinker.it. I plan to attend the interactive lighting workshop and wireless interactions workshop, which are both in association with not only tinker.it but also ARUP, as well as a one evening event on RFID using the arduino.
I expect to be posting details of my first project (a flash trigger) within the week.
EDIT: The flash trigger