ESP8266 - Taster - Entprellung
Wenn eine Taste gedrückt oder losgelassen wird oder ein Schalter umgelegt wird, nehmen Neulinge oft an, dass sich der Zustand von LOW zu HIGH oder von HIGH zu LOW ändert. In Wirklichkeit ist das nicht der Fall. Aufgrund mechanischer und physikalischer Eigenschaften kann der Zustand der Taste (oder des Schalters) zwischen LOW und HIGH mehrfach während einer einzigen Benutzeraktion schwanken. Dieser Effekt wird als Prellen bezeichnet. Prellen kann dazu führen, dass ein einzelner Tastendruck als mehrere Tastendrücke erkannt werden, was zu Fehlfunktionen in bestimmten Anwendungen führt.

Die Methode, dieses Problem zu verhindern, wird als Debouncing oder Debounce bezeichnet. Diese Anleitung zeigt Ihnen, wie man es bei der Verwendung des Tasters mit dem ESP8266 macht. Wir lernen anhand der folgenden Schritte:
- ESP8266-Code ohne Entprellung eines Tasters.
- ESP8266-Code mit Entprellung eines Tasters.
- ESP8266-Code mit Entprellung eines Tasters mithilfe der ezButton-Bibliothek.
- ESP8266-Code mit Entprellung mehrerer Taster.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über die Schaltfläche
Wenn Sie mit Tasten nicht vertraut sind (einschließlich Pinbelegung, Funktionsweise und Programmierung), können Ihnen die folgenden Tutorials helfen:
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.
Lassen wir uns den ESP8266-Code sowohl mit als auch ohne Entprellung ansehen und deren jeweiliges Verhalten vergleichen.
Tasterauslesen ohne Entprellung
Bevor Sie das Debouncing untersuchen, werfen Sie einen Blick auf den Code ohne Debouncing und beobachten Sie dessen Verhalten.
Schnelle Schritte
Um mit dem ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:
- Schauen Sie sich das Tutorial [Wie man die Umgebung für ESP8266 in der Arduino IDE einrichtet] an, falls dies Ihre erste Verwendung des ESP8266 ist.
- Verdrahten Sie die Bauteile wie im Diagramm gezeigt.
- Verbinden Sie das ESP8266-Board mit Ihrem Computer über ein USB-Kabel.
- Öffnen Sie die Arduino-IDE auf Ihrem Computer.
- Wählen Sie das richtige ESP8266-Board aus, z. B. NodeMCU 1.0 (ESP-12E Module), und den jeweiligen COM-Port.
- Verbinden Sie Ihren ESP8266 mit Ihrem Computer über ein USB-Kabel.
- Starten Sie die Arduino-IDE und wählen Sie das passende Board sowie den entsprechenden Port aus.
- Kopieren Sie den unten stehenden Code und öffnen Sie ihn in der Arduino-IDE.
- Klicken Sie in der Arduino IDE auf die Schaltfläche Hochladen, um den Code zu kompilieren und auf den ESP8266 hochzuladen.

- Öffne den seriellen Monitor.
- Drücke den Knopf einige Sekunden lang, dann lasse ihn los.
- Prüfe die Ausgabe im seriellen Monitor.
Sie werden möglicherweise feststellen, dass Sie den Knopf manchmal nur einmal gedrückt und losgelassen haben. Der ESP8266 interpretiert es jedoch als mehrere Druck- und Loslassvorgänge. Dies ist das Prellen, das am Anfang des Tutorials erwähnt wurde. Lassen Sie uns sehen, wie man es im nächsten Teil behebt.
Taster mit Entprellung
Der unten stehende Code wendet die Debounce-Methode an, um das Prellen zu verhindern.
Schnelle Schritte
- Verdrahten Sie die Komponenten wie im Diagramm gezeigt.
- Schließen Sie das ESP8266-Board mit einem USB-Kabel an Ihren Computer an.
- Öffnen Sie die Arduino-IDE auf Ihrem Computer.
- Wählen Sie das richtige ESP8266-Board aus, z. B. NodeMCU 1.0 (ESP-12E-Modul), und den entsprechenden COM-Port.
- Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino-IDE.
- Klicken Sie in der Arduino-IDE auf die Hochladen-Schaltfläche, um den Code zu kompilieren und auf den ESP8266 hochzuladen.
- Öffnen Sie den Seriellen Monitor.
- Halten Sie den Knopf einige Sekunden gedrückt und lassen Sie ihn dann los.
- Überprüfen Sie den Seriellen Monitor, um das Ergebnis zu sehen.
Wie Sie sehen können, haben Sie den Knopf nur einmal gedrückt und losgelassen. Der ESP8266 kann dies als einen einzelnen Tastendruck und Freigabe erkennen, wodurch unnötiges Prellen vermieden wird.
Wir haben es einfach gemacht - ESP8266-Taster-Entprellungscode mit Bibliothek
Wir haben eine Bibliothek entwickelt, ezButton, um es Anfängern leichter zu machen, insbesondere wenn sie mehrere Knöpfe verwenden. Hier erfahren Sie mehr über die ezButton-Bibliothek.
ESP8266-Button-Entprellungscode für einen einzelnen Button
ESP8266-Tasten-Entprell-Code für mehrere Tasten
Der Schaltplan des oben gezeigten Codes.
Die Abbildung der Verkabelung für den Code.
Die Darstellung der Verbindungen für den Code.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
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.
Zusätzliches Wissen
- Der Wert von DEBOUNCE_DELAY hängt von den physischen Eigenschaften des Knopfes ab. Jeder Knopf kann einen anderen Wert haben.
Erweiterbarkeit
Die Entprelltechnik kann bei Schaltern, Berührungssensoren und vielem mehr eingesetzt werden.