Shift Register

Hi,

I'm planning to build a scrolling LED display with my Arduino. One thing I think I'll need, is shift registers.

It'll be a grid 7 high x however wide. Arduino will be driving the 7 row pins therefore, and the shift register providing ground for each column. Unless the other way's better for some reason.

The idea would be to keep the shift registers full of '1's, right? With one '0' that I circulate round with each tick, to selectively provide ground for a column at a time. Clocked by an Arduino pin.

My main worrry, I think, is current capacity. How much should I be feeding the LEDs? Do I need resistors to limit current or does the low duty cycle make that unimportant? More importantly, and this is my question, what shift register do I use? It'll have to sink up to 7 LEDs at a time. It's actually a bugger looking up current ratings on component suppliers, it's always in the PDF, never available on the page. So what technology do I use? CMOS, TTL, HCT etc?

If you're naming suppliers, UK would be best since it's where I am, but just part numbers will be fine.

Any hints on this, I'd be grateful! I'll probably start off with just a couple of the 7x5 modules for the display, then build up once I get it working. AFAIK you can drive a good few dozen columns in this way while keeping decent brightness. Ta!

--
-------------------------------------------------------------------------------- 
"There's nothing like eating hay when you're faint," the White King remarked to Alice, as he munched away.  
 Click to see the full signature
Reply to
greenaum
Loading thread data ...

TTL chips can sink much more current than they can source, so that is the best arrangement (though it doesn't matter when you consider what I say below).

Yeah, you could use a capacitor to give you the starting zero, but you might prefer just to hook it up to an Anduino output.

Woah, yes definately use resistors. the equation for the resistor is (-)/. Most LEDs can take 20mA current, but you might be able to use less and still get enough brightness.

You will have trouble driving seven LEDS from one chip.

The standard chip for the job would be a 74LS164, while 74LS299 and 74LS323 should also do. Problem is that these can only sink 8mA; one LED is bright enough at this current, but I doubt you will get good results running seven at 1mA each.

The CMOS world offers the 4015, but it can't do any better. You could also go for 74AS or 74ALS to get about twice the current capability, but they are harder to find.

The conclusion is to use a 74LS164 or whatever with a buffer transistor on each output.

In theory I'd say you should be able to drive as many columns as you want.

It might help to read up a bit more on electronics theory before you get started with this though.

--
__          __ 
#_ < |\| |< _#
Reply to
Computer Nerd Kev

"greenaum" schreef in bericht news: snipped-for-privacy@news.eternal-september.org...

Hi,

I'm planning to build a scrolling LED display with my Arduino. One thing I think I'll need, is shift registers.

It'll be a grid 7 high x however wide. Arduino will be driving the 7 row pins therefore, and the shift register providing ground for each column. Unless the other way's better for some reason.

The idea would be to keep the shift registers full of '1's, right? With one '0' that I circulate round with each tick, to selectively provide ground for a column at a time. Clocked by an Arduino pin.

My main worrry, I think, is current capacity. How much should I be feeding the LEDs? Do I need resistors to limit current or does the low duty cycle make that unimportant? More importantly, and this is my question, what shift register do I use? It'll have to sink up to 7 LEDs at a time. It's actually a bugger looking up current ratings on component suppliers, it's always in the PDF, never available on the page. So what technology do I use? CMOS, TTL, HCT etc?

If you're naming suppliers, UK would be best since it's where I am, but just part numbers will be fine.

Any hints on this, I'd be grateful! I'll probably start off with just a couple of the 7x5 modules for the display, then build up once I get it working. AFAIK you can drive a good few dozen columns in this way while keeping decent brightness. Ta!

--
-------------------------------------------------------------------------------- 
"There's nothing like eating hay when you're faint," the White King remarked  
 Click to see the full signature
Reply to
petrus bitbyter

As others have suggested: use a buffer transistor for each column.

Urgent recommendation: run separate power and ground-return wires for the LEDs (e.g. a good-sized wire from Vcc to the PNP row-drivers, and a good-sized ground wire from the NPN column drivers back to system ground). Power your logic chips (shift registers) via separate power and ground.

A guy I know built a system like this some years ago, and neglected to use separate wires for the high-current LED loads... he ran the shift registers and latches on the same power bus. The Vcc and ground bounced around enough, due to I^2*R voltage drop in the wiring, that the system was completely unreliable.

Reply to
David Platt

check out the Allegro UCN5841 or UCN5842.

Reply to
Cydrome Leader

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.