I already implemented a color organ with 4 leds. You plug a music input and it turns on the leds as the music goes (one led for bass, other for mid-low, other mid-high and other for highs) and it works fine. It uses Fourier Transform to get the spectrum of the sound.
What I really want to do is use four 10watts RGB led lights instead of 4 simple leds so I can light up a room. I know this RGB leds have 3 pins (one for each color) and can be driven by PWM, if the input of the 3 pins is zero, then the light is off.
And I also know I need a driver to turn a one color led on, like this one: Loading...
I think I need three drivers per led as these are RGB, and also as there are only 6 PWM outputs on Arduino, I need a shift register, like this one: http://www.elcojacobs.com/wp-content/uploads/2012/08/shiftpwm_74hc595_RGB.png
1- Are the general connections of the schematic ok?
2- If the led is RGB I need three drivers per led, right?
3- Will the shift register work ok?
4- Do you think that PWM shift register will slow down considerably the speed of Arduino? Because Fourier Transform is sensible to the speed.
Thanks a lot for your time!
Schematic.bmp (203 KB)
This is what I think . . .
- I think general approach is sound, ie, control pin → cc driver → led
- No unless you constantly shifting outputs, you can’t feed PWM signal to shift reg and expect PWM signal out.
- I think it would slow down your process if you want to maintain flicker free light output. There are some discussions over LED board and you can off load PWM job to a specialized chip, don’t remember what it was
Thanks for answering, mjkzz.
- I think general approach is sound, ie, control pin -> cc driver --> led
Ok, in that case I think the schematic is fine.
- No unless you constantly shifting outputs, you can't feed PWM signal to shift reg and expect PWM signal out.
You can use this library: http://www.elcojacobs.com/using-shiftpwm-to-control-rgb-leds-with-arduino/
I tryed it and it works!
- I think it would slow down your process if you want to maintain flicker free light output. There are some discussions over LED board and you can off load PWM job to a specialized chip, don't remember what it was :-)
Yes, maybe two shift registers to get 12 PWM outputs is too much and will slow it down too much.
I was thinking to use only 6 PWM outputs, in order to get only 2 colors, one color for a pair of leds and the other for the rest two. But now the question is:
How can I do some kind of ENABLE so even if I'm sending color voltage to the three pins on a led, it doesn't turns on if I'm not enabling it???
I got thinking and what if instead of connecting the "+V" of each color driver to 5V, I connect it to an Arduino pin and then if I turn it off then even if there is voltage on PWM pin, the led will remain off, right?
For reference see the driver here: http://www.tbideas.com/blog/img/schema1.png