I’m flying with fellow Plug-in Media colleagues Juliet and Sarah to New York on Tuesday to meet with clients that I’m not sure I’m allowed to talk about… but we’re producing some cool Flash 3D for a massive US sports company… seriously exciting work so watch this space for more details.
And I’m taking the opportunity to meet up with my good friends (and the inspiration for FlashBrighton) at FlashCodersNY where I’ll be sharing my new found love of the Arduino.
My good friend and FlashBrighton veteran Jo Summers has been enthusing at me for some time about the Arduino boards. And I just knew that as soon as I started playing with one, I would get obsessed, so I’ve been putting it off for a while.
I knew you could use Arduinos to interface with the computer, and Flash. But what I didn’t quite register was that you could program these little chips independently of the computer! Once you program them, you can disconnect them and (as long as you give them a power supply) they will continue to do exactly what you want them to do! So actually I haven’t done any work getting them working with Flash at all, I’ve been much more interested in getting them to work independently.
And 2 weeks later, in true predictable seb-style, I’ve made a particle system on the Arduino. I know. I’m sorry.
I love LEDs, or light emitting diodes. You know the little red lights you get in stuff? Ever since I started playing with electronics as a kid – my dad was a physics lecturer and he used to bring home components for me to play with. So naturally the first thing I started playing with was LEDs.
But the arduino only has 13 outputs, so you can only control 13 LEDs? Well that’s cool, but it’s not cool enough. So I started looking into alternatives. And I discovered Charlieplexing! You can read all about charlieplexing here on the instructables site – it’s a complicated way of wiring LEDs that enables you to control many with few connections, and with only 6 outputs, you can control 30 LEDs!
The only real trick here is that I’m working internally with a much higher resolution that the actual 8×8 grid, and then rounding to the nearest pixel when displaying each particle. This gives a really smooth movement. I’m only actually lighting one LED per particle but due to the Persistence of Vision (POV) effect it looks like there are more. And the final trick is to add a diffuser. It’s kinda like a hardware blur filter 🙂 It really tricks the eye into seeing the separate particles.