Let's assume I have following 4*4 matrix keypad with pull up resistorsOk. Now apply the pull-up resistors to the 4 x 4 keypad matrix.
How would you detect that a key is pressed?
1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 |
A 4×4 matrix keypads consists of 4 rows and 4 columns. This is roughly how the keypads table looks like:
set R/C | Set C1 | set C2 | set C3 | set C4 | check C1 | check C2 | check C3 | check C4 | Button |
R1 0 R2 1 R3 1 R4 1 | 1 | 1 | 1 | 1 | 0 1 1 1 | 1 0 1 1 | 1 1 0 1 | 1 1 1 0 | 1 Pressed 2 Pressed 3 Pressed 4 Pressed |
R1 1 R2 0 R3 1 R4 1 | 1 | 1 | 1 | 1 | 0 1 1 1 | 1 0 1 1 | 1 1 0 1 | 1 1 1 0 | 5 Pressed 6 Pressed 7 Pressed 8 Pressed |
R1 1 R2 1 R3 0 R4 1 | 1 | 1 | 1 | 1 | 0 1 1 1 | 1 0 1 1 | 1 1 0 1 | 1 1 1 0 | 9 Pressed 10 Pressed 11 Pressed 12 Pressed 13 Pressed |
R1 1 R2 1 R3 1 R4 0 | 1 | 1 | 1 | 1 | 0 1 1 1 | 1 0 1 1 | 1 1 0 1 | 1 1 1 0 | 14 Pressed 15 Pressed 16 Pressed 17 Pressed |
R1 1 R2 1 R3 1 R4 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | Not Pressed any key |
I hope logic table make sense to scan 4*4 matrix keypad
Last edited: