anthrolume

Experiments in wearable electronic art.


Leave a comment

XBee goodness, remote development redux

Remove development rig

Remote development rig

I’m rapidly approaching the point where I will have the electronics for Anthrolume 2.0 completely prototyped. At that point I’ll be good to go for creating the more-or-less-permanent Mega Shield that will hold all the electronics for the production suit, and I’ll feel good about mounting the LEDs in the suit itself.

Console

Console

One of the last bits is getting the XBee radio to work. The XBee is how my suit will synchronize itself with other members of my Burning Man camp (Prismaticamp), as well as providing a mechanism for controlling the suit from a hacked Android phone.

I’ve got a business trip this week, but I still want to be able to hack the code for Anthrolume while I’m away. I’m sure not going to take the electronics with me (try explaining that to a TSA guy). So I’ve set up the next best thing – remote development using Radmin (a remote administration tool) and a webcam.

The image above shows the setup. Note the webcam at the top looking down onto the Arduino, breadboard, and all 250 LEDs. I remotely control my studio development machine that is connected to the Anthrolume computer via USB. I can send commands to the suit computer using a serial terminal. This allows me to run animations or perform other interactive tasks. I can see the results by watching the webcam on the remote machine. While Byzantine, it is remarkably effective. Below is the image from the webcam’s perspective.

Webcam View

Webcam view

Advertisements


Leave a comment

Background animations working!

Part of the beauty of Anthrolume 2.0 is that I don’t have to write everything from scratch. This time around I get to reuse gobs of code from Anthrolume 1.0. I pulled in a bunch of stuff, and now the following pieces from Anthrolume 1.0 are working with the 2.0 setup:

Used as-is

  • TimedTaskManager – poor man’s threading – handles animation and all background tasks
  • Keypad – class that handles interaction with the SparkFun Wearable Keypad
  • Beats – the flywheeling beat-per-minute counter that synchronizes my animations with music
  • ModeLEDs – the class that handles the three Mode LEDs on the CPU box.

Adapted

  • Anthrolume – the application class that implements the serial console and ties everything together
  • BlinkM – kept the RGB class from this library, but dropped the rest because I’m using a different kind of LED this time

New

  • Strand – a new class that drives the CoolNeon LED strand. This class also handles SD-card I/O, and the APIs of my old Animations and Animation classes.

The great part is that as of tonight, all this stuff is working. Huge leverage – without much work, I had animation with time-scheduled frames and musical-tempo animation synchronization – tasks that took me months to implement on the first suit. Part of this is due to discipline on my part, but lots of it is because I’m standing on the shoulders of giants, using great libraries like Flash, DigitalWriteFast, and SD.

Here’s the test rig using the new (and superior) Adafruit micro-SD breakout board.

Rig with new Adafruit microSD card reader

Test rig with 50 LEDs and new Adafruit microSD card reader