In a 4-digit multiplexed display unit, for how long time the cc-pin of a digit could be hold at Logic-Low state so that the message at other digit positions does not appear to be absent (aka flickering). So basically you have to refresh twice as often to prevent flicker. In the alternate method, each segment is ON 1/8 of the time. For four digits using the traditional method, each digit is ON 1/4 of the time. The downside is that you have to refresh more often, but not really that much more often. I thought this was so nifty that I made a video on it, and did a Github repo with demonstration sketches. If I/O pins are scarce, an HC4017 would take the place of the HC595. So you only need one resistor in each CA/CC line, and no resistors in the segment lines. And each CA/CC line never sources/sinks more than one segment. The maximum current a segment line will have to source/sink is for four segments, not eight. But for "4444", none of the CA/CC lines would be turned on for segment A. Then you would do the same for segment B, and so forth. So if you are displaying "8888", you would turn on segment A along with all four of the CA/CC lines. But in the end I settled on multiplexing by turning on the seven (or eight) segment drivers one at a time, but also turning on the CA/CC lines of all of the digits which should have that segment turned on. That works if you're only turning on one segment at a time. I had the same idea, motivated by the prospect of being able to do away with all of the segment resistors, and the CA/CC transistors, and have only a resistor on each CA/CC line. There may be others like that.īut I want to address your option in (2a). ![]() I have found the Vishay displays such as the TDSR1360-IK to generate a lot of light with very little current. Note that there is a difference in the efficiency of 7-segment displays. I think typically you will see people use transistors on the CA/CC pins to transfer the current burden away from the Arduino while still having bright displays. The HC595 should work the same way, and it has its limits just as the Arduino does, both per pin and in the aggregate. The issue, as you say, is how much current that will be. So if a pin can sink 8 segments of current from a common cathode display, it should also be able to source 8 segments of current to a common anode display. ![]() ![]() I believe the 328P sources or sinks the same amount of current per I/O pin. In that way, I have to cycle through 4x8=32 leds.ī) Use 5v pin together with 4 PNP transistors to connect them to the 4 common anode pins (so that I have enough power for all 8 leds of a digit to light them simultaneously) and use 74hc595 for the 8 cathode pins.ĮDIT: Perhaps I can't even do the common cathode with outpins too and need NPN transistors? How can an output pin set to LOW sink the current of all 8 digit leds?Īddressing your issue in (2), it should work the same in both directions. However, I can't understand how this can possibly work! Can an output pin provide power for as many as 8 digit leds?Ī) Use output pins for the 4 common anode pins (set them LOW initially) and output pins for the 8 cathode pins (set them HIGH initially), set HIGH an anode pin of a specific digit and then cycle through the 8 digit leds, having only one set LOW at any time, so that only one led is powered each time. When using 4 digit 7-segment display (common anode): I've read many tutorials that claim that I can use the reverse procedure from above: use output pins for the 4 common anode pins and then use 74hc595 to sink the 8 cathode pins.Then I wire the 8 anode pins to 74hc595 and light the leds of a single digit simultaneously (as long as I use small current for each digit led, to account for the fact that 74hc595 has maximum total current 70ma, ideally 6ma for each digit led). When using 4 digit 7-segment display (common cathode): I wire the 4 common cathode pins to output pins, set them all HIGH initially and set a specific one LOW to enable a specific digit.Please advise me if what I say is correct:
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |