Audio Controlled Party Lights

[Thibault Brevet] wanted his own party lighting that pulsed and faded along with the tunes. He ended up building a system based on an Arduino and a PC running Processing. The output from a mixing board is fed into a PC and measured by the Processing script. From there, the calculated light levels are sent to the Arduino to address the LEDs via the control board seen above. [Thibault] built four LED modules that each have two 4-channel LEDs (red, green, blue, white) separated by a few feet. This means 32 PWM signals are necessary to drive the system. To get there, he utilized a pair of TLC5940 16-channel PWM chips, which function like cascading shift registers but have some fantastic current limiting and dot correction features. Take a look at the demo after the break to see what he’s accomplished.

The TLC5940 is a popular choice for driving RGB LEDs, and would be a nice part to use if you decide to make yourself a Ping Pong LED Wall.

[vimeo=http://vimeo.com/17200281]

15 thoughts on “Audio Controlled Party Lights

  1. Very cool, and good work. But i’d like to see the need for the computer removed in a future version.

    You’ve offloaded the PWM to dedicated chips, and the audio processing to a computer, what’s left for the Arduino to do? Just translating?

  2. I did something similar with my RGB Fan Controller, used a Processing script to flash the LED’s to music. Using a 20MHz ATMega168 and interrupts I was also able to get 24 channels of 256-level software PWM out of 3 basic shift registers chained together to drive 8 RGB LED’s. I may have to look at this Processing script because the LED fading looks much nicer than what I was getting.

  3. hello!

    well i had some issues with the signal level coming out from the mixer so i had to use my external soundcard and first adjust the input level in Ableton Live, which was then sent to Soundflower (Minim on Macs doesnt let you use the line input of the computer, only the mic so i had to trick it with Soundflower)

    My point for the future would be a standalone system with only an audio jack input and the animations entirely done micro-controller side. But for now it’s super easy that way to write new animations in the processing script on the computer (strobos effect, lock only one pure color.. whatever, triggered through a key pressed on the keyboard)

  4. the tlc5940s use a serial interface but its not i2c. and they need a few other lines to control the pwm clocking and resetting. kudos for getting that figured out. why not a max7313 instead?

Leave a Reply to fluidicCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.