Maker Pro
Maker Pro

pic outputs to ULN2003A

lefteris_

May 19, 2013
2
Joined
May 19, 2013
Messages
2
Hello!!

I' ve build a digital clock with 4 7-seg digits wich are driven by a pic 16F84.
What i wanted to do was to replace each segment of the digits with led strips using the ULN2003A chip.But i have problems with the signals of the segments.
I read that i have to use some pull up or pull down resistors but i dont know how.

In the schematic i have removed the resistors R1-R7

Any help?

Thank you in advance!
 

Attachments

  • clock-circuit-diagram.jpg
    clock-circuit-diagram.jpg
    39.9 KB · Views: 1,445
  • DSC00174 (2).JPG
    DSC00174 (2).JPG
    28.7 KB · Views: 877
  • 4.png
    4.png
    32 KB · Views: 539

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Jan 21, 2010
25,510
Joined
Jan 21, 2010
Messages
25,510
One of the problems you will face is that the ULN2003 chip inverts the signal from the PIC.

You need to place something to invert the signal between each output of the PIC and the corresponding input of the ULN2003.

Another issue you might have is that the voltage required for your LED strips may be higher than the PIC supply. This will (at the very least) require you to do something a little different with the 4 digit drivers.
 

lefteris_

May 19, 2013
2
Joined
May 19, 2013
Messages
2
Another issue you might have is that the voltage required for your LED strips may be higher than the PIC supply. This will (at the very least) require you to do something a little different with the 4 digit drivers.

This why im using the uln2003 chip the suply voltage is 12v and the regulator outputs 5v for the pic only, the led stips are conected to 12v and im using the ULN2003 as a switch!
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Jan 21, 2010
25,510
Joined
Jan 21, 2010
Messages
25,510
That's fine for the row outputs, but the column drivers need to switch the other side (i.e. the +12V). You'll need level converters for this.

Also since the two transistors will drop a couple of volts between them, you might need to run your LEDs from a 14V supply.

In addition, they're multiplexed (only on 1/4 of the time) so you may want to ensure they operate at a higher than normal current to get the brightness you're used to when operated from a DC supply.
 

gorgon

Jun 6, 2011
603
Joined
Jun 6, 2011
Messages
603
For the digit driver transistors, you'll need to replace the single resistor with a resistor divider. To get the correct operation you'll need to calculate the base voltage when the driver is off, to be close to Vsupply for the LEDs. One way to do this is to add a zener diode in the divider, with a value slightly higher than the difference between the Vcc(5V) and Vsupply(12V?). for this combination, I would have used a 7V5 zener, and 2k2 BEresistor and 3k3 on the pic output in series with the zener. The resistor value depends on the Hfe and Ic of the transistor, and you may need to reduce the 3k3 to a lower value.

To drive the ULN2003 you only need to invert the segment outputs in the program.
 
Last edited:
Top