I was inspired to do this project after going to Bonnaroo for the first time last year. The idea I had was to take a programmable belt kit, hook it up to an Arduino microcontroller and microphone and make a wearable VU meter.
Parts used for this project:
1 x digital programmable LED belt kit: http://www.adafruit.com/products/332 ($60)
1 x Arduino Duemilanove (no longer sold by Adafruit, new model is Arduino Uno R3): http://www.adafruit.com/products/50 ($30)
1 x Inex Robotics ZX-Sound detector board: http://www.robotshop.com/inex-sound-detector.html ($8)
The first step is to assemble the LED belt kit which means soldering the connector leads onto the end of the belt, programming the belt with the demo code from Adafruit and verifying the function of the belt. Instructions for this can be found here: http://www.ladyada.net/make/ledbelt/
When you’re done putting the belt together and running the demo code, you’ll have something that looks like this:
Note: the kit comes with an ATMega32u4 microcontroller, but I switched everything over to the Duemilanove after verifying the functionality of the belt. I did this for a few reasons, but the primary one was that the ATMega32u4 is annoying to program. Every time you want to update the code, you have to press the reset button shortly after hitting the compile button in the IDE. If you don’t do this correctly or your computer is slow, you can’t program the device. I was able to get this to work on a Macbook Pro, but my Windows XP machine did not play nice.
Once that is done, you will want to hook up the sound detector board to the Arduino. I connected the sound board to the Arduino (+5V, GND, analog input pin 0) with jumper cables, modified a simple analog input program that ships with the Arduino IDE to read the input from an analog pin and then display it out on the serial port. Once that function was verified I wrote a bit of code to do something useful with the readings coming from the sound detector board.
The first iteration of code just had the LEDs light up red and go from one end of the belt to the other with the volume detected by the microphone:
That worked, but why limit the belt to just red LEDs when it can do so many other colors? There was a bit of code in the Adafruit examples that demonstrated how to cycle the colors of the LEDs through as if going through a colorwheel. I modified that to cycle all the LEDs in a colorwheel instead of having the rainbow effect chase horizontally on the belt. This revision also included updating the VU meter code to start the VU meter in the center of the belt and go out towards the sides instead of going from one side to the other. That way, when the belt is worn it looks a bit better. With that code working, the belt was ready:
The finished Arduino code for this project can be found on Github here: http://github.com/Kabong/VUMeterBelt/blob/master/VUMeterBelt.pde
If you have any questions, comments or do something similar using this information please let me know, I’d love to see what you come up with!
- No documents for download.