Fun with Arduino
It’s 10 weeks since I took part in the Arduino and Physical Computing Workshop at Madlab and I’ve been meaning to post about it… and actually do something with it too.
Of course I’ve known of Arduino for quite some time…. Monomatic’s PEAL control system is built using one… but I’ve never actually played with one myself. Thanks to Dave Mee who ‘lent’ me his Arduino Duemilanove kit.
It was definitely an enjoyable day… and a good introduction to “Physical Computing – sensing and controlling the physical world with computers”. I had a productive time working through the Arduino examples and by the end of the day was bleeping away happily using the piezo speaker with the Melody and Pitch follower using the tone() function tutorials.
I was really impressed with the thoroughness of the Arduino website and the quality of the tutorials and supporting documentation – awesome. And I was genuinely surprised by how similar the Arduino IDE is to Processing… I hadn’t twigged that before.
So hmmm… what to build today?
Seeking inspiration I started browsing: Circuit Lake’s Arduino Category, arduino hacks at Hack a Day, Hack n Mod’s Top 40 Arduino Projects of the Web, the Arduino User Community projects and the Arduino Archive of Make Online… which turned up some intriguing ideas, such as Game controllers using USB host shield or PS3 and Wiimote Game Controllers on the Arduino Host Shield: Part 1.
I hadn’t quite appreciated that the functionality of the Arduino could be extended using ‘shields’ and this opened up even more interesting possibilities – e.g. the USB Host Shield for Arduino from Circuits@Home “adds USB Host capabilities to the popular Arduino platform” and according to hackaday.com “could bring a veritable explosion of mass storage, keyboard input and countless other peripheral options”.
Discovering this led me to Interfacing with Hardware at the Arduino: Playground – and after a bit more research I settled on some appealing Arduino projects I’d like to pursue:
- Arduino and DMX512 – particularly since I have an iColor FlexTM SLX – an affordable and versatile strand of 50 large, individually controllable, full-color LED nodes – and a PDS-60ca 12V – a versatile power/data supply compatible with both Ethernet and DMX controllers – to play with.
- the Arduino MIDI Library and various MIDI projects involving MIDI-out (sending midi data to another device) and MIDI-in (receiving and interpreting midi data with an Arduino).
- Peggy 2 – an open-source LED Pegboard project and its Arduino library
Though I was particularly taken with the idea of:
- a persistence of vision (POV) display.
A Make: search for POV display lists plenty of DIY and even commercial examples including: Hack a Day’s projects tagged persistence-of-vision, 2 sided POV toy, Wirelessly updatable POV and most notably ladyada.net’s MiniPOV v3 – available as a kit for $17.50 – and SpokePOV – “Persistence of Vision for your Bike!” – available as a kit for $37.50. Bicycle Wheel LED Video Displays – actually the commercial product MonkeyLectric Bike Wheel Light M133S – might provide a useful pre-made strip of 32 full-colour wide angle ultra-bright LEDs to hack for a test POV display?
But I’m specifically interested in using Arduino – and a Google search for arduino persistence of vision display lists specific projects including: Arduino Ceiling Fan LED Display – with a micro-controller based on the Arduino, AccPOV, MiniPOV with Accelerometer !!, persistence of vision with arduino, Arduino POV Prototype, Wireless POV! In Spanish. (and part 2 of the same article)… which I’m hoping will provide some useful reference and perhaps code examples.
The Arduino: Playground – Interfacing with Hardware has a section on ‘LED Lights and Displays’ – and most interesting here seems to be the Lightuino V2.0 by G Andrew Stone – with his blog effluvia of a scattered mind. “The Lightuino is an Arduino-compatible circuit board that lets you easily drive lots of LEDs. You’ve got 70 independent constant-current sink channels to play with, and can stack 3-4 LEDs in each channel. Version 3.0 drives LED matrices! You get 16 500mA source channels. When used in combination with the 70 sink channels you can drive 1120 LEDs in grids like 70×16 or 35×32. Version 3.0 also contains an IR universal remote receiver and an ambient light sensor to help control your projects.” Version 3.0 has just been released – the 20mhz option costs $60 – and the google code repository has a project summary, libraries and a wiki with code examples and instructions.
Browsing all things POV also led me to interesting creative development agencies and possible component suppliers – such as the various products and particularly the Interactive Ingredients from Eski and interesting projects such as the Lumen – a Shape Changing Display by Dr. Ivan Poupyrev – career researcher in interactive technologies and interface design.