Hi Mario, I could use your help. I just came across your channel and a noob in electronic circuits. For my current project, I need to design a mechanical keyboard with around 200keys. There is no MCU with so many IO pins. How to use a shift register design with a simple MCU like a Atmega or something similar? I'm thinking to do a prototype with a Arduino as it's the easiest. I didn't even see any tutorial on a full size keyboard (113 keys) as most people are using the 60-80% builds due to limited number of IO pins for common MCUs.
Hi, I am planning to do a video on the particular shift register that can be used for such purpose. It is 74HC165. The shift registers I used till now provided output extension. This one provides input extension. I have not used before. I just ordered it so I need to figure out how to use it. So you can either wait for my video or check other existing tutorials
Looks like you are using a single 220ohm resistor. Assuming 2v forward voltage of red LED, then you will always be drawing a total constant current of (5Vcc-2v)/220ohm = 13.6mA when one or more LEDs is on. The per pin maximum for the 74HC164 is 25mA so you are well within the chip specifications. Note that the 13.6mA is divided across the parallel LEDs so you may notice that the more segments that are lit, the dimmer each segment will be. Sometimes you may get away with it, but a reason not to use a single LED is that the current may not be equally divided across the LEDs potentially overdriving another LED, especially if one burns out.
Your posts were incredible helpfull. I may do an appendix video with all that info . by the way can you recommand any good overview books with which I can improve my electronic skills. I looked at few titles but they either a bit over my head, or I did not particulary like how they were structured
This is a good question. You actually have one input pin either A or B with following 4 posible connection combinations (2 of them are the same) A-input,B connected to A, A-input, B-connected to 5v, B-input, A-connected to B, B-input, A-connetcetd to 5V. Maybe they just had a spare leg:)
@@marios_ideas It seems like A and B are an AND gate in functionality to me. Maybe for functionality other than with digit displays, having an in-built AND gate is useful. One input can control whether the other input is able to write data.
Not sure what you are asking about. The shift registers give you possibility to control 8 segments of the display (or multiple displays) with just two output pins of Arduino. Without it you would need to use 8 pins for each display. So if you wanted to have digital clock (4 displays needed) you would run out of pins. Not sure If that answers your question.
I have used as much as 9 - 164 and 9 - 595 shift registers on a project..... its a good way to control many buttons for inputs and drive Leds on outputs.
Very clear and precise explanation
always top class video and really helpfull,from India
Best video on the subject
You are too kind🤭
Good explaination, Very good teacher😊
Thanks, really good information.
Thanks. Glad you find it usefull:)
Very good explanation
Thanks
Glad you liked it
Really informative and well prepared video.
2:00 master reset resets the shift register to zeros & does not affect the output. So what you said was wrong.
To “reset all outputs as low” you need to latch it after a master reset. Or use output enable to turn off the outputs (high-z).
You are right.I should have said it resets the register not the output .
Hi Mario, I could use your help. I just came across your channel and a noob in electronic circuits. For my current project, I need to design a mechanical keyboard with around 200keys. There is no MCU with so many IO pins. How to use a shift register design with a simple MCU like a Atmega or something similar? I'm thinking to do a prototype with a Arduino as it's the easiest. I didn't even see any tutorial on a full size keyboard (113 keys) as most people are using the 60-80% builds due to limited number of IO pins for common MCUs.
Hi, I am planning to do a video on the particular shift register that can be used for such purpose. It is 74HC165. The shift registers I used till now provided output extension. This one provides input extension. I have not used before. I just ordered it so I need to figure out how to use it. So you can either wait for my video or check other existing tutorials
Nice tutorial. I am completely able to know
Thanks. Give the video a like if you have not done already:)
Wow nice explain... 😊
Can i make my own pcb circuit using shift register for 4 digit 7 segment display. I am trying to do this for reducing the number of the pins to use .
Check th-cam.com/video/K7Y9bKilCxg/w-d-xo.html and th-cam.com/video/ov1rs-MPe1Q/w-d-xo.html
Looks like you are using a single 220ohm resistor. Assuming 2v forward voltage of red LED, then you will always be drawing a total constant current of (5Vcc-2v)/220ohm = 13.6mA when one or more LEDs is on. The per pin maximum for the 74HC164 is 25mA so you are well within the chip specifications. Note that the 13.6mA is divided across the parallel LEDs so you may notice that the more segments that are lit, the dimmer each segment will be. Sometimes you may get away with it, but a reason not to use a single LED is that the current may not be equally divided across the LEDs potentially overdriving another LED, especially if one burns out.
Your posts were incredible helpfull. I may do an appendix video with all that info . by the way can you recommand any good overview books with which I can improve my electronic skills. I looked at few titles but they either a bit over my head, or I did not particulary like how they were structured
what is the use of the second input B for?
This is a good question. You actually have one input pin either A or B with following 4 posible connection combinations (2 of them are the same) A-input,B connected to A, A-input, B-connected to 5v, B-input, A-connected to B, B-input, A-connetcetd to 5V. Maybe they just had a spare leg:)
@@marios_ideas It seems like A and B are an AND gate in functionality to me. Maybe for functionality other than with digit displays, having an in-built AND gate is useful. One input can control whether the other input is able to write data.
Super project
Thanks:)
👏👏👏👏👏👏💪💪💪💪💪!!!
ᵖʳᵒᵐᵒˢᵐ
???
Hi Mario whats exactly the point for this?
Not sure what you are asking about. The shift registers give you possibility to control 8 segments of the display (or multiple displays) with just two output pins of Arduino. Without it you would need to use 8 pins for each display. So if you wanted to have digital clock (4 displays needed) you would run out of pins. Not sure If that answers your question.
I have used as much as 9 - 164 and 9 - 595 shift registers on a project..... its a good way to control many buttons for inputs and drive Leds on outputs.