ESP32 S3 - Tastenfeld - LCD
Ein Tastenfeld in Kombination mit einem LCD-I2C-Display gibt dem ESP32 S3 eine vollständige Mensch-Maschine-Schnittstelle – der Benutzer drückt eine Taste und das Board zeigt das Ergebnis auf dem Bildschirm an, ohne dass ein Laptop oder der serielle Monitor benötigt wird. Dieses Tutorial führt Sie durch das Anschließen beider Komponenten an den ESP32 S3 und das Schreiben des Arduino-Codes, der jeden Tastendruck erfasst und live auf dem LCD darstellt.
Was Sie umsetzen werden:
- Eine Schaltung, die ein 3x4- oder 4x4-Matrix-Tastenfeld und ein LCD-I2C-Display mit dem ESP32 S3 verbindet
- Einen Sketch, der jeden Tastendruck erkennt und das LCD sofort mit dem gedrückten Zeichen aktualisiert
- Eine eigenständige Eingabeanzeige, die nach dem Hochladen unabhängig von einem Computer funktioniert
- Eine wiederverwendbare Grundlage für PIN-Eingabefelder, Menüsysteme und interaktive Eingabeschnittstellen
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) |
Kaufhinweis: Die meisten LCD I2C-Displays auf dem Markt sind 5V-Displays. Sie funktionieren möglicherweise mit diesem Board, aber das ist nicht sicher und kann das Board beschädigen. Wir empfehlen dringend, das oben empfohlene 3.3V LCD I2C-Display zu verwenden.
Überblick über Keypad and LCD
Ein Matrix-Tastenfeld codiert Tastendrücke, indem es Reihen und Spalten abfragt, sodass viele Tasten über nur wenige GPIO-Pins gelesen werden können – eine effiziente Möglichkeit, jedem ESP32-S3-Projekt eine physische Eingabe hinzuzufügen. In Kombination mit einem LCD-I2C-Display schließt sich der Rückmeldekreis, denn der Benutzer erhält eine sofortige, sichtbare Bestätigung dessen, was er eingegeben hat – ganz ohne Fenster des seriellen Monitors.
Wichtige Spezifikationen
Wir haben eigene Tutorials, die jede Komponente ausführlich behandeln. Jedes Tutorial enthält detaillierte Informationen und Schritt-für-Schritt-Anleitungen zu Pinbelegung, Funktionsprinzip, Verdrahtung mit dem ESP32 S3 und Arduino-Code. Mehr dazu erfahren Sie unter den folgenden Links:
Verdrahtungsdiagramm
Verbinden Sie die Reihen- und Spalten-Pins des Tastenfelds mit den GPIOs des ESP32 S3 und schließen Sie das LCD-I2C-Modul an den I2C-Bus des Boards an, bevor Sie irgendetwas einschalten. Überprüfen Sie jede Verbindung anhand der folgenden Schaltpläne und achten Sie besonders auf das VCC-Kabel des LCD – es muss an die 5-V-Schiene und nicht an 3,3 V angeschlossen werden, damit das Display richtig funktioniert.
- Schaltplan zwischen ESP32 S3 und Tastenfeld 3x4

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Möchten Sie eine festere Verbindung als mit Jumperkabeln? Probieren Sie ein Schraubklemmen-Board für ESP32 S3: Der ESP32 S3 sitzt darauf, und jeder Pin bekommt seine eigene Schraubklemme. Unten sehen Sie das Verdrahtungsdiagramm mit dem Schraubklemmen-Board.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Ein GPIO-Breakout-Board für ESP32 S3 geht ebenfalls. Neben den S-, 3,3V- und GND-Pins für jeden GPIO hat es zusätzliche 3,3V- und 5V-Pins:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
- Schaltplan zwischen ESP32 S3 und Tastenfeld 4x4

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Eine Schraubklemme hält jedes Kabel fest, auch wenn die Platine wackelt. Stecken Sie dazu den ESP32 S3 auf ein Schraubklemmen-Board für ESP32 S3. So sieht es mit dem Schraubklemmen-Board aus:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Ein GPIO-Breakout-Board für ESP32 S3 geht ebenfalls. Neben den S-, 3,3V- und GND-Pins für jeden GPIO hat es zusätzliche 3,3V- und 5V-Pins:

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Sicherheitshinweise
Verbinden Sie den VCC-Pin des LCD I2C immer mit der 5-V-Schiene (VBUS) statt mit der 3,3-V-Schiene – die Hintergrundbeleuchtung und die Treiberschaltung des LCD benötigen 5 V und liefern bei niedrigeren Spannungen eine schwache oder gar keine Anzeige. Die Signalleitungen des Tastenfelds arbeiten mit 3,3-V-Logik, die die GPIOs des ESP32 S3 direkt verarbeiten, sodass zwischen Tastenfeld und Board keine Pegelwandlung nötig ist.
| Komponente | Pin | ESP32-S3-Pin |
|---|---|---|
| Tastenfeld 3x4 | Reihe 1 | GPIO1 |
| Tastenfeld 3x4 | Reihe 2 | GPIO2 |
| Tastenfeld 3x4 | Reihe 3 | GPIO42 |
| Tastenfeld 3x4 | Reihe 4 | GPIO41 |
| Tastenfeld 3x4 | Spalte 1 | GPIO40 |
| Tastenfeld 3x4 | Spalte 2 | GPIO39 |
| Tastenfeld 3x4 | Spalte 3 | GPIO38 |
| LCD I2C | VCC | 5V |
| LCD I2C | GND | GND |
| LCD I2C | SCL | GPIO9 (I2C-Takt) |
| LCD I2C | SDA | GPIO8 (I2C-Daten) |
ESP32-S3-Code - Tastenfeld 3x4 - LCD I2C
Der folgende Code initialisiert das 3x4-Tastenfeld und das LCD-I2C-Display und läuft dann in einer Schleife, die das Tastenfeld auf gedrückte Tasten abfragt und diese in Echtzeit auf dem LCD ausgibt. Er verwendet die Keypad-Bibliothek von Mark Stanley und Alexander Brevig für die Matrixabfrage und die DIYables-LCD-I2C-Bibliothek, damit Displayaktualisierungen mit einem einzigen, gut lesbaren Funktionsaufruf erfolgen.
※ Notiz:
Die I2C-Adresse des LCD kann je nach Hersteller unterschiedlich sein. Im Code haben wir die Adresse 0x27 verwendet, die vom Hersteller DIYables angegeben wird. Wenn Ihr LCD nichts anzeigt, versuchen Sie stattdessen die Adresse 0x3F.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Verdrahten Sie das Tastenfeld und das LCD I2C gemäß dem obigen Schaltplan 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 im Menü Tools das richtige ESP32-S3-Board und den richtigen COM-Port aus.
- Klicken Sie auf das Symbol Libraries in der linken Leiste der Arduino IDE.
- Geben Sie "keypad" in das Suchfeld ein und suchen Sie die Keypad-Bibliothek von DIYables.
- Klicken Sie auf die Schaltfläche Install, um die Keypad-Bibliothek zu installieren.
- Search for DIYables_Keypad created by DIYables.io and click the Install button.
- Geben Sie "DIYables LCD I2C" in das Suchfeld ein und suchen Sie die Bibliothek DIYables_LCD_I2C von DIYables.
- Klicken Sie auf die Schaltfläche Install, um die Bibliothek DIYables_LCD_I2C zu installieren.
- Search for DIYables LCD I2C created by DIYables.io and click the Install button.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Klicken Sie auf die Schaltfläche Upload, um den Code zu kompilieren und auf Ihren ESP32 S3 hochzuladen.

- Drücken Sie einige Tasten auf dem Tastenfeld.
- Beobachten Sie, wie die gedrückten Zeichen auf dem LCD-Display erscheinen.
- Profi-Tipp: Wenn das LCD nichts anzeigt, stellen Sie das Kontrastpotentiometer auf der Rückseite des LCD-Moduls ein und prüfen Sie, ob die I2C-Adresse im Code zu Ihrem Modul passt (versuchen Sie 0x3F, wenn 0x27 nicht funktioniert). Weitere Hilfe finden Sie unter Fehlerbehebung beim LCD I2C.
Ausgabe im seriellen Monitor
Die folgende Ausgabe des seriellen Monitors zeigt, wie der ESP32 S3 Tastendrücke des 3x4-Tastenfelds erkennt und jedes gedrückte Zeichen ausgibt. Jede Zeile hat einen Zeitstempel, sodass Sie überprüfen können, dass jeder Tastendruck sofort und in der richtigen Reihenfolge erfasst wird.
ESP32-S3-Code - Tastenfeld 4x4 - LCD I2C
Der folgende Code passt die Tastenbelegung und die Pin-Konfiguration für ein 4x4-Matrix-Tastenfeld an und behält dieselbe Logik für das LCD-I2C-Display bei. Der Wechsel von einem 3x4- zu einem 4x4-Tastenfeld fügt die Buchstaben A, B, C und D hinzu und bietet Ihnen so einen größeren Zeichensatz für Menüsysteme oder Zugangskontrollschnittstellen.
Anwendungs- und Projektideen
Sobald Sie mit Ihrem ESP32 S3 Tastenfeldeingaben erfassen und auf dem LCD anzeigen können, lässt sich dieses Projekt zu einer Vielzahl praktischer eingabegesteuerter Anwendungen erweitern.
- PIN-Schloss: Erfassen Sie eine Folge von Tastendrücken, vergleichen Sie sie mit einer gespeicherten PIN und entriegeln Sie ein Relais oder Magnetschloss, wenn die Codes übereinstimmen.
- Taschenrechner: Werten Sie am Tastenfeld eingegebene Zifferntasten und Operatoren aus, berechnen Sie den Ausdruck und zeigen Sie das Ergebnis auf dem LCD an.
- Menünavigationssystem: Blättern Sie mit dem Tastenfeld durch Optionen auf dem LCD und wählen Sie Aktionen aus, etwa das Umschalten von Ausgängen oder das Anpassen von Einstellungen.
- Zugangskontroll-Terminal: Protokollieren Sie jeden Tastendruck mit Zeitstempel auf einer SD-Karte und zeigen Sie Meldungen über gewährten oder verweigerten Zugang auf dem LCD an.
- Einfaches Alarmpanel: Lassen Sie den Benutzer eine Alarmanlage durch Eingabe eines Codes am Tastenfeld scharf- oder unscharfschalten, wobei Statusmeldungen auf dem LCD angezeigt werden.
- Dateneingabe-Terminal: Geben Sie über das Tastenfeld numerische Werte für Sollwerte, Schwellenwerte oder Konfigurationsparameter ein, die im Flash-Speicher abgelegt werden.
Video-Tutorial
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32-S3-Projekt an.
Fordern Sie sich selbst heraus
Nachdem Tastendrücke mit Ihrem ESP32 S3 auf dem LCD erscheinen, probieren Sie diese zunehmend schwierigeren Herausforderungen aus, um Ihr Verständnis zu vertiefen und leistungsfähigere Eingabeschnittstellen zu bauen.
- Anfänger: Ändern Sie den Sketch so, dass das LCD nach jeweils fünf Tastendrücken gelöscht wird, damit das Display immer nur die neueste Eingabe zeigt.
- Anfänger: Fügen Sie eine Rücktaste-Funktion hinzu – ein Druck auf die Sterntaste (*) entfernt das letzte Zeichen vom LCD-Display.
- Fortgeschritten: Implementieren Sie eine einfache vierstellige PIN-Prüfung: Erfassen Sie vier Tastendrücke, vergleichen Sie das Ergebnis mit einer gespeicherten PIN und zeigen Sie "ACCESS GRANTED" oder "ACCESS DENIED" auf dem LCD an.
- Fortgeschritten: Fügen Sie ein Timeout hinzu, sodass das LCD automatisch gelöscht wird, wenn innerhalb von zehn Sekunden keine Taste gedrückt wird – das schützt sensible Eingaben in einer gemeinsam genutzten Umgebung.
- Experte: Bauen Sie einen Taschenrechner, der einfache, am Tastenfeld eingegebene Rechenausdrücke auswertet und das Ergebnis in der zweiten Zeile des LCD anzeigt.
- Experte: Speichern Sie eine vom Benutzer konfigurierbare PIN im Flash-Speicher des ESP32 S3, damit sie Stromunterbrechungen übersteht, und fügen Sie einen Einrichtungsmodus hinzu, mit dem der Benutzer die PIN über das Tastenfeld selbst ändern kann.