Monday, November 19, 2007

Arduino workshop 17-18 November

Massimo Banzi teaching All the students on the Creative Systems MSc participated in a great beginners' Arduino workshop led by Massimo Banzi and organized by Tinker.it. Massimo was an inspirational teacher and on the first day he covered the basics of using Arduino : digital and analog input and output and serial communication with other programs (such as Processing). Even more importantly he told us about his tinkering/rapid prototyping approach to designing and building interactive systems. We were all soon hooking up sensors to our laptops and driving LEDs (included in the price of the course was an Arduino board and a bag of electronic components). On the second day everybody worked on small projects ranging from hacking a Nintendo Wii nunchuk to generating music from barcodes.

George, Henry and Chris worked on an ambitious project to build a predator robot that would chase a prey robot. Rather than canibalise a remote control car they constructed everything from scratch, including the wheels (out of cardboard and gaffer tape). They managed to achieve a lot in a short time and with a few parts from the Autonomous Systems Lab at Sussex the robots should be charging around very soon.

Chris working on a predator robot Inspired by Massimo's Virtual Fish Tank, Jo worked on a circuit to identify objects by their colour using LEDs, a light sensor and a Quality Street box. The chocolates got eaten in order to provide filters for LEDs on the robots, apparently.

Jeremy worked on using a variety of sensors to drive Processing sketches. This involved cracking how to use serial communication and he can now link hardware to a wide range of programs, such as Flash and Max.

Jon's Piezo project I explored linking Piezo transducers to Processing. I hooked up 4 (there are 6 analog inputs on an Arduino board) and connected them to coffee cups and a plastic milk bottle (found on the street on the way to the train station). It was necessary to separate the sensors in this way as when they were all wired on a breadboard they interfered with each other - knocking one could also trigger a neighbouring sensor. Thanks to Alexandra Deschamps-Sonsino for soldering the wires onto the Piezos (and for organizing a great workshop) so that I could then tape them to objects.

The Piezos are very sensitive and return values in the range [0, 1023] - the trick involves putting a large resistor (one mega ohm) in parallel with the sensor. I am hoping to use the outputs generated by knocking/tapping the sensors to drive a wave simulation. At the workshop I got the serial communication between Arduino and Processing working fine - when I hit the cups or bottle a windowin the top left hand corner of my laptop screen changed colour (the colour indicating which object had been struck).

The aftermath of trying to build a robot in 3 hours It'll only take a little bit more coding to use the Piezo signals to drive waves (and their interactions) in Processing. I want to use these waves to perturb a neural network visualization that I coded in a previous project (Network).

Ultimately, I want to build a smallish network in hardware using a grid of LEDs which could be housed under glass or some diffusing material and perturbed by knocking the edge of the covering material - interactive coffee tables? The workshop has been an incredibly useful first few steps towards this. All the students have been inspired as well and I think one of the labs is going to become dedicated to physical computing projects. Skips are being searched for electronic junk as we speak.

1 comment:

Jon said...

Pictures taken by Alexandra Deschamps-Sonsino at the workshop can be seen on Flickr.