ESP32 S3 - Tastenfeld 1x4
Diese Anleitung führt Sie durch das Anschließen und Programmieren eines 1x4-Tastenfelds mit einem ESP32 S3. Sie lernen, wie jede Taste einem GPIO-Pin zugeordnet ist und wie Sie mit der ezButton-Bibliothek das Entprellen sauber handhaben, ohne andere Teile Ihres Sketches zu stören.
Was Sie umsetzen werden:
- Eine 1x4-Tastenfeld-Schaltung, die mit Jumperkabeln an den ESP32 S3 angeschlossen ist.
- Code, der erkennt, welche Taste gedrückt wurde, und deren Beschriftung im seriellen Monitor ausgibt.
- Einen entprellten Tastenfeld-Leser, der falsche Mehrfach-Tastendrücke verhindert.
- Eine Grundlage, die Sie für Passworteingabe, Menünavigation oder Gerätesteuerung erweitern können.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über Keypad 1x4
Ein 1x4-Tastenfeld enthält vier Folientasten, die in einer einzigen Reihe angeordnet sind, und ist damit ein kompaktes Eingabegerät für Embedded-Projekte. Es wird häufig verwendet, damit Benutzer Daten wie Passwörter eingeben, durch einfache Menüs navigieren oder Geräteaktionen auslösen können, ohne eine vollständige Tastatur zu benötigen.
Wichtige Spezifikationen
Das 1x4-Tastenfeld wird über fünf Pins angeschlossen und arbeitet mit 3,3-V-Logikpegeln, was perfekt zur GPIO-Spannung des ESP32 S3 passt. Jede Taste wirkt als Taster zwischen ihrem eigenen Pin und dem gemeinsamen Pin, sodass bei Verwendung der internen Pull-up-Widerstände des Mikrocontrollers kein externer Pull-up- oder Pull-down-Widerstand erforderlich ist.
Pinbelegung
Das 1x4-Tastenfeld hat fünf Pins, deren Reihenfolge nicht mit den auf der Folie aufgedruckten Tastenbeschriftungen übereinstimmt.
- Pin 1: verbunden mit Taste 2
- Pin 2: verbunden mit Taste 1
- Pin 3: verbunden mit Taste 4
- Pin 4: verbunden mit Taste 3
- Pin 5: mit allen Tasten verbunden; dies ist der gemeinsame Pin

Verdrahtungsdiagramm
Verbinden Sie jeden der vier Tasten-Pins des Tastenfelds mit einem eigenen GPIO-Pin des ESP32 S3 und den gemeinsamen Pin (Pin 5) mit GND. Die internen Pull-up-Widerstände des ESP32 S3 halten jeden GPIO auf HIGH, bis eine Taste gedrückt wird.
Sicherheitshinweise
Verbinden Sie den gemeinsamen Pin des Tastenfelds immer mit GND und aktivieren Sie die internen Pull-up-Widerstände im Code, damit die GPIO-Pins nie undefiniert (floating) sind. Verlegen Sie die Kabel des Tastenfelds nicht in der Nähe von Leiterbahnen mit hohem Strom oder Relaisspulen, da elektrische Störungen zu falschen Tastenerkennungen führen können.
| Tastenfeld 1x4 | ESP32 S3 |
|:---|:---|
| Pin 1 (Taste 2) | GPIO5 |
| Pin 2 (Taste 1) | GPIO4 |
| Pin 3 (Taste 4) | GPIO7 |
| Pin 4 (Taste 3) | GPIO6 |
| Pin 5 (gemeinsam) | GND |

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
ESP32-S3-Code
Jede Taste des 1x4-Tastenfelds verhält sich wie ein Taster, daher liest der ESP32 S3 sie mit digitalRead(). Physische Tasten prellen jedoch, wodurch ein einzelner Tastendruck als mehrere Ereignisse erkannt werden kann; daher ist Entprellen unerlässlich. Der folgende Code verwendet die ezButton-Bibliothek, um das Entprellen für alle vier Tasten automatisch zu übernehmen, wodurch der Sketch übersichtlich und leicht erweiterbar bleibt.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Verdrahten Sie das Tastenfeld wie im obigen Schaltplan gezeigt mit dem ESP32 S3.
- Verbinden Sie das ESP32-S3-Board über ein USB-Type-C-Kabel mit Ihrem PC.
- Öffnen Sie die Arduino IDE auf Ihrem PC.
- Wählen Sie das richtige ESP32-S3-Board (z. B. ESP32S3 Dev Module) und den richtigen COM-Port aus.
- Klicken Sie auf das Symbol Libraries in der linken Leiste der Arduino IDE.
- Suchen Sie nach "ezButton" und finden Sie die Button-Bibliothek von ArduinoGetStarted.com.
- Klicken Sie auf die Schaltfläche Install, um die ezButton-Bibliothek zu installieren.
- Search for ezButton created by ArduinoGetStarted.com and click the Install button.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code auf den ESP32 S3 hochzuladen.

- Öffnen Sie den seriellen Monitor in der Arduino IDE.
- Drücken Sie jede Taste des 1x4-Tastenfelds und prüfen Sie die Ausgabe im seriellen Monitor.
Profi-Tipp: Wenn eine Taste bei einem einzigen Druck mehrfach erkannt wird, erhöhen Sie das Entprellintervall in den ezButton-Einstellungen, um das mechanische Prellen Ihrer Tastenfeld-Folie herauszufiltern.
Ausgabe im seriellen Monitor
Öffnen Sie den seriellen Monitor mit 9600 Baud, um zu beobachten, welche Tasten der ESP32 S3 beim Drücken erkennt. Die folgenden Ausgaben zeigen eine typische Sitzung mit Zeitstempeln:
Anwendungen
Das 1x4-Tastenfeld bietet dem ESP32 S3 eine einfache, aber vielseitige Eingabeschnittstelle, die sich für viele Embedded-Projekte eignet. Hier einige typische Anwendungen:
- Passworteingabe: Verwenden Sie vier Tasten, um eine numerische PIN einzugeben, die ein relaisgesteuertes Türschloss oder einen Tresor entriegelt.
- Menünavigation: Weisen Sie den Tasten die Aktionen Auf, Ab, Auswählen und Zurück zu, um durch ein Menü auf einem OLED-Display zu navigieren.
- Modusauswahl: Wechseln Sie mit einem einzigen Tastendruck zwischen Betriebsmodi wie manuell, automatisch, Timer und Aus.
- Alarmsteuerung: Schalten Sie eine Alarmanlage mit Bewegungssensor durch Drücken einer festgelegten Tastenkombination scharf und unscharf.
- Punktezähler: Erhöhen oder verringern Sie bei einem Brettspiel einen Punktestand, der auf einem LCD-Bildschirm angezeigt wird.
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.
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32-S3-Projekt an.
Herausforderungen
Über den einfachen Tastenfeld-Leser hinaus zu experimentieren ist der beste Weg, Ihr Verständnis der Eingabeverarbeitung auf dem ESP32 S3 zu vertiefen. Probieren Sie diese Herausforderungen aus, um Sicherheit mit fortgeschritteneren Techniken zu gewinnen:
- Anfänger: Ändern Sie den Code so, dass jede Taste eine andere LED umschaltet, die an einen GPIO-Pin des ESP32 S3 angeschlossen ist.
- Fortgeschritten: Implementieren Sie ein 4-stelliges PIN-System, das ein Relais entriegelt, wenn die richtige Folge eingegeben wird, und "Access Granted" oder "Access Denied" im seriellen Monitor ausgibt.
- Experte: Kombinieren Sie das 1x4-Tastenfeld mit einem OLED-Display, um ein vollständig navigierbares Menü zu bauen, mit dem der Benutzer Geräteeinstellungen ohne Computer auswählen und anpassen kann.