4.2 - 4x4 Tastenfeld¶
Das 4x4-Tastenfeld, auch als Matrix-Tastenfeld bekannt, besteht aus einer Matrix von 16 Tasten, die in einer einzigen Bedienoberfläche integriert sind.
Solche Tastenfelder findet man vor allem bei Geräten, die digitale Eingaben erfordern, wie zum Beispiel Taschenrechner, Fernbedienungen, Tastentelefone, Verkaufsautomaten, Geldautomaten, Zahlenschlösser und elektronische Türschlösser.
In diesem Projekt lernen wir, wie man ermittelt, welche Taste gedrückt wurde und den entsprechenden Tastenwert erhält.
Benötigte Komponenten
Für dieses Projekt benötigen wir die folgenden Bauteile.
Es ist natürlich praktisch, ein komplettes Set zu kaufen. Hier ist der Link:
Name |
ARTIKEL IN DIESEM SET |
KAUF-LINK |
---|---|---|
Kepler Kit |
450+ |
Die Teile können aber auch einzeln über die untenstehenden Links gekauft werden.
SN |
KOMPONENTENÜBERSICHT |
ANZAHL |
KAUF-LINK |
---|---|---|---|
1 |
1 |
||
2 |
Micro-USB-Kabel |
1 |
|
3 |
1 |
||
4 |
Mehrere |
||
5 |
4(10KΩ) |
||
6 |
1 |
Schaltplan
Vier Pull-down-Widerstände sind mit den jeweiligen Spalten des Matrix-Tastenfelds verbunden, damit G6 ~ G9 einen stabilen niedrigen Pegel erhalten, wenn keine Taste gedrückt ist.
Die Reihen des Tastenfelds (G2 ~ G5) sind so programmiert, dass sie einen hohen Pegel haben. Wird einer der Anschlüsse G6 ~ G9 als hoch gelesen, wissen wir, welche Taste gedrückt wurde.
Zum Beispiel wird bei einem hohen Signal auf G6 die Taste mit der Nummer 1 gedrückt; dies ist darauf zurückzuführen, dass die Steuerpins dieser Taste G2 und G6 sind. Wenn die Taste gedrückt wird, werden G2 und G6 miteinander verbunden und G6 ist ebenfalls hoch.
Verdrahtung
Um die Verdrahtung zu vereinfachen, sind im obigen Schema die Spalte und die Reihe des Matrix-Tastenfelds sowie die 10K-Widerstände gleichzeitig in die Löcher eingesteckt, in denen sich G6 ~ G9 befinden.
Code
Bemerkung
Die Datei
4.2_4x4_keypad.ino
finden Sie im Verzeichniskepler-kit-main/arduino/4.2_4x4_keypad
.Oder kopieren Sie diesen Code in die Arduino IDE.
Vergessen Sie nicht, das Board (Raspberry Pi Pico) und den korrekten Port auszuwählen, bevor Sie auf die Schaltfläche Hochladen klicken.
Die Bibliothek
Keypad
wird hier verwendet. Bitte beachten Sie Bibliotheken hinzufügen für weitere Informationen zur Integration in die Arduino IDE.
Nach dem Ausführen des Programms wird die Shell die Tasten ausgeben, die Sie auf dem Tastenfeld gedrückt haben.
Funktionsweise
Mithilfe der Bibliothek Keypad.h
können Sie das Tastenfeld einfach nutzen.
#include <Keypad.h>
Bibliotheksfunktionen:
Keypad(char *userKeymap, byte *row, byte *col, byte numRows, byte numCols)
Initialisiert die interne Tastenbelegung entsprechend userKeymap
.
userKeymap
: Die Symbole auf den Tasten des Tastenfelds.
row
, col
: Pin-Konfiguration.
numRows
, numCols
: Größe des Tastenfelds.
char getKey()
Gibt die gedrückte Taste zurück, falls vorhanden. Diese Funktion ist nicht blockierend.