Arduino Nano ESP32 - Knopf - Langes Drücken Kurzes Drücken
Dieses Tutorial gibt Anweisungen dazu, wie man den Arduino Nano ESP32 verwendet, um den langen Tastendruck und den kurzen Tastendruck zu erkennen. Genauer gesagt lernen wir Folgendes:
- Wie erkennt man den kurzen Tastendruck am Knopf?
- Wie erkennt man den langen Tastendruck am Knopf?
- Wie erkennt man sowohl den langen als auch den kurzen Tastendruck am Knopf?
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Dieses Tutorial verwendet den internen Pull-Up-Widerstand. Der Zustand des Tasters ist im Normalzustand HIGH und bei Betätigung LOW.
So erkennen Sie einen kurzen Druck
- Messen Sie die Zeit zwischen dem Drücken und dem Loslassen.
- Wenn die Dauer kürzer als eine vorab festgelegte Zeit ist, wird das kurze Drücken erkannt.
Schauen wir uns Schritt für Schritt an:
- Definieren Sie, wie lange die maximale Dauer eines kurzen Drucks anhält.
- Erkennen, dass der Knopf gedrückt wurde, und die Zeit des Drückens speichern.
- Erkenne, wenn die Taste losgelassen wird, und speichere die Zeit des Loslassens
- Berechne die Pressdauer und
- Bestimme den kurzen Druck, indem du die Druckdauer mit der definierten kurzen Druckzeit vergleichst.
Arduino Nano ESP32-Code zur Erkennung eines kurzen Tastendrucks
Schnelle Schritte
- Falls dies das erste Mal ist, dass Sie den Arduino Nano ESP32 verwenden, siehe wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
- Laden Sie den obigen Code über die Arduino IDE auf den Arduino Nano ESP32 hoch.
- Drücken Sie den Knopf mehrmals kurz.
- Überprüfen Sie das Ergebnis im seriellen Monitor. Es sieht wie folgt aus:
※ Notiz:
Der serielle Monitor kann für einen einzelnen Knopfdruck mehrere kurze Betätigungen ausgeben. Dies ist ein normales Verhalten des Tasters. Dieses Verhalten wird als „Prellphänomen“ bezeichnet. Wir werden in diesem Tutorial später lernen, wie man dieses Problem beseitigt.
Wie man einen langen Druck erkennt
Es gibt zwei Anwendungsfälle für das Erkennen eines langen Drucks.
- Das Langdruck-Ereignis wird direkt nach dem Loslassen der Taste erkannt
- Das Langdruck-Ereignis wird erkannt, während die Taste gedrückt wird
Im ersten Fall:
- Messen Sie die Zeitdauer zwischen dem Drücken- und dem Loslassen-Ereignis.
- Wenn die Dauer länger als eine vordefinierte Zeit ist, wird das Long-Press-Ereignis erkannt.
Im zweiten Fall: Solange der Knopf gedrückt wird, führen Sie den untenstehenden Prozess wiederholt aus:
- Die Drückdauer messen.
- Wenn die Dauer länger ist als die vordefinierte Zeit, wird das Langdruck-Ereignis erkannt.
- Andernfalls den Prozess wiederholen, bis die Taste losgelassen wird.
Arduino Nano ESP32-Code zur Erkennung eines langen Tastendrucks beim Loslassen
Schnelle Schritte
- Wenn dies das erste Mal ist, dass Sie Arduino Nano ESP32 verwenden, sehen Sie wie man die Entwicklungsumgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
- Laden Sie den obigen Code über die Arduino IDE auf den Arduino Nano ESP32 hoch.
- Drücken Sie den Knopf und lösen Sie ihn nach einer Sekunde.
- Überprüfen Sie das Ergebnis im Serial Monitor. Es sieht wie folgt aus:
Arduino Nano ESP32-Code zur Erkennung eines langen Tastendrucks während des Drückens
Schnelle Schritte
- Falls dies das erste Mal ist, dass Sie den Arduino Nano ESP32 verwenden, sehen Sie sich [wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet] an.
- Laden Sie den obigen Code über die Arduino IDE auf den Arduino Nano ESP32 hoch.
- Drücken Sie den Knopf und lassen Sie ihn nach einigen Sekunden wieder los.
- Prüfen Sie das Ergebnis im Serial Monitor. Es sieht folgendermaßen aus:
So erkennen Sie sowohl langes Drücken als auch kurzes Drücken
Kurzer Tastendruck und langer Tastendruck nach dem Loslassen
Schnelle Schritte
- Falls dies das erste Mal ist, dass Sie den Arduino Nano ESP32 verwenden, sehen Sie wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
- Laden Sie den obigen Code über die Arduino-IDE auf den Arduino Nano ESP32 hoch.
- Drücken Sie den Knopf sowohl lang als auch kurz.
- Überprüfen Sie das Ergebnis im Serial Monitor. Es sieht wie folgt aus:
※ Notiz:
Der Serial Monitor kann bei langem Drücken mehrere kurze Tastendrücke anzeigen. Dies ist das normale Verhalten des Tasters. Dieses Verhalten wird als das „Prellphänomen“ bezeichnet. Das Problem wird im letzten Teil dieses Tutorials gelöst.
Kurzer Druck und langer Druck beim Drücken
Schnelle Schritte
- Wenn Sie zum ersten Mal das Arduino Nano ESP32 verwenden, lesen Sie die Anleitung zur Einrichtung der Entwicklungsumgebung für Arduino Nano ESP32 in der Arduino IDE.
- Laden Sie den obigen Code über die Arduino IDE auf den Arduino Nano ESP32 hoch.
- Drücken Sie den Knopf lang und kurz.
- Überprüfen Sie das Ergebnis 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 Knopf zu entprellen.
Entprellen ist etwas kompliziert, insbesondere wenn mehrere Tasten verwendet werden. Um es Anfängern einfacher zu machen, haben wir eine Bibliothek erstellt, die ezButton heißt.
Wir werden diese Bibliothek in den untenstehenden Codes verwenden.
Kurzer Tastendruck und langer Tastendruck mit Entprellung nach dem Loslassen
Schnelle Schritte
- Falls dies das erste Mal ist, dass Sie Arduino Nano ESP32 verwenden, lesen Sie hier, wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
- Installieren Sie die ezButton-Bibliothek. Siehe Anleitung zur Installation
- Laden Sie den obigen Code über die Arduino IDE auf den Arduino Nano ESP32 hoch.
- Drücken Sie den Knopf lange bzw. kurz.
- Überprüfen Sie das Ergebnis im Serial Monitor. Es sieht wie folgt aus:
Kurzer Druck und langer Druck mit Entprellung während des Drückens
Schnelle Schritte
- Wenn Sie Arduino Nano ESP32 zum ersten Mal verwenden, sehen Sie wie man die Umgebung für Arduino Nano ESP32 in der Arduino-IDE einrichtet.
- Installieren Sie die ezButton-Bibliothek. Siehe Wie man installiert
- Laden Sie den obigen Code über die Arduino IDE auf den Arduino Nano ESP32 hoch
- Langes und kurzes Drücken der Taste.
- Schauen Sie sich das Ergebnis im Serial Monitor an. 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 Lang- und Kurzdrücken benötigt werden
- Um die Anzahl der Tasten und digitalen Eingangs-Pins zu verringern. Eine einzige Taste kann zwei oder mehr Funktionen übernehmen. Zum Beispiel kurzes Drücken zum Einschalten des Lichts, langes Drücken zum Einschalten des Ventilators.
- Verwenden Sie den langen Druck statt des kurzen Drucks, um versehentliches Drücken zu vermeiden. Zum Beispiel verwenden einige Gerätemodelle den Knopf zum Zurücksetzen auf Werkseinstellungen. Wenn der Knopf versehentlich gedrückt wird, ist das gefährlich.