Since Halloween is just around the corner we've built and published a few projects in order to give some ideas to the DIY costume-inclined folks. One is DIY Halloween RGB LED Kitty Ears and two is Halloween LED Witch Hat.
So for this third hack we started with an online-bought robot costume, but being a creative tech people, we couldn't resist making it better by using some brilliant LED strips that react to sound.
The dense LEDs (144 per meter) were used on the helmet. More spaced apart (30 per meter) were used on the arms. All of them drive from one Teensy receiving analog signal from the microphone located in the helmet. The microphone captures both the voice of the wearer and ambient sounds.
Here's what it looks like reacting to the music:
The idea was to attach two denser LED strips to the face mask guard and the rest to the arms of the costume. They both would react to ambient sound and light up depending on the frequency of sound. The helmet's strip would have the lower frequencies in the middle and the arms would have them start at the wrists.
The face mask guard took 52 LEDs per strip and arms got 25 LEDs per arm. These calculations are reflected in the code below.
For the arms, I divided each LED strip into two sections (since the costume itself had separate foam pieces for forearm and shoulder), and gave them their own battery. That allowed me to have a simple 2 pin connection for joining the arms to the helmet.
One problem when dealing with RGB Strips on wearables is that the solder pads are small and the wires break off too easily. I tried to minimize this by adhering a small wooden backing to the end of each strip. This acts like a cast and, when sealed with heat shrink, immobilizes the connections. I cut the supports on the laser cutter, but you can use anything. Popsicle sticks would work as well.
Here is the basic wiring diagram I used:
This code uses hardware support for FFT that's built into the Teensy. If you want to use a different processor, you will need to add a FFT library and modify the code accordingly.
I found some code online that was almost perfect for this project. Rather than reinventing the wheel, I reused that code, and modified it for my needs. Original credit has been left in the code.
With Halloween just around the corner, this costume should be a hit at any event.. I can't wait to wear it!
photo credit Lucky Shot (David Luckman)