So I've asked this before, but I'm moving forward with it and being more clear about what I want (hopefully). I want to have a lighting setup for this band. The idea is that there are 9~ paper lanterns on stage with them, and each lantern has an array of RGB lights inside. Within each lantern, each RGB LED is doing the same thing, so they can all be connected without worrying about independent control, make sense? However, each individual lantern needs to be able to be controlled individually. So lantern A might be BLUE, while lantern B might be RED, or OFF. I would control this from an iPad, which sends OSC to MAX/MSP, which communicates via serial to Arduino. I already have this part working, sort of. I can control a single RGB LED from an iPad, run thru MAX to Arduino and it works just fine. However, obviously Arduino has limited outputs, so I can't have 9 RGB signals (9*3 outputs?) from a single Arduino. What is the easiest, most efficient way to do this project? Keep in mind that I am somewhat new to Arduino and electronics!
There are lots of serial LED controllers like this (TLC5940 data sheet, product information and support | TI.com). I know I've seen a breakout board / shield with something like that but I can't find anything right now.
You could also use 1 Arduino as the master which receives the signal via MAX/MSP and sends messages to multiple Arduinos which then control the individual lights.
Steve
Using 9 lanterns each having 3 LEDs in them gives you a requirement of 27 PWM signals. So I would use 4 shift registers and a software PWM like this:-
http://www.elcojacobs.com/shiftpwm/
But you need to drive 3 or 4 LEDs per shift register output, given 20mA per LED that is 80mA per shift register output. That is too much so you will have to use each shift register to drive a transistor to drive the LEDs. Each LED colour must have it's own resistor.
The total current for the lamps will be 27 * 80 = 2.16 Amps so you will need a hefty supply to give you that.
Thanks for the replies. Talking about shift registers and transistors is a bit scary to me, but you explained it well so I might be able to figure it out.
Is there perhaps a way I might do this wirelessly? I know the price will go up considerably, but maybe there are cheap wireless transmitters/receivers and that way each lantern could have a chip with a receiver and just grab info on what it's supposed to do. Eh?
I was working on something almost identical but I've taken a bit of a break. I used 2 shift registers to control 5 RGB lanterns and shiftPWM to make them fade different colors. Each shift register output controlled the base of a transistor which powered each lantern through a telephone cord.
The problem with wireless is that you can't send the data quick enough to control all the LEDs if you send the raw PWM data. There is not enough bandwidth. Also each lamp will have to know what bits to grab and what bits to miss. Therefore each lamp will need its own arduino and you will still need transistors to control the LEDs. I don't see what you gain. You would also need a power supply for each lamp.
Ok so I'll go wired. By hefty supply, what are we talkin? If I use a big power supply, and only have one LED lantern hooked up at a given time, will that send way too much power through my circuit and blow stuff up?
No.
The current rating of a power supply is only the current it CAN give not what it will give. The current you get is determined by the voltage and the load impedance ( resistance ) at any instant. The power supply should be capable of supplying the current for all the LEDs at once even if this condition is rare.