SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
By patternleaf
#147712
Hi all -

I have an installation project which will require the real-time control of many (let's say 50 at worst) small lights (probably LEDs) from a computer. It needs to be a computer because I'll be using a kinect to detect presence, etc. I'm a software engineer and will have no problem with the software side of things, but I'm pretty clueless about hardware, and what's possible or best.

In my dream world, a USB device would exist that would have 50 addressable outputs and I would run wires from this to each LED. Done!

Oh, also, of course, budget is pretty limited. I already have access to a few arduinos, but I'm not sure that they will help me that much. (Since I'll have a laptop which will be driving the installation's interactivity, it won't be desirable to program the arduinos ahead of time—all the programming will be on the laptop.)

Any suggestions appreciated!

Eric
By Philba
#147749
This is pretty easy to do. A lot depends on how you want to arrange the LEDs. There are strips of LEDs (at SFE and other places) that have individually addressable lights an inch or so apart. They can be controlled by a small number of wires (typically 4). Use a USB Arduino (like the micro, for example) and a power supply to feed the strip. Lots of info how they go together and the programming (in C++) is going to be a cakewalk. The USB arduino can look like a simple com port or you can do something sophisticated like an HID device. In the simple case you create a command structure that indicates light number and illumination level.

If you can't use the strips, it gets more complicated and is fairly dependent on what you want to do but almost anything is achievable without a BSEE.
By patternleaf
#147771
Thanks for the response... Mostly, the LEDs will need to be individual lights, as they'll be attached to objects within the installation, and with up to 20ft or so of wire between the controller and each light. Would it be possible to take apart and rewire one of the addressable strips to get this to work? Or is there a better solution already out there?

Thanks again.
E
By Mee_n_Mac
#147784
Are these LEDs single color or RGB ? Do you want to control their color and/or their brightness ... or is it just on/off ? Are we talking 1+ W LEDs or the more common type ? For the most simple case you could get away with a number of shift registers daisy chained together. The Arduino then serially sends out the bit pattern of LEDs on/off and then enables the shift register outputs.

http://www.sparkfun.com/products/734

More capable (in some ways) and only slightly harder to comprehend ...
http://www.sparkfun.com/products/9622
By patternleaf
#147798
@Joeisi: Thanks for the hint. Those might be just what we need ... have to see if we can afford a bunch of them, though.

@Mee_n_Mac: We don't necessarily need RGB, but we do need brightness control over each individual LED. Am I correct that the shift register and LED display driver wouldn't give us brightness control at each LED?

Thanks guys!
By Mee_n_Mac
#147807
patternleaf wrote:Am I correct that the shift register and LED display driver wouldn't give us brightness control at each LED?
Thanks guys!
You are correct. The SR approach wouldn't allow for any brightness control and the display driver would only allow for the same brightness across all the LEDs.
By Philba
#147816
The problem with BlinkMs is they get way pricey if you need a lot of them. 8 of them cost $100. The max7219 is more for driving multiplexed (7 segment) displays with no individual control. I'd suggest something like the TLC5940 which will drive 16 channels with 4096 intensity levels. It comes in a DIP package so it's fairly proto friendly. You'd need no more than three unless you are doing RGBs. About $4 from Mouser.

edit: also no current limiting resistors are needed with the TLC5940 so it's even more proto friendly.