Here’s a quick wrap up of the Interactive Cuddlefish project I worked on with artist AK Airways for the SXSW party at the Arthouse. This massive inflatable sculpture was connected to a big red button which would change the sequences of the LEDs blinking inside. It was a fun project, but not without its challenges. Details after the break.
The basic idea was to take this existing piece and add some interactivity to it. This being AK’s first attempt at interactivity in his work we decided it would be best to keep things simple: Press a button and the patterns of the blinking LEDs inside the piece change. Future implementations may involve hijacked DNS on smartphones and more of a group experience. Sparkfun has these great big red buttons that were perfect for the task. A quick lasercut box with an Arduino mounted inside and we were all set on hardware.
The next piece was to give AK a way to control how the different tubes of the cuddlefish would blink. I decided a drum machine type of sequencer would be ideal and would keep me from artificially influencing the message AK was trying to convey. I whipped up a quick Processing sketch which eventually became the controller for the whole project. Sequences are made of 32-step patterns with colors tweening between each active step. When in controller mode Sequence 0 repeats over and over until the button is pressed, after which a random Sequence 1-9 is played. It’s a simple effect, but random enough that people wonder about the mechanism behind the scenes. AK accentuated this by making most of the sequences very similar except for one, which when displayed made the button’s presser feel like they had activated something special.
The final piece was talking to the LED controller. The LEDs are controlled by a pretty standard controller that speaks DMX hooked up to a special board called a Leoplayer which plays back sequences saved on an SD card or sent live via UDP. I know very little about this board, it was custom made for Leo Villareal who donated one to the Cuddlefish piece. The protocol is very simple, a byte followed by 2^n bytes of LED values. The first byte I believe to be the controller domain, which in this case is 1. Each of the four tubes has a string of RGB LEDs, so we have 12 values plus 4 to round out the buffer. An early test verified my work, but when arriving in Austin it didn’t appear to work at all. It turns out the LED controllers can be chained together so that each one controls 32 LEDs for a possible total of 512. The address of the controller in the cuddlefish had been changed from 0 to 64, which AK used to select the part of the sequence he wanted to display from the stored one on the SD card. Rather than mess with that I increased the buffer and offset my output and we were in business.
A wifi router was added inside the sculpture so that an Ethernet cord wouldn’t have to be strung out to the laptop running the sequencer software. Unfortunately I didn’t have time to add wireless capability to the button itself and the laptop had to be stashed nearby. The result was less than desirable, my screen was somehow cracked amidst all the hoopla, but hopefully all will be well with some warranty action.
All in all it was a great project and a great SXSW. I’m looking forward to more interactivity fun with AK.