Electronic – arduino – Multiplexing a big 7-seg display with MAX7219

arduinodigital-logicledmultiplexertransistors

I've a problem with this circuit, it should drive 2 (or more) big 7-segment display using a MAX7219 and the relative Arduino's library. It uses ULN2003 and UDN2981 to use +12V and a series of 5 led per segment (in the image I simplify with only one led for segment).

The CD40106 is used as logic NOT adapting the inpupts for the ULN2003.

The problem is during the MAX7219 test example code, loaded into the arduino uno. The leds slightly turn on when they should stay off. A video will show better the problem.

The video about the problem

More info about MAX7219 library and test code here

enter image description here

I tried to change the CD40106 with a 74HC04 -> SAME PROBLEM !!!

Best Answer

I think the problem is that the segment drivers are not push-pull, rather they go high-impedance when they are turned off. Since the darlingtons in the UDN2981 will turn on with some tens of uA it will take some time for them to turn off. Since your brightness is so high for the 'on' segments, the 'ghosting' is significant.

Try a pull-down resistor on the inputs to the UDN2981 (try it on one first and see if the ghosting goes away in the one segment position).