Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

#078 SingleShift

Driving a 4-digit 7-segment display with a shift register and a few BJTs

▶️ return to the LEAP Catalog

Notes

See Led4Digit7Segment for general discussion of 4-digit 7-segment displays, how to drive them, and the details of the specific SMA420564 unit used in this test.

While you can wire up each segment pin to a digital out on the Arduino, it soon becomes pretty wasteful of pins. This project uses an 8-bit shift register to feed segment values and some BJTs to control digit selection.

A 74HC595 is used to shift out the segment values in a block, requiring only 3 pins.

S9013 NPN BJTs are used to switch the sinking of each digit's common cathode connection. In this circuit, the BJTs are directly controlled with an additional 4 pins. The S9013 is selected for no other reason than it's a nice reliable small-signal transistor, and some were on hand. Pretty much any NPN transistor would do.

This circuit puts the current-limiting resistors in series of the common cathode pins. Which is a bit of an approximation, as current (brightness) varies a little depending on how many LED segments are on. The better way is to put a resistor on each segment pin. But this was good enough for a simple test.

Construction

The Breadboard

The Schematic

The Build

Credits and references