Archives for the month of: June, 2015

The LEDs are really bright, which could be irritating. We need to see what the video feed looks like, but I’ve been thinking a bunch about how to spread the light from each pixel into a blurry blob. Or, even better, smear the light into a blob that somehow changes.

Earlier diffusers were either crappy looking or too heavy; I loved how the translucent rocks look, but they would be ridiculously heavy. Photo diffusion paper looks good, and so do sheets of HDPE cut out of shopping bags, but they’re flat and static.

What if we had HDPE bags crumpled on thin rods, like a trash skewer on a BBQ. With a diffuser on top, the bags would cast irregular and moving shadows on the top diffuser. Like this:

So my current idea is to drive say 10 rods, each with a stepper motor, with all the motors driven by a Pololu Maestro. We’ll probably control the Maestro with python (as in this example). An example of a full pytohn-on-Pi-Maestro-servo setup is here.

I don’t quite understand yet how to chain the motors to the rods. However, turning them slowly, and having them stop for long periods, might make the effect all the more interesting.

For the future: a python library to talk to the Pi’s GPIO pins is here.

My friend Wheat-Thin built a box for this version.

Wheat-Thin's box

I painted it white and taped six strands of 10 LEDs each to it.

Front of Mirror with LEDs

The signal and ground wires are soldered to the top of each strand, and 5v and ground to the bottom of each strip. The wiring is pretty simple.

Mirror wiringThe signal and ground wires from each strip go to the Fadecandy (FC, the board in the upper right on the white pad). I made a 6×2 wiring harness with female headers, and put an 8×2 male header on the FC for the connection. Power is supplied by the 8.4v NiCd batter on the bottom. All the grounds go to the ground bus on the black pad on the right.

Ground busThe bus is a piece of 1/2″ copper pipe smooshed flat with wires soldered to it. The pipe is secured to the box with 10 lbs double-sided tape on top of electrical tape which is on top of duct tape (electrical tape sticks to duct tape but not to wood; the duct tape sticks to wood).

Power runs up the left to an on/off switch, then to a 7A voltage regulator (on the white pad, center left). A voltage monitor is attached to the regulator’s Vin headers to keep track of the battery’s power. 5v comes out of the regulator to the power bus (on the red pad). The 5v and ground wires from the LED strands are attached to the buses. It kind of works.

A couple of notes: the diffuser is just a sheet of grocery bag HDPE I’ve taped over the LEDs. I’ve set the LEDs to use a max of 50% of their power, and they’re still much too bright.

Lots remains to be done: the camera needs to be attached, configured, and understood; the Raspberry Pi needs to be mounted and powered from the battery (not simple, needs another board); the software needs to do something comprehensible (maybe I can figure out the python stuff?); and we need to come up with a better diffuser than this piece of plastic.

However, lots has been accomplished. I’ve figured out to make buses out of copper (and that will handle the load) for the production version. I’m starting to get a better sense of what the diffusion needs to do. I understand a little more about the Fadecandy server configuration (the explanation at Adafruit is the best).

This year’s theme at Burning Man is “Carnival of Mirrors.” I thought: I can build a mirror. These are my first steps.

I was inspired first by the combination of two projects. First is Adafruit’s 1500 pixel blinky curtain. This massive number of pixels are made manageable by the Fadecandy board. From the inventor’s page (linked left): “The Fadecandy Controller hardware drives up to 512 LEDs, arranged as 8 logical strips of up to 64 LEDs each. It connects to a laptop, Raspberry Pi, or other embedded computer over USB.”

Image by Micah Elizabeth Scott

Image by Micah Elizabeth Scott

The next inspiration is a piece I’ve seen online (and lost) of a camera + Raspberry Pi + LED array mirror. Apparently there’s also one at the Exploratorium but I haven’t seen it.

The idea is to feed a video camera’s image to a big LED array (perhaps 50×30 pixels) so that the participant’s image is reflected in a highly pixelated, mediated version. Lots of diffusion, no visible pixels; this is the post-pixel era. The Fadecandy drives new-style Adafruit LED strips.

First, a brief review of blinky tech evolution. Once upon a time, LED strips had two leads, one for clock and one for data. The new style strips have only one lead for data. This is better, but that means that the first prototype is Arduino-based, not Fadecandy-based. I had a bunch of the old style strips around, so I cut them into 6-pixel lengths, and made this.

Mirror-proto1-1-1

All the usual pieces are there: a voltage regulator, a power bus (on the breadboard), an Arduino Mega, and lots of poxy soldering. On top I added a diffuser made of translucent rocks.

Ok, that’s the basic idea. I have a lot more work to do on the diffuser. Diffusion paper? Rag vellum? HDPE? Not solved yet.

The next step is to test the Fadecandy. This was way, way easier than I expected:

The Adafruit tutorial on Fadecandy, the Fadecandy server, and the Processing language make this essentially trivial. Next up: a 10×6 array connected to the Fadecandy, in a proper frame, integrating the camera and Pi, and better diffusers.