Led project

Hi everyone, I'm a occasionally arduino user and i need to make a project that i think it's very hard: I need to plug a very important number of led on arduino (approximately 600) and i need that each led will turn on and then the same led will turn off when the next led will turn on...in this way i want to create a "led chain". At the moment that arduino has not more i/o port...how i can to plug this big quantity of led in this way? I Accept all type of tips.

Thank's

Ciao a tutti, Sono un utilizzatore occasionale di arduino e ne avrei bisogno per un progetto a mio parere un po' azzardato: Ho la necessità di collegare tra loro una grande quantità di led (teoricamente due strisce da 300 led ciascuna) e avrei bisogno di gestirle in modo che il primo led si accenda e si spenga subito dopo mentre si accende il seguente...così da creare una "scia luminosa". Ovviamente le porte di Arduino sono molto molto meno del numero dei led che mi occorrono...come posso risolvere? Accetto ogni tipo di consiglio. Grazie

600! That is a lot. What you can do is make a bank of 9 or 10 MAX7219 8x8 LED matrix controllers. Each can contol 64 LEDs. You connect SCK and Slave Select to all, MOSI to the first one and daisy data-out to data-in from 1 to 2, 2 to 3, etc.

Or you can use 66 odd HC4017 decimal counters ( at about 20 US cents each ) with a 555 clock, Its going to be over a meter diameter circle anyway with 5mm LEDs, so spread the chips around !

Whoops ! no arduino, I take that back ....... :-)

If you only need 1 LED on at a time and no other IO, you can control 380 LEDs with no additional support hardware using charlieplexing.

You may also consider an arduino mega, 25 pins will let you control 600 LEDs. Keep in mind if you need multiple LEDs on, duty cycle will be a major issue.

ghiro_1993: Hi everyone, I'm a occasionally arduino user and i need to make a project that i think it's very hard: I need to plug a very important number of led on arduino (approximately 600) and i need that each led will turn on and then the same led will turn off when the next led will turn on...in this way i want to create a "led chain". At the moment that arduino has not more i/o port...how i can to plug this big quantity of led in this way?

There's a lot of ways to do this but they all have one thing in common, you need to connect up some chips which accept serial data from the Arduino (so they only need two or three pins) and light up banks of LEDs using that data.

Look at datasheets for chips like these: TLC5925, MAX2719, WS2803

Most (all?) of these chips can be joined together in a chain to control any number of LEDs with no extra Arduino pins needed.

I think the chips you choose will depend on the shape of the thing you're making - a square matrix, a long strip...etc.

Here’s an example of 4 MAX7219’s driving 256 LEDs.
If you think of each LED as being at the intersection of two wires, and you put a 2-pin header there instead, you can remote the LEDs and put them in whatever configuration you’d like. I think you can see from the attached how easy it would be to have an 8x16 header that you would add wires to remote-connect the LEDs. The MEX7219 controls the current so only 1 current limit resistor is needed.
MAX7219’s are $1.25 from taydaelectronics, and seem like a great way to drive 64 LEDs. $5 for controlling the 256 LEDs pictured here. $12.50 for 10 chips, 640 LEDs.
It can do 15 level of brightness control also.
If you need RGB mixing control or fancier fading control, then other chips might work better, but you will need a lot more of them, or work out some multiplexing scheme; multiplexing would reduce the overall perceived brightness.

Crossroads suggestion looks the easiest way to go

Boffin1:
Crossroads suggestion looks the easiest way to go

Depends on the layout…if he wants one long string of LEDs then it’s an awful lot more wire if you arrange them in 8x8 matrices rather then (eg.) 2x18 matrices (with the WS2803).

"Depends on the layout"

Totally agree.

I agree, MAX7219 is probably easiest way to manage so many LEDs. It already has all the transistors and resistors needed (with Shift registers you'll need to provide resistor for every common anode/cathode and transistor banks to supply power). Also keep in mind that you'll probably need to power LED drivers separately, Arduino might not be able to provide enough current if at any time you have all 600 lit. And even if you don't think you have all of them lit, MAX7219 will might light them all briefly when it initializes...

with Shift registers you'll need to provide resistor for every common anode/cathode and transistor banks to supply power

Not necessarily.

Say a 8x8 matrix, you can put the column leds on the mcu's output pins (8), and for the rows, you drive them via hc595 (or hc164). For each display cycle (one column), you present data on the column pins, and then strobe the row just once (one CLK transition), to move to the next column. So you need 8 pins + 3 shift register pins. This approach is very useful for rectangular displays.

If you are short on pins further, you can put the columns on another shift register and you are down to just 3 pins.

I suspect the arduino commity consumes a large percentage of those maxim chips.

Hi Crossroads,

Have you tried the Maxim chips from Tayda ? that price is very good, I see Mouser are quoting $13 and our cheapest price here is about $10.

If I can get them cheap enough I might try playing with multiplexing.

I always used DC latched drivers on my scoreboards to try and keep the RF reception as clean as possible - everything else is perfect - line of sight across a field with nothing near the receiver, antenna high, and I hide the screened SM power supply away from the receiver.

But now with my new superblinding LEDs, ( theres a photo of a display facing straight into the sun at www.scorebauds.co.za ) I have to dim the display for overcast or evening matches or the players would be blinded !

So I am dimming the TPIC chips using the notG pins connected to a pwm output of the micro, so I might as well try multiplexing anyway for the alpha team names…

And whats that strip board you are using in the photo you posted? I havnt seen that here .

Yes Boffin, the picture I posted in reply #5 is using 4 of 8 MAX7219's I just purchased from Taydaelectronics for $1.25 each. The board is a big one from dipmicro.com, 18cmx 30cm http://www.dipmicro.com/store/PCB-UNI30H

I see they are available in that size at e-bay, search for "prototyping pcb 18cm 30cm" ~$5 each, less in higher quantities.

Mouser are quoting $13 and our cheapest price here is about $10.

Those prices are trying to tell you something.

I am not sure what the prices are telling me, thats why I asked if Crossroads had actually bought any of the cheap ones.......

I usually find Mouser prices pretty good, but then again I have never seen Tadya before. Its still a hell of a difference in price.

And Crossroads, I have used some much smaller prototyping boards like that once. Your pic is very tidy on top , I can imagine the flip side :-)

Bottom is almost as tidy. I am a very good wirewrapper. Its all copper & reflective tho, hard to get a good picture.

I have never tried wirewrapping, are the empty SIL sockets just to give you pins to join several wires together ?

No, I plan to unplug and move the outer left & right down to those spots to have a 16x16 display to play with after I get the 8x32 working. Will wire those 2 in parallel. Figured out last night why my display was off - misread the MAX7219 datasheet and had the MSB wired to the LSB of the displays. Had figured out previously that the matrices were rotated 90 degrees, a result of not realizing they were 2 color devices and not single color - the datasheet did match the part marking - found another that matched a number in the artwork on the bottom of the board, so I need to unwrap 64 wires, rotate the parts and re-do the wiring.

Thats a bummer ! Shame theres not an equivalent to photoshop with wire wrapping :-)

Will only take an hour or so to fix it up once I get started.