That trick to avoid burning a pin to reset to 4017 is genius 👏👏👏. I have used a MAX7219 dedicated LED driver for building 7 segment displays. They are very nice: built in current limiting, programmable brightness control, cascadable and low MCU pin count requirement. They are *very* expensive, though (or at least they were last time I bought them).
Like all things in engineering it's a tradeoff between hardware vs software complexity. This method makes software a little more complicated, keeping track of the segment phase/mapping but much simpler on the hardware side by only requiring one resistor per digit. A practical downside would be requiring the segment current to be 7-8x higher than an equivalent per digit mux method to achieve similar brightness due to the mux ratio dropping by 7-8x.
Brilliant! VERY well taught. This is the first video I have viewed on your channel, I hope there's more videos of you doing things like this, if not the needs to be! You do a phenomenal job of explaining what you're doing. There are far too many regurgitation videos on RUclips that end up being like the broken telephone game, they're explaining it correctly but they don't really understand it (which makes it impractical for real life applications...you can tell just by the presentation and/or the way they explain/teach.) Thanks again for the great content! Hope there's more so I can subscribe! :-) (Greetings from OKC!)
Your clock driver is brilliant.... i have to try that... for more digits you could use a counter for the digit cathodes too? I love your demo where you keep doubling the time... it's a perfect demo to answer the question "but what is multiplexing?"
Great video! I just worked out that multiple 7-segment displays can be turned on after each other, but didn't realize yet that that would put 8x20mA on a single IO pin until i saw this video. And then your video took it even 2 solution steps further 👏👍
Also, if you were to use shift registers (74HC595) instead, you would only need three pins (clock, data, latch) for as many digits as you like, just daisy chain the shift registers. Also, you wouldn't be limited to common cathode displays. Also, you could multiplex entire digits and not just the individual segments so you would have an improved (8x) duty cycle.
Thank you so very much for making and posting this video for scanning one element at a time. Your last video was 4 years ago, I hope that everything's alright with you. I was considering scanning one digit at a time using one of the 10 outputs of a 4017 for each digit (7 segment piece) and the 8 outputs of a 74595 serial-in parallel-out register to feed all the elements LEDs that are connected together in parallel just like you explained and, doing that, should let me run 10 digits using only 4 or 5 microcontroller pins. I was going to make or modify one of the existing libraries/classes to make it easier and more general, have you tried to make a library/class for this method?
like the idea can you use this method with an IO multiplexer on a esp32 ( like a PCF8575) that would free up many pins and can be made to use i2c for communicating.
There is any negative effect on the actual component? I mean, multiplexing by segment requires more LED on/off cycles, and for the resistor as well. I'm using a arduino uno, a shifter and a single 220 ohm resistor for 4 digit 7-seg display, and it works as expected.
LED's are PWM'ed all over the world for 95% of their applications. I don't think it will do anything to their lifespan. And if so after a few years... just stick a new 0.80$ display in there 😉 Resistors don't suffer at all with this, electronics are meant to do this type of stuff. It's how the entire world revolves. Your PC is loaded with transistors and resistors and capacitors and what not that endure this type of switching at gigahertzes for years and decades 🙂
That trick to avoid burning a pin to reset to 4017 is genius 👏👏👏. I have used a MAX7219 dedicated LED driver for building 7 segment displays. They are very nice: built in current limiting, programmable brightness control, cascadable and low MCU pin count requirement. They are *very* expensive, though (or at least they were last time I bought them).
Like all things in engineering it's a tradeoff between hardware vs software complexity. This method makes software a little more complicated, keeping track of the segment phase/mapping but much simpler on the hardware side by only requiring one resistor per digit. A practical downside would be requiring the segment current to be 7-8x higher than an equivalent per digit mux method to achieve similar brightness due to the mux ratio dropping by 7-8x.
Brilliant! VERY well taught. This is the first video I have viewed on your channel, I hope there's more videos of you doing things like this, if not the needs to be! You do a phenomenal job of explaining what you're doing. There are far too many regurgitation videos on RUclips that end up being like the broken telephone game, they're explaining it correctly but they don't really understand it (which makes it impractical for real life applications...you can tell just by the presentation and/or the way they explain/teach.)
Thanks again for the great content! Hope there's more so I can subscribe! :-)
(Greetings from OKC!)
The number 42 was competed around at the 6:48 timeslot.
Your clock driver is brilliant.... i have to try that... for more digits you could use a counter for the digit cathodes too? I love your demo where you keep doubling the time... it's a perfect demo to answer the question "but what is multiplexing?"
Great video! I just worked out that multiple 7-segment displays can be turned on after each other, but didn't realize yet that that would put 8x20mA on a single IO pin until i saw this video. And then your video took it even 2 solution steps further 👏👍
very good work Mr.
The duty cycle is about 1/8th of the usual method. It could reduce the brightness, but that doesn't seem to be a problem with your setup.
Also, if you were to use shift registers (74HC595) instead, you would only need three pins (clock, data, latch) for as many digits as you like, just daisy chain the shift registers. Also, you wouldn't be limited to common cathode displays. Also, you could multiplex entire digits and not just the individual segments so you would have an improved (8x) duty cycle.
What a nice trick!😃👏
Keep It up sir
Thank you so very much for making and posting this video for scanning one element at a time. Your last video was 4 years ago, I hope that everything's alright with you. I was considering scanning one digit at a time using one of the 10 outputs of a 4017 for each digit (7 segment piece) and the 8 outputs of a 74595 serial-in parallel-out register to feed all the elements LEDs that are connected together in parallel just like you explained and, doing that, should let me run 10 digits using only 4 or 5 microcontroller pins. I was going to make or modify one of the existing libraries/classes to make it easier and more general, have you tried to make a library/class for this method?
Excellent
Nice work ..keep up ..
Can you do one with assembly langauge ??
I want to use 8 displays with common anode
like the idea
can you use this method with an IO multiplexer on a esp32 ( like a PCF8575)
that would free up many pins and can be made to use i2c for communicating.
There is any negative effect on the actual component? I mean, multiplexing by segment requires more LED on/off cycles, and for the resistor as well. I'm using a arduino uno, a shifter and a single 220 ohm resistor for 4 digit 7-seg display, and it works as expected.
LED's are PWM'ed all over the world for 95% of their applications. I don't think it will do anything to their lifespan. And if so after a few years... just stick a new 0.80$ display in there 😉 Resistors don't suffer at all with this, electronics are meant to do this type of stuff. It's how the entire world revolves. Your PC is loaded with transistors and resistors and capacitors and what not that endure this type of switching at gigahertzes for years and decades 🙂
Man, this is so damn good!!!