ESP32 C3 Super Mini - Tastenfeld 4x4
Ein 4x4-Tastenfeld gibt Ihrem ESP32 C3 Super Mini 16 Tasten auf einer einzigen dünnen Folie. Es ist der einfachste Weg, einen Benutzer eine Zahl oder einen PIN-Code eingeben zu lassen. Dieses ESP32 C3 Super Mini Tastenfeld-4x4-Tutorial zeigt Ihnen die Verdrahtung, den Code und eine funktionierende Passwortprüfung.
In diesem Tutorial lernen Sie:
- Was ein 4x4-Tastenfeld ist und wie die Tastenabtastung funktioniert
- Was die 8 Pins des Tastenfelds (R1-R4 und C1-C4) bewirken
- Wie Sie ein 4x4-Tastenfeld mit dem ESP32 C3 Super Mini verdrahten
- Wie Sie jede gedrückte Taste im seriellen Monitor ausgeben
- Wie Sie eine Passwortprüfung mit den Tasten * und # aufbauen

Erforderliche Hardware
| 1 | × | ESP32 C3 Super Mini | |
| 1 | × | USB-Kabel Typ-A zu Typ-C (für USB-A PC) | |
| 1 | × | USB-Kabel Typ-C zu Typ-C (für USB-C PC) | |
| 1 | × | Tastenfeld 4x4 | |
| 1 | × | Verbindungskabel |
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über 4x4 Keypad
Ein 4x4-Tastenfeld ist eine Folientastatur mit 16 Tasten, die in 4 Reihen und 4 Spalten angeordnet sind.
Wichtige Merkmale:
- 16 Tasten: 0-9, A, B, C, D, Stern und Raute.
- Nur 8 Leitungen: 4 Reihen-Pins und 4 Spalten-Pins.
- Kein Versorgungspin: Das Tastenfeld benötigt weder VCC noch GND.
- Dünn und flach: Eine Klebefläche auf der Rückseite ermöglicht das Aufkleben auf ein Gehäuse.
- 3,3-V-tauglich: Es funktioniert direkt mit den Logikpegeln des ESP32 C3 Super Mini.
Technische Daten:
- Layout: 4 Reihen x 4 Spalten.
- Pins: 8 Pins (R1, R2, R3, R4, C1, C2, C3, C4).
- Kontaktart: Einfacher Taster unter jeder Taste.
- Betriebsspannung: Wird von der Platine vorgegeben. 3.3V beim ESP32 C3 Super Mini.
- Stromaufnahme: Nahezu null, daher ist keine zusätzliche Versorgung nötig.
Wie die Tastenabtastung funktioniert
Das Tastenfeld enthält keinen Chip, daher findet der ESP32 C3 Super Mini die Taste durch Abtasten.
- Ein Schalter pro Taste: Jede Taste verbindet eine Reihenleitung mit einer Spaltenleitung.
- Reihe für Reihe: Die Platine zieht jeweils eine Reihe auf LOW.
- Spalten lesen: Anschließend liest sie alle 4 Spalten-Pins.
- Treffer: Eine Spalte mit LOW zeigt der Platine, welche Taste gedrückt ist.
- Schnell: Die gesamte Abtastung dauert weniger als eine Millisekunde und wirkt daher sofort.
- Die Bibliothek erledigt das: Die DIYables_Keypad-Bibliothek führt diese Abtastung für Sie durch.
Pinbelegung
Das 4x4-Tastenfeld hat 8 Pins in zwei Gruppen.
- R1-Pin: Reihe 1, die oberste Tastenreihe (1, 2, 3, A).
- R2-Pin: Reihe 2, die zweite Tastenreihe (4, 5, 6, B).
- R3-Pin: Reihe 3, die dritte Tastenreihe (7, 8, 9, C).
- R4-Pin: Reihe 4, die unterste Tastenreihe (*, 0, #, D).
- C1-Pin: Spalte 1, die linke Spalte (1, 4, 7, *).
- C2-Pin: Spalte 2, die zweite Spalte (2, 5, 8, 0).
- C3-Pin: Spalte 3, die dritte Spalte (3, 6, 9, #).
- C4-Pin: Spalte 4, die rechte Spalte (A, B, C, D).

WARNING
Ein 4x4-Tastenfeld benötigt 8 GPIO-Pins, und das sind fast alle freien Pins des ESP32 C3 Super Mini. Nach der Verdrahtung bleibt kaum noch ein Pin für ein Display, ein Relais oder einen Sensor übrig.
Wenn Sie Pins für andere Bauteile benötigen, verwenden Sie stattdessen eine dieser Lösungen:
- Ein I2C-Tastenfeld, das nur SDA GPIO10 und SCL GPIO8 benötigt.
- Einen PCF8574-I/O-Expander zwischen Tastenfeld und Platine, ebenfalls an SDA GPIO10 und SCL GPIO8.
Beide Optionen steuern dieselben 16 Tasten mit nur 2 Leitungen.
Verdrahtungsdiagramm
Verbinden Sie die 4 Reihen-Pins und die 4 Spalten-Pins des Tastenfelds mit 8 freien GPIO-Pins am ESP32 C3 Super Mini.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| Tastenfeld-Pin | ESP32 C3 Super Mini Pin |
|---|---|
| R1 | GPIO2 |
| R2 | GPIO3 |
| R3 | GPIO4 |
| R4 | GPIO5 |
| C1 | GPIO6 |
| C2 | GPIO7 |
| C3 | GPIO10 |
| C4 | GPIO1 |
- Hinweis: Das Tastenfeld hat keine VCC- und keine GND-Leitung. Alle 8 Pins werden mit GPIO-Pins verbunden.
- Hinweis: Verwenden Sie niemals GPIO8 (eingebaute LED und Boot-Pin), GPIO9 (Boot-Pin), GPIO20 oder GPIO21 (UART des seriellen Monitors).
- Hinweis: Das Tastenfeld ist 3,3-V-sicher. Verbinden Sie keinen Pin mit 5V.
- Hinweis: Stecken Sie jedes Jumper-Kabel vollständig in das Breadboard. Ein lockeres Kabel ist die häufigste Ursache für nicht erkannte Tastendrücke.
- Hinweis: Halten Sie das Tastenfeld mit den Tasten nach oben und zählen Sie die Flachbandleitungen von links. Die erste ist R1 und die letzte ist C4.
ESP32 C3 Super Mini Code - Tastenfeld 4x4
Dieser erste Sketch gibt einfach jede Taste aus, die Sie drücken.
Was dieser Code macht:
- Erstellt eine Belegung der 16 Tasten in einem 4x4-Array.
- Teilt der Bibliothek mit, an welchen GPIO-Pins die Reihen und Spalten liegen.
- Tastet das Tastenfeld in der Schleife immer wieder ab.
- Gibt die gedrückte Taste mit 115200 Baud im seriellen Monitor aus.
- Gibt nichts aus, wenn keine Taste gedrückt ist.
Schnelle Schritte
- Neu beim ESP32 C3 Super Mini? Absolvieren Sie zuerst unser Tutorial Erste Schritte mit dem ESP32 C3 Super Mini, um Ihre Entwicklungsumgebung einzurichten.
- Teile verdrahten: Folgen Sie dem obigen Schaltplan, um das 4x4-Tastenfeld mit dem ESP32 C3 Super Mini zu verbinden.
- Platine anschließen: Verbinden Sie den ESP32 C3 Super Mini über ein USB-Typ-C-Kabel mit Ihrem PC.
- IDE öffnen: Starten Sie die Arduino IDE.
- Board auswählen: Stellen Sie sicher, dass ESP32 C3 Super Mini unter Tools > Board ausgewählt ist.
- Port auswählen: Wählen Sie den COM-Port Ihrer Platine unter Tools > Port.
- Library Manager öffnen: Klicken Sie auf das Libraries-Symbol in der linken Leiste der Arduino IDE.
- Nach der Bibliothek suchen: Geben Sie "DIYables_Keypad" in das Suchfeld ein.
- Bibliothek installieren: Suchen Sie die Keypad-Bibliothek von DIYables.io und klicken Sie dann auf Install.
- Search for DIYables_Keypad created by DIYables.io and click the Install button.
- Code kopieren: Kopieren Sie den obigen Tastenfeld-Code und fügen Sie ihn in die Arduino IDE ein.
- Code hochladen: Klicken Sie auf die Schaltfläche Upload, um den Sketch auf den ESP32 C3 Super Mini zu übertragen.
- Seriellen Monitor öffnen: Stellen Sie die Baudrate auf 115200 ein.
- Testen: Drücken Sie nacheinander einige Tasten auf dem Tastenfeld.
- Ausgabe prüfen: Jede gedrückte Taste erscheint in einer eigenen Zeile.
- Profi-Tipp: Wenn die falsche Taste ausgegeben wird, tauschen Sie die Reihen- und Spalten-Pins im Code. Die Flachbandkabel von Tastenfeldern sind nicht bei jedem Hersteller gleich verdrahtet.
Ausgabe im seriellen Monitor
Drücken Sie nacheinander die Tasten 1, 4, A und #.
Tastenfeld und Passwort
Das Tastenfeld wird zu einem PIN-Pad, wenn Sie zwei Tasten als Steuertasten verwenden.
- Sterntaste: Die Taste * löscht Ihre Eingabe, damit Sie von vorn beginnen können.
- Rautetaste: Die Taste # beendet die Eingabe und prüft sie gegen das gespeicherte Passwort.
- Jede andere Taste: Wird an das Ende des eingegebenen Passworts angehängt.
- Ergebnis: Der Sketch gibt ACCESS GRANTED oder ACCESS DENIED aus und löscht dann die Eingabe.
- Ihr Code: Fügen Sie Ihre eigene Aktion, z. B. das Öffnen eines Schlosses, an der Stelle ein, an der im Code DO YOUR WORK HERE steht.
ESP32 C3 Super Mini Code - Tastenfeld-Passwort
Dieser zweite Sketch verwandelt das ESP32 C3 Super Mini Tastenfeld in eine Passwortprüfung.
Was dieser Code macht:
- Speichert ein Passwort im Sketch, standardmäßig 7890A.
- Sammelt jede gedrückte Taste in einem Eingabe-String.
- Löscht die Eingabe, wenn Sie die Taste * drücken.
- Vergleicht die Eingabe mit dem Passwort, wenn Sie die Taste # drücken.
- Gibt aus, ob das Passwort korrekt ist, und löscht dann die Eingabe.
Schnelle Schritte (Passwort-Beispiel)
- Code hochladen: Übertragen Sie den Passwort-Sketch auf den ESP32 C3 Super Mini.
- Seriellen Monitor öffnen: Stellen Sie die Baudrate auf 115200 ein.
- Falschen Code eingeben: Drücken Sie 1234BC und dann #.
- Richtigen Code eingeben: Drücken Sie 7890A und dann #.
- Ausgabe prüfen: Lesen Sie die Ergebniszeilen im seriellen Monitor.
- Profi-Tipp: Drücken Sie jederzeit *, wenn Sie sich vertippt haben. Damit wird die Eingabe ohne Meldung über ein falsches Passwort gelöscht.
※ Notiz:
Das Passwort steht als Klartext im Sketch. Zum Lernen ist das in Ordnung. Für ein echtes Schloss sollten Sie es im NVS-Flash speichern, damit Sie es ohne erneutes Hochladen ändern können.
Zeilenweise Code-Erklärung
Der obige ESP32 C3 Super Mini Code enthält eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code!
Anwendungs-/Projektideen
Ein Tastenfeld ist die Eingabeseite fast jedes kleinen Sicherheits- oder Menüprojekts.
- Türschloss: Öffnen Sie ein Magnetschloss, wenn die PIN korrekt ist.
- Tresor: Verlangen Sie eine längere Tastenfolge, bevor eine Box geöffnet werden kann.
- Alarm-Tastenfeld: Schalten Sie eine Alarmanlage mit einem Code scharf und unscharf.
- Zugangsprotokoll: Speichern Sie jeden Tastendruck mit einem Zeitstempel auf einer SD-Karte.
- Einfacher Taschenrechner: Verwenden Sie 0-9 für Zahlen und A-D für Plus, Minus, Mal und Geteilt.
- Menüsteuerung: Wählen Sie einen Menüeintrag auf einem LCD aus, indem Sie seine Nummer eingeben.
Fordern Sie sich selbst heraus
Probieren Sie diese kleinen Projekte aus, um mit dem 4x4-Tastenfeld und dem ESP32 C3 Super Mini zu üben.
- Einfach: Ändern Sie das Passwort in Ihre eigene 6-stellige Zahl und testen Sie es.
- Einfach: Lassen Sie die eingebaute LED an GPIO8 bei jedem Tastendruck einmal blinken.
- Mittel: Zeigen Sie jede Taste auf einem I2C-LCD statt im seriellen Monitor an, mit SDA GPIO10 und SCL GPIO8.
- Mittel: Sperren Sie das Tastenfeld nach 3 Fehlversuchen für 30 Sekunden.
- Fortgeschritten: Speichern Sie das Passwort im NVS-Flash, damit es einen Stromausfall übersteht, und fügen Sie eine Tastenfolge zum Ändern hinzu.
- Fortgeschritten: Ersetzen Sie die direkte Verdrahtung durch einen PCF8574-I/O-Expander, damit das Tastenfeld nur 2 Pins benötigt.