fading multiple led's


i am working on a poster with printed quotes, the idea is the behind every quote it will be a row of LED's, every quote ( row of LED ) will fade in and out, in a way that the quotes will be enlightened in a random fashion.

i will need 29 rows of LEDS, my problem how to connect these to the arduino, can i use shift registers to accomplish that ? what is the best way to do it ? any help will be appreciated since i am a beginner in arduino.


Doing it with regular shift registers will be a pain. I would take 2 of the 16 channel LED drivers from Texas Instruments TLC59xx. They offer individual PWM for each channel and exist even in version that can drive up to 120mA per channel. They cost a little more, but are worth the money.


Another way to get that many PWM outputs, if you only need one or two at a time, is two 74159 1 of 16 decoders. You hook four data pins to the address pins and one PWM output to the strobe pin on each chip. You will even be able to cross-fade between the two sets of 16 lights because each will be on a different PWM output. That would be cool. You will probably need a transistor to drive each line of LEDs.

Thanks for some quick answers, i 'am quite a newbie in electronics and since i couldn't really find documentation for the SN74159, i will go with the TLC5940, and if i understand you correct

  • i need to have 29 TLC5940, each one controlling a row of LED's ( 10 led's in each row )
  • each TLC5940 will have it is own resistance
  • the TLC5940 will have their own power supply.

is it understood right ?

how will i hook the TLC5940 together, and to the arduino ?

Are you fading a whole row at a time? If so, you don't need one shift register per row. You need one channel per row, and each shift register will have 8. So you will need 4 shift registers.

Or if he uses the TLC5940, he'll just need 2 of them.

ah i see .. then a row of LED for every output pin of the TLC5940 ?
And yes i need to fade one row at a time

but did i miss something, can i really use shift registers ti fade a row of LED's i thought i can only switch these on and off, with them

All fading an LED is is switching it on and off really fast. The TLC5940 will do it for you. With a high power shift register like the TPIC6B595, you'd have to do it manually. If you do it manually, that uses a lot of CPU time, but if you're not doing much else, that won't be a problem.