Arduino - Tastaturfeld
Die Tastatur wird in vielen Geräten wie Türschlössern, Geldautomaten und Taschenrechnern eingesetzt.
In diesem Tutorial werden wir lernen:
- Wie man ein 3x4-Keypad und ein 4x4-Keypad mit Arduino verwendet.
- Wie man Werte von einem 3x4-Keypad und einem 4x4-Keypad mit Arduino ausliest.
- Wie man das vom Keypad eingegebene Passwort überprüft.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables STEM V3 Starter-Kit (Arduino enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über das Keypad

Das Tastenfeld ist eine Anordnung von Tasten, die in Reihen und Spalten angeordnet sind (Matrix genannt). Jede Taste wird als Taste bezeichnet.
Tastenfelder gibt es in verschiedenen Typen. Zwei beliebte Typen für DIY-Projekte sind das 3x4-Tastenfeld (12 Tasten) und das 4x4-Tastenfeld (16 Tasten).
Pinbelegung
Die Pins des Keypads sind in zwei Gruppen aufgeteilt: Zeile und Spalte.
3x4-Keypad hat 7 Pins: 4 Zeilenpins (R1, R2, R3, R4) und 3 Spaltenpins (C1, C2, C3).
Keypad 4x4 hat 8 Pins: 4 Zeilenpins (R1, R2, R3, R4) und 4 Spaltenpins (C1, C2, C3, C4).

Wie es funktioniert
Der Prozess der Erkennung von Tastendrücken wird als Keypad-Scan bezeichnet.
Es wird als „Scannen“ bezeichnet, weil es eine Taste nach der anderen überprüft.
Zeilenpins sind mit den Ausgangspins des Arduino verbunden.
Spaltenpins sind mit den Eingangs-Pins des Arduino verbunden (INPUT_PULLUP, in diesem Zustand ist der Wert des Eingabepins HIGH, wenn die Taste nicht gedrückt ist).
Für jede Zeile:
- Setzt alle Zeilenpins auf HIGH.
- Setzt nur den aktuellen Zeilenpin auf LOW.
- Liest den Zustand jeder Spalte.
- Wenn ein Spaltenpin HIGH ist ⇒ Taste bei (Zeile, Spalte) NICHT gedrückt.
- Wenn ein Spaltenpin LOW ist ⇒ Taste bei (Zeile, Spalte) gedrückt.
- Wiederholt den obigen Prozess für die nächsten Zeilenpins.
※ Notiz:
Das Obige ist eine der Methoden, ein Tastenfeld abzutasten. Wir können alle Hochpegel in Tiefpegel und alle Tiefpegel in Hochpegel invertieren, um das Tastenfeld abzutasten.
⇒ Wie wir wissen, benötigt ein einzelner Knopf einen Pin am Arduino und GND. Nehmen wir als Beispiel ein 4x4-Keypad. Wenn jeder Knopf als eigenständiger Taster betrachtet wird, benötigt er 16 Arduino-Pins für 16 Tasten, zuzüglich eines GND-Pins. Wenn wir Tasten in Matrixform anordnen, benötigen wir nur 8 Arduino-Pins, sodass wir Arduino-Pins sparen können. Kurz gesagt: Die Antwort lautet, Arduino-Pins zu sparen.
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
So programmieren Sie ein Keypad
Dank der Keypad-Bibliothek ist die Verwendung eines Keypads mit Arduino ein Kinderspiel, ganz gleich, ob du verstehst, wie das Keypad funktioniert oder nicht.
Arduino-Code
Ziffernblock 3×4
4x4-Tastenfeld
Schnelle Schritte
- Navigieren Sie zum Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
- Suchen Sie “keypad”, dann finden Sie die keypad-Bibliothek von Mark Stanley, Alexander Brevig
- Klicken Sie auf die Installieren-Schaltfläche, um die keypad-Bibliothek zu installieren.

- Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE.
- Klicken Sie auf die Upload-Schaltfläche in der Arduino IDE, um den Code auf den Arduino hochzuladen.
- Öffnen Sie den seriellen Monitor.
- Drücken Sie einige Tasten auf dem Tastenfeld.
- Sehen Sie das Ergebnis im seriellen Monitor.
Tastatur und Passwort
Eine beliebte Anwendung des Keypads ist die Passworteingabe. In dieser Anwendung legen wir zwei spezielle Tasten fest:
- Eine Taste, um die Passworteingabe zu starten bzw. neu zu starten. Zum Beispiel: Taste „*“
- Eine Taste, um die Passworteingabe zu beenden. Zum Beispiel: Taste „#“
Das Passwort wird eine Zeichenkette sein, die die verbleibenden Schlüssel enthält, mit Ausnahme von zwei ausgewählten Spezialschlüsseln.
Wenn eine Taste gedrückt wird.
- Wenn der Schlüssel weder '*' noch '#' ist, füge den Schlüssel an die vom Benutzer eingegebene Passwortzeichenfolge an.
- Wenn der Schlüssel '#' ist, vergleiche die vom Benutzer eingegebene Passwortzeichenfolge mit dem Passwort, um festzustellen, ob das eingegebene Passwort korrekt ist, und lösche anschließend die vom Benutzer eingegebene Passwortzeichenfolge.
- Wenn der Schlüssel '*' ist, lösche die vom Benutzer eingegebene Passwortzeichenfolge.
Ziffernblock - Passwortcode
- Führen Sie den obigen Code aus
- Öffnen Sie den seriellen Monitor
- Drücken Sie die Tasten '123456' und drücken Sie '#'
- Drücken Sie die Tasten '1234' und drücken Sie '#'
- Sehen Sie das Ergebnis im seriellen Monitor
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.
Zusätzliches Wissen
Fordere dich heraus
- Zeige die gedrückte Taste des Keypads auf dem LCD an. Hinweis: Siehe Arduino - LCD
- Baue ein Türschloss mit Passwortschutz unter Verwendung des Keypads.