I'm new to Arduino design and digital logic principles in general. I have been looking into multiplexing several 7 Segment displays with a focus on minimizing usage of digital pins on the Arduino.
I have attempted a design and was hoping to get some feedback on it.
The idea is to use four common anode 7 segment LEDs each connected in series to a transistor. The base of each transistor would connect to one of the four outputs on a common decoder. The Arduino would control the decoder inputs, and, in turn, could "turn on" each transistor individually. The 7 cathode pins of each 7 segment display would then connect to the 7 outputs of the BCD to 7 Segment Decoder. This BCD to 7 Segment Decoder would also be controlled by the Arduino. The Arduino would only need to set the inputs for the multiplexing decoder to "choose" a particular digit, as well as setting inputs for the BCD to 7 Segment Decoder to select which value to display.
I was not aware that there was dedicated hardware for this purpose. Thank you for the link. This looks like it will provide what I'm looking for, but just for the sake of interest / learning, it would be great to have some additional feedback on my idea if possible.
Yes, what you are suggesting is very valid.
The software would obviously have to synchronize the segments with display.
Yours does need 8 O/Ps, if this is not a problem then an UNO would work nicely.
You could use ribbon cables to share the A-G + DP in a daisy chain fashion.
Or use: https://www.sparkfun.com/datasheets/Components/LED/7-Segment/YSD-439AR6B-35.pdf
Things have changed over the years!
The Max7222 needs 3 O/Ps
A suggestion for the other decoder in your design would be 74hc138.
Other options would be 74hc595 shift registers (3 Arduino pins reqd) OR SAA1064 (2 Arduino pins, i2c).
But if you want to learn about multiplexing then max72xx and saa1064 are no good because they just do it for you!
Also, max72xx require common-cathode displays I think.
Other things to think about in your next steps: Forward voltage & current of the display segments; series resistors for the segments; resistors for the transistor bases; decoupling caps for the chips.