ESP32 S3 - Mehrere Taster
Dieses Tutorial zeigt Ihnen, wie Sie einen ESP32 S3 so programmieren, dass er mehrere Taster gleichzeitig nutzt, ohne auf die Funktion delay() angewiesen zu sein. Am Ende dieses Tutorials kennen Sie zwei bewährte Ansätze, um mehrere Taster auf der ESP32 S3 Plattform sauber und effizient auszulesen.
Was Sie bauen werden:
- Eine Schaltung mit mehreren Tastern, die über ein Breadboard mit dem ESP32 S3 verbunden ist
- Code, der Drück- und Loslassereignisse für jeden Taster unabhängig erkennt
- Eine entprellte Version, die fehlerhafte Tastermesswerte eliminiert
- Eine Array-basierte Version, die sich sauber auf beliebig viele Taster erweitern lässt
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) |
Verdrahtungsdiagramm
Verbinden Sie jeden Taster auf Ihrem Breadboard zwischen einem GPIO-Pin und GND und nutzen Sie die internen Pull-up-Widerstände des ESP32 S3, um den Pin auf HIGH zu halten, solange der Taster nicht gedrückt ist.
Sicherheitshinweise
Verbinden Sie Taster immer mit GND und aktivieren Sie die internen Pull-ups im Code, anstatt sie direkt mit 3,3 V zu verbinden – so vermeiden Sie versehentliche Kurzschlüsse. Überprüfen Sie, dass alle Taster auf dem Breadboard eine gemeinsame GND-Schiene nutzen, bevor Sie den ESP32 S3 einschalten.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
ESP32 S3 Code - Mehrere Taster mit Entprellung
Beim Umgang mit mehreren Tastern kann es in bestimmten Situationen komplex werden, etwa wenn gleichzeitiges Drücken, Prellrauschen oder die Erkennung von Zustandswechseln berücksichtigt werden müssen. Der folgende Code verwendet die ezButton-Bibliothek, die Entprellung und Tasterereignisse intern verarbeitet, sodass Sie Zeitstempel und Zustandsvariablen nicht für jeden Taster manuell verwalten müssen.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Führen Sie die Verdrahtung wie im obigen Diagramm gezeigt durch.
- 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 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 Taster-Bibliothek von ArduinoGetStarted.
- 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.
- Kompilieren Sie den Code und laden Sie ihn auf das ESP32 S3 Board hoch, indem Sie in der Arduino IDE auf die Schaltfläche Upload klicken.

- Öffnen Sie den Seriellen Monitor in der Arduino IDE.
- Drücken Sie jeden Taster nacheinander und lassen Sie ihn wieder los, um die Ausgabe zu beobachten.
Profi-Tipp: Wenn ein Taster bei einem einzigen Klick mehrere Betätigungen registriert, erhöhen Sie die Entprellzeit in den ezButton-Einstellungen, um das mechanische Prellen Ihrer Taster herauszufiltern.
ESP32 S3 Code - Mehrere Taster mit einem Array
Wir können den bereitgestellten Code verbessern, indem wir ein Array von Tastern verwenden. Dadurch wird das Hinzufügen oder Entfernen von Tastern so einfach wie das Ändern einer einzigen Konstante. Der folgende Code zeigt, wie dieses Array die Taster-Objekte verwaltet und sie bei jedem Durchlauf einheitlich durchläuft.
Anwendungen
Die gleichzeitige Verwaltung mehrerer Taster am ESP32 S3 eröffnet eine breite Palette praktischer Anwendungsfälle, von einfachen Bedienelementen bis hin zu komplexen Menünavigationssystemen. Hier sind einige typische Anwendungen:
- Menünavigation: Verwenden Sie vier Taster für Auf, Ab, Auswählen und Zurück in einem OLED-Display-Menü.
- Spielcontroller: Ordnen Sie Taster Richtungs- oder Aktionseingaben für einfache eingebettete Spiele zu.
- Tastenfeld-Ersatz: Ersetzen Sie ein Hardware-Tastenfeld durch einzelne Taster für individuelle Bedienfeld-Layouts.
- Modusauswahl: Wechseln Sie mit eigenen Modustastern zwischen den Betriebsmodi eines Geräts.
- Not-Aus: Verdrahten Sie mehrere Not-Aus-Taster an einer Maschine für eine redundante Abschaltung.
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 das grundlegende Tutorial hinaus zu experimentieren ist der beste Weg, Ihr Verständnis für die Verarbeitung mehrerer Taster am ESP32 S3 zu vertiefen. Probieren Sie diese Herausforderungen aus, um Sicherheit mit fortgeschritteneren Techniken zu gewinnen:
- Einsteiger: Ändern Sie den Code so, dass vier einzelne LEDs gesteuert werden, die jeweils mit einem eigenen Taster umgeschaltet werden.
- Fortgeschritten: Implementieren Sie ein Zahlenschloss, das sich nur öffnet, wenn die Taster in einer bestimmten Reihenfolge gedrückt werden.
- Experte: Erstellen Sie eine Bedienoberfläche im Stil eines Drehgebers mit zwei Tastern zum Erhöhen und Verringern, mit Erkennung langer Tastendrücke zur Beschleunigung.