Electronic – arduino – How to power 24 7-segment displays with Arduino

7segmentdisplayarduinoshift-register

I'm working on an Arduino project where I need to power 24 7-segment displays (model Kingbright SC56-11YWA).

I decided to control them using 8 bit shift registers (model 74LS164N). This is working fine for one prototype. But already I notice that the segments are brighter when there are only two lit up as opposed to all 7.

Will an Arduino (Mega) be able to handle this when I connect all 24? Or is it OK if I use an external 5 V power source (converted from AC) for all the shift registers?

There's a 220 ohm (around that number) resistor connected at the 7 segment GND. I suppose decreasing that number or eventually omitting the resistor, would also do something, but maybe not enough for 24 of them.

I hope my question is clear.

The setup for one display

Best Answer

You should be able to drive this very easily with nothing but the Arduino mega and 8 resistors, so you don't necessarily need 24(!) shift registers. You won't be driving all of them at once, you'll be driving one of them at a time. But it will be the simplest to build and take no extra chips. In all you'll probably need 32 of your pins, but the mega has no shortage of pins.

Remember that each of the IO pins are tristate. Putting them into input mode puts them into high impedance mode, which is like putting a very high value resistor on that pin, essentially removing its effect from the circuit. By wiring each of the common cathode pins to IO pins and setting all of them to input, you can then set single pins to output low (connecting it to ground) and drive single digits at a time. Then all you need is a timer and cycle through each of the digits.

The only thing to consider here is how much current you're sourcing and sinking through the MCU. But for only 8 LEDs at a time, I think it should be OK, depending on how much current they like and what else you're powering with the MCU. I tend to go for designs with less external components, so this is the solution that appeals to me.

Also, the others are right in saying that a single current limiting resistor on the cathode is not sufficient. Your brightness problem is either related to this, or the amount of current your shift registers can source.