Arduino – Keypad 4×3
Hardware
Deze keypads worden veelal gebruikt in combinatie met een microcontroller, handig voor toetscombinatie code systemen.
Wat heb je nodig?
Pinout 4×3 harde uitvoering
Aansluiten op de Arduino
Sluit de keypad module aan volgens onderstaand overzicht:
Keypad pin: | Designator: | Arduino pin: |
---|---|---|
1 | Col1 | 12 |
2 | Row0 | 11 |
3 | Col0 | 10 |
4 | Row3 | 9 |
5 | Col2 | 8 |
6 | Row2 | 7 |
7 | Row1 | 6 |
Script
Met dit script lees je de ingedrukte getallen uit naar de seriële console:
Let op: de knop wordt 2x geregistreerd (bij het indrukken en loslaten)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include <Keypad.h> const byte ROWS = 4; //four rows const byte COLS = 3; //three columns char keys[ROWS][COLS] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'*','0','#'} }; byte rowPins[ROWS] = {11, 6, 7, 9}; //connect to the row pinouts of the keypad byte colPins[COLS] = {10, 12, 8}; //connect to the column pinouts of the keypad Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); void setup() { Serial.begin(9600); } void loop(){ char key = keypad.getKey(); if (key != NO_KEY){ Serial.println(key); } } |
De console output na het indrukken van wat knoppen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
1 1 4 4 6 9 9 0 0 5 5 2 2 3 3 |
Pinout 4×3 membraam uitvoering
Aansluiten op de Arduino
Sluit de keypad module aan volgens onderstaand schema:
Keypad pin: | Designator: | Arduino pin: |
---|---|---|
1 | Col1 | 6 |
2 | Row0 | 7 |
3 | Col0 | 8 |
4 | Row3 | 9 |
5 | Col2 | 10 |
6 | Row2 | 11 |
7 | Row1 | 12 |
Script
Met dit script lees je de ingedrukte getallen uit naar de seriële console:
Let op: de knop wordt 2x geregistreerd (bij het indrukken en loslaten)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#include <Keypad.h> const byte ROWS = 4; //four rows const byte COLS = 3; //three columns char keys[ROWS][COLS] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'*','0','#'} }; byte rowPins[ROWS] = {8, 7, 6, 5}; //connect to the row pinouts of the keypad byte colPins[COLS] = {4, 3, 2}; //connect to the column pinouts of the keypad Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); void setup() { Serial.begin(9600); } void loop(){ char key = keypad.getKey(); if (key != NO_KEY){ Serial.println(key); } } |
De console output na het indrukken van wat knoppen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
1 1 4 4 6 9 9 0 0 5 5 2 2 3 3 |
Bronnen:
forum.arduino.cc
arduinolearning.com