ESP32 - Taster - Langes Drücken, Kurzes Drücken
Diese Anleitung zeigt Ihnen, wie Sie mit dem ESP32 den langen Druck und den kurzen Druck erkennen. Im Detail werden wir lernen:
- Wie man den kurzen Tastendruck am Knopf erkennt
- Wie man den langen Tastendruck am Knopf erkennt
- Wie man sowohl den langen als auch den kurzen Tastendruck am Knopf erkennt
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables ESP32 Starter-Kit (ESP32 enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über die Schaltfläche
Wir haben spezielle Tutorials zum Taster. Jedes Tutorial enthält detaillierte Informationen und Schritt-für-Schritt-Anleitungen zur Hardware-Pinbelegung, zum Funktionsprinzip, zur Verkabelung mit dem ESP32 und zum ESP32-Code... Erfahren Sie mehr darüber in den folgenden Links:
Verdrahtungsdiagramm
- Verdrahtungsdiagramm zwischen ESP32 und PCB-Montage-Taster

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.
- Verdrahtungsdiagramm zwischen ESP32 und Panelmontage-Taster

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
In diesem Tutorial wird der interne Pull-Up-Widerstand verwendet. Der Zustand des Tasters ist HIGH, wenn er normal ist, und LOW, wenn er gedrückt wird.
Wie man einen kurzen Knopfdruck erkennt
- Die Zeit zwischen dem Drücken und dem Loslassen messen.
- Wenn die Dauer kürzer ist als eine vordefinierte Zeit, wird ein kurzer Tastendruck erkannt.
Schauen wir es Schritt für Schritt an:
- Definieren Sie, wie lange ein Knopfdruck maximal anhält
- Erkennen, dass der Knopf gedrückt wird, und den Zeitpunkt des Drückens speichern
- Erkennen, dass der Knopf losgelassen wurde, und den Zeitpunkt des Loslassens speichern
- Berechne Druckdauer und
- Bestimme den kurzen Druck, indem du die Druckdauer mit der definierten kurzen Druckzeit vergleichst.
ESP32-Code zur Erkennung eines kurzen Tastendrucks
Schnelle Schritte
- Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie wie man die Umgebung für ESP32 in der Arduino IDE einrichtet.
- Laden Sie den obigen Code über die Arduino IDE auf den ESP32 hoch.
- Drücken Sie den Knopf mehrmals kurz hintereinander.
- Sehen Sie das Ergebnis im seriellen Monitor. Es sieht wie folgt aus:
※ Notiz:
Der serielle Monitor kann mehrere kurze Drücke für einen einzelnen Druck ausgeben. Dies ist ein normales Verhalten des Knopfes. Dieses Verhalten wird als das „Prellen-Phänomen“ bezeichnet. Wir werden später in diesem Tutorial lernen, wie man dieses Problem beseitigt.
So erkennen Sie einen langen Druck
Es gibt zwei Anwendungsfälle für das Erkennen eines langen Drucks.
- Das Langdruck-Ereignis wird unmittelbar nach dem Loslassen der Taste erkannt.
- Das Langdruck-Ereignis wird erkannt, während die Taste gedrückt wird.
Im ersten Fall:
- Miss die Zeitdauer zwischen dem Drücken der Taste und dem Loslassen der Taste.
- Wenn die Dauer länger ist als eine vorgegebene Zeit, wird ein Langdruck-Ereignis erkannt.
Im zweiten Fall: Während der Knopf gedrückt wird, führen Sie den folgenden Prozess wiederholt aus:
- Messen Sie die Drückdauer.
- Wenn die Dauer länger als die vordefinierte Zeit ist, wird das Langdruck-Ereignis erkannt.
- Andernfalls wiederholen Sie den Vorgang, bis die Taste losgelassen wird.
ESP32-Code zur Erkennung eines langen Tastendrucks beim Loslassen
Schnelle Schritte
- Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie sich wie man die Entwicklungsumgebung für ESP32 in der Arduino-IDE einrichtet an.
- Laden Sie den obigen Code über die Arduino-IDE auf den ESP32 hoch.
- Drücken Sie den Knopf nach einer Sekunde und lassen Sie ihn los.
- Sehen Sie das Ergebnis im Serial Monitor. Es sieht folgendermaßen aus:
ESP32-Code zur Erkennung eines langen Tastendrucks während des Drückens
Schnelle Schritte
- Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie wie Sie die Umgebung für ESP32 in der Arduino IDE einrichten.
- Laden Sie den obigen Code über die Arduino IDE auf den ESP32 hoch
- Drücken Sie den Knopf und lassen Sie ihn nach einigen Sekunden los.
- Sehen Sie das Ergebnis im Serial Monitor. Es sieht wie folgt aus:
Wie man sowohl einen langen als auch einen kurzen Druck erkennt
Kurzer Druck und langer Druck nach dem Loslassen
Schnelle Schritte
- Falls dies das erste Mal ist, dass Sie ESP32 verwenden, sehen Sie wie man die Umgebung für ESP32 in der Arduino IDE einrichtet.
- Laden Sie den obigen Code über die Arduino IDE auf den ESP32 hoch.
- Drücken Sie den Knopf sowohl lange als auch kurz.
- Sehen Sie das Ergebnis im Serial Monitor. Es sieht so aus wie unten dargestellt:
※ Notiz:
Der Serial Monitor kann bei langem Drücken mehrere kurze Tastendrücke erkennen. Dies ist das normale Verhalten des Knopfes. Dieses Verhalten wird als „Prellen-Phänomen“ bezeichnet. Das Problem wird im letzten Teil dieses Tutorials gelöst.
Kurzer Tastendruck und langer Tastendruck während des Drückens
Schnelle Schritte
- Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie sich Wie man die Entwicklungsumgebung für ESP32 in der Arduino IDE einrichtet an.
- Laden Sie den obigen Code über die Arduino IDE auf den ESP32 hoch.
- Drücken Sie den Knopf lange und kurz.
- Das Ergebnis sehen Sie im Serial Monitor. Es sieht wie folgt aus:
Langes Drücken und Kurzes Drücken mit Entprellung
Es ist in vielen Anwendungen sehr wichtig, den Taster zu entprellen.
Das Entprellen ist etwas kompliziert, insbesondere bei der Verwendung mehrerer Taster. Um es Anfängern einfacher zu machen, haben wir eine Bibliothek entwickelt, die ezButton heißt.
Wir werden diese Bibliothek in den unten stehenden Codes verwenden.
Kurzer Tastendruck und Langer Tastendruck mit Entprellung nach dem Loslassen
Schnelle Schritte
- Wenn dies das erste Mal ist, dass Sie ESP32 verwenden, lesen Sie Anleitung zur Einrichtung der Umgebung für ESP32 in der Arduino IDE.
- Installieren Sie die ezButton-Bibliothek. Siehe Anleitung zur Installation der Bibliothek
- Laden Sie den obigen Code über die Arduino IDE auf den ESP32 hoch.
- Drücken Sie den Knopf lange bzw. kurz.
- Siehe das Ergebnis im Serial Monitor. Es sieht wie folgt aus:
Kurzer Tastendruck und langer Tastendruck mit Entprellung während des Drückens
Schnelle Schritte
- Wenn dies das erste Mal ist, dass Sie ESP32 verwenden, sehen Sie sich an, wie man die Umgebung für ESP32 in der Arduino IDE einrichtet.
- Installieren Sie die ezButton-Bibliothek. Siehe Anleitung
- Laden Sie den obigen Code über die Arduino IDE auf den ESP32 hoch.
- Drücken Sie den Knopf lang bzw. kurz.
- Sie sehen das Ergebnis im Serial Monitor. Es sieht wie folgt aus:
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.
Warum Langdrücken und Kurzdrücken erforderlich sind
- Um die Anzahl der Tasten und digitalen Eingänge zu reduzieren. Eine einzelne Taste kann zwei oder mehr Funktionen übernehmen. Zum Beispiel ein kurzer Druck zum Einschalten des Lichts, ein langer Druck zum Einschalten des Ventilators.
- Verwenden Sie den langen Druck statt des kurzen Drucks, um versehentliches Drücken zu vermeiden. Zum Beispiel verwenden einige Geräte den Knopf zum Zurücksetzen auf Werkseinstellungen. Wenn der Knopf versehentlich gedrückt wird, ist das gefährlich.