I have a common anode 4-digit 7-segment display. I have each segment cathode connected to a 330-ohm resistor, and the resistor is connected to a shift register. Each segment cathode is connected to the same shift register. Each common anode is connected to a second shift register. Right now, I am using an Arduino to multiplex the display to show a number.
This works great, but there's a problem. The display isn't bright enough! I assume because this is a common anode configuration, and that the shift register can only provide about 40mA of current for 8 segments (A-G and the decimal point).
I have decided that I need more power. My first thought was to try to use 4 PNP transistors. I hook them up correctly, and the segments get brighter. Great! However, there is a problem. It seems like the transistor is slowing something down! There is a nasty glow of segments that are used by other digits! I have the microprocessor set to show each segment for 4 milliseconds. The datasheet claims that the transistor should switch on and off faster than that. Why is this faint glow happening?
Here's what it looks like when 1111 is displayed:
Here's what it looks like when 1112 is displayed: