Sunday, 13 March 2011

Beginner's Arduino @ Madlab

Yesterday I was lucky enough to attend an introductory Arduino course at Madlab in Manchester. I've been wanting to get into this stuff for a while now, so when the course came up I jumped at the chance to get stuck in.

Madlab itself is an awesome space, somehow I managed to completely pass it by and not attend anything there until yesterday. What they're doing is a really good thing: creating a proper grass-roots creative space for the whole city to use. Next time they need volunteers for things (I've seen them put a few calls out in the past), I'll definitely be getting stuck into helping them out, it's a great place run by great folks. The Omniversity programme reflects this too, offering a really diverse range of training at an amazing price: the Arduino course was £120 for a whole day's training, and I came out with an Uno board and a loads of bits. Bargain.

Anyway, Arduino is an open-source hardware platform that lends itself really well to experimentation and prototyping. It's cheap, really easy to get into, and allows programmers to screw around with electronics pretty quickly without requiring a shitload of prior knowledge. It seems like a logical progression for me: I know Flash inside out, and I do a little Processing, I love to experiment, and I'm too old for Lego. The Arduino platform fits my requirements pretty much perfectly then.

Within a few minutes we'd connected the boards via USB and got them up and running. The Arduino language is very similar to Processing, in fact the environment is almost identical. The main difference to Processing is the fact that once you've finished writing your code in Arduino, you can hit 'upload' and send everything to the physical board. The whole process was far easier than I was expecting, and the satisfaction of seeing your code controlling physical components for the first time is absolutely immense. Even just wiring up a couple of LED's and a potentiometer and making it work properly gave me a real sense of 'I made this! With my hands!'. We kept connected via USB for these lessons, but once the code is uploaded to the chip's memory you can hook up a 9v battery or even an AC adaptor. Very flexible.

The physical components themselves are wired to a breadboard, which is none-permanent (i.e. not soldered in). This means you can screw around with things all day and re-use everything. Of course, if you wanted to make something permanent you could easily transfer your hardware to a smaller Arduino and solder it all in, no problem. At the moment my interest is in experimentation, so the Uno fits the bill great.

Once we'd gotten the basics down, everything else followed really quickly. The group was quite small, and we were all kind of the same level, so things moved pretty swiftly. The course materials were great too, we got printed versions of all the board layouts, along with all the stuff digitally too. The projects themselves were great, each one introduced a new idea or concept or component, but in a way that really wanted you to keep messing around and pushing it further. The highlight for me was getting wiring up a potentiometer and a light sensor to act as a makeshift theremin, incredibly geeky but very cool.

So, next steps? I ordered a basic starter kit from Oomlout that has more stuff to play around with, and my priority objective is to get my hardware talking to Flash, probably using something like AS3glue. Once that's down, the possibilities are absolutely endless: I love the idea of controlling my Flash games with accelerometers and light sensors and generally going nuts with the tech.

Overall it was a great day. If you're even remotely interested in this stuff, you have got to check Arduino out. I feel like this is definitely just the beginning of some serious nerd-fu.

No comments:

Post a Comment