MatrixKeypad er en 4x4 keypad som er mest brugt på ATMs.
-Programmet skal indeholder det her metoder: Init(); ColumnScan(); ReadRows(); DecodeKeyboard();
-Programmet skal kunne udskriver den specifik knap som personen har trykket.
-Der skal bruger Logik Analyzer så viser output portene.
Her er der billeder hvordan en keypad funger. Hvor vi har 4 'Output Port' og 4 'Input Port' I min situation jeg har lagt keypad pins til alle mine PORTK.
| Output Port | Arduino port |
|---|---|
| C1 | PK3 |
| C2 | PK2 |
| C3 | PK1 |
| C4 | PK0 |
| Input Port | Arduino port |
|---|---|
| R1 | PK4 |
| R2 | PK5 |
| R3 | PK6 |
| R4 | PK7 |
Her er der billeder billeder af min Logik Analyzer
Init() - Funktion der initialiser Pull-up.
ColumnScan() - Funktion der styre C1-C4 via 4 portbit.
ReadRows() - Funktion der læse R1-R4 og returner den specifik row.
DecodeKeyboard() - Funktion som modtager column, row og decoder mine knapper på bestemt koloner og rækker.
Mine funktion proprieties ligger ind keypad.h filen og mine funktioner ligger ind i keypad.c filen.

