SparkFun Forums 

Where electronics enthusiasts find answers.

For the discussion of Arduino related topics.
By AllenPitts
#191555
Hello Sparkfun forum,

Working on an LED display that would sequence 320 LEDs
based on
http://bildr.org/2011/08/74hc595-breakout-arduino/

Pictorial of setup.
Image

Was hoping turn on all 320 LEDs at once but found
out only 30 could be turned on at a time. So have limited the
LEDS on simultaneously by turning off the first LED
when the 31st is set HIGH.

Have daisy chained 25 of the Sparkfun BOB-10860 and
it works perfectly. But when the 26th is added the
26th BOB (74HC595 break out board) immediately
begins blinking erratically.

You Tube of 26th IC
https://youtu.be/xAc26amrLzI

Tried substituting the 25th BOB for the 26th.
No joy. Tried turning on fewer LEDS and several
other troubleshooting approaches with no luck.

Any idea why the daisy chain won't extend?
The article says "you have 1000 of these chained together".
Just trying to do 40.

Thanks.

Allen Pitts, Dallas Texas

PS Animated gif of half of the desired display.
Http://www.allenpitts.com/electronics/M ... 150626.gif
Last edited by AllenPitts on Tue Sep 06, 2016 12:33 pm, edited 2 times in total.
User avatar
By darrellg
#191557
Have you tried adding power wires to the far end of the chain? There's a strong possibility that the voltage drop caused by all of those connectors and the small traces on the boards are adding up to the point that the supply voltage is too low on the 26th board.
User avatar
By darrellg
#191558
Also, if you are really powering all of that from the 5V supply on the Arduino board, I would suggest you not do that. Use an external 5V supply and make sure all of your grounds are connected.
By MonsterBot
#191559
If you look at the schematics, you'll notice that the latch and clock are shared across all boards. Maybe try throwing some decoupling capacitors in there. Or maybe the signal simply becomes too weak at the far end of the series. Perhaps you could try starting a second chain in "parallel" for the second half of the boards and using a software SPI library.
By AllenPitts
#192594
Hello SparkFun Forum,

Found the answer to this question on an another electronics forum called All About Circuits.
Meant to come back and put the answer in the thread but forgot until now.

The reason why I could not get a twenty-sixth BOB 10860 (breakout board
for 74HC595) is because the shift register Library code had the max number
of registers listed as 25.The guy that wrote the library code said he put 25 as
the max number of 74HC595 in a daisy chain because he thought that was
the most anybody would ever use and limiting the max number of shift registers
in a chain reduces the amount of memory reserved by the Arduino for shift
register data.

So I went into the library code and changed
byte _ShiftRegisters[25]
to
byte _ShiftRegisters[40]
and it solved the problem

Allen Pitts, Dallas Texas