Leer un teclado matricial 4x4 en Arduino
FunduinoÚltima actualización el
Tastendrücke eines Matrix-Keypads am seriellen Monitor anzeigen
So funktioniert ein Tastenfeld
Bibliothek installieren
Schaltung aufbauen
Tasten auslesen und anzeigen
4×4-Tastenfeld auslesen
#include <Keypad.h>
// Hier wird die Größe des Keypads definiert
const byte COLS = 4; // 4 Spalten
const byte ROWS = 4; // 4 Zeilen
// Die Ziffern und Zeichen des Keypads werden eingegeben:
char hexaKeys[ROWS][COLS] = {
{ 'D', '#', '0', '*' },
{ 'C', '9', '8', '7' },
{ 'B', '6', '5', '4' },
{ 'A', '3', '2', '1' }
};
byte colPins[COLS] = { 2, 3, 4, 5 }; // Definition der Pins für die 4 Spalten
byte rowPins[ROWS] = { 6, 7, 8, 9 }; // Definition der Pins für die 4 Zeilen
char Taste; // Taste ist die Variable für die jeweils gedrückte Taste.
// Das Keypad kann ab sofort mit "Tastenfeld" angesprochen werden.
Keypad Tastenfeld = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
void setup()
{
Serial.begin(9600);
}
void loop()
{
Taste = Tastenfeld.getKey(); // Unter der Variablen "Taste" wird die gedrückte Taste gespeichert.
if (Taste) // Wenn eine Taste gedrückt wurde ...
{
Serial.print("Die Taste ");
Serial.print(Taste);
Serial.print(" wurde gedrueckt");
Serial.println(); // ... teile uns am seriellen Monitor die gedrückte Taste mit.
delay(200); // Kurze Pause, damit eine Taste nicht mehrfach angezeigt wird.
}
}Variante: ein 3×4-Tastenfeld verwenden
Änderungen für ein 3×4-Tastenfeld
const byte COLS = 3; // 3 Spalten
byte colPins[COLS] = { 8, 7, 6 }; // Definition der Pins für die 3 Spalten
char hexaKeys[ROWS][COLS] = {
{ '#', '0', '*' },
{ '9', '8', '7' },
{ '6', '5', '4' },
{ '3', '2', '1' }
};Calificar la guía