Keypads are parts of HMI or Human Machine Interface and play really important role in a small embedded system where human interaction or human input is needed. Matrix keypads are well known for their simple architecture and ease of interfacing.
In this project, we will learn How to interface a 4X4 keypad with AVR ATmega32 microcontroller. Here, we will display the value of the pressed key in a 1X8 LED array. See the below table to know the value assigned to each key of the 4X4 keypad. For to display the value of the pressed key, the microcontroller should know if any key is pressed or not and if pressed then which key is pressed. To know all this, the microcontroller scans each row or column of the 4X4 keypad one by one continuously (scanning is done by the read_keypad function). When any key of 4X4 keypad is pressed, the read_keypad function returns the value of the pressed key and the microcontroller displays it in the 1X8 LED array. When none of the key is pressed the read_keypad function returns 0XFF and the 1X8 LED array displays the value of the last pressed key. Now, press different keys of the 4×4 keypad and see the output in the 1X8 LED array.
Key Pressed | Key Value |
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |
5 | 5 |
6 | 6 |
7 | 7 |
8 | 8 |
9 | 9 |
0 | 0 |
* | 10 |
# | 11 |
A | 12 |
B | 13 |
C | 14 |
D | 15 |
Softwares Required
For more detail: 4X4 Keypad Interfacing with ATmega32 and LED Display