Arduino - Taste - Langes Drücken Kurzes Drücken
Wir werden lernen:
- Wie man den kurzen Druck auf dem Knopf erkennt
- Wie man den langen Druck auf dem Knopf erkennt
- Wie man sowohl den langen als auch den kurzen Druck auf dem Knopf erkennt
- Langer Druck und kurzer Druck mit Entprellung
In den ersten drei Teilen lernen wir im Prinzip, wie man erkennt.
Im letzten Teil lernen wir, wie man in der Praxis mithilfe der Entprellung erkennt, wann der Taster gedrückt wurde. Siehe warum wir für den Taster eine Entprellung benötigen. Ohne Entprellung kann die kurze Betätigung des Tasters möglicherweise falsch erkannt werden.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables STEM V3 Starter-Kit (Arduino enthalten) | |
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.
In diesem Tutorial verwenden wir den internen Pull-up-Widerstand. Daher ist der Zustand des Tasters im Normalzustand HIGH und beim Drücken LOW.
Wie man einen kurzen Tastendruck erkennt
Wir messen die Zeitdauer zwischen dem Drücken und dem Loslassen. Wenn die Dauer kürzer als eine festgelegte Zeit ist, wird das Kurzdruck-Ereignis erkannt.
Schauen wir uns Schritt für Schritt an:
- Definieren Sie, wie lange der maximale kurze Tastendruck anhält.
- Erkennen, wann der Knopf gedrückt wird, und den Zeitpunkt des Drucks speichern
- Erkenne, wann der Knopf losgelassen wird, und speichere den Zeitpunkt des Loslassens.
- Berechne Drückdauer und
- Bestimme den kurzen Druck, indem du die Betätigungsdauer mit der definierten kurzen Betätigungszeit vergleichst.
Arduino-Code zur Erkennung eines kurzen Tastendrucks
Schnelle Schritte
- Lade den obigen Code mit der Arduino IDE auf den Arduino hoch.
- Drücke den Knopf mehrmals kurz hintereinander.
- Schau dir das Ergebnis im Serial Monitor an.
※ Notiz:
Der serielle Monitor kann bei einem einzigen Tastendruck mehrere kurze Betätigungen erkennen. Dies ist das normale Verhalten des Tasters. Dieses Verhalten wird als das „Prellen-Phänomen“ bezeichnet. Das Problem wird im letzten Teil dieses Tutorials gelöst.
So erkennen Sie einen langen Druck
Es gibt zwei Anwendungsfälle dafür, einen langen Druck zu erkennen.
- Der Langdruck wird direkt nach dem Loslassen der Taste erkannt
- Der Langdruck wird erkannt, während die Taste gedrückt gehalten wird, selbst dann, wenn die Taste noch nicht losgelassen wurde
Im ersten Anwendungsfall messen wir die Zeitdauer zwischen den Druck- und Loslassen-Ereignissen. Wenn die Dauer länger als eine festgelegte Zeit ist, wird ein Langdruck-Ereignis erkannt.
Im zweiten Anwendungsfall wird nach dem Drücken des Knopfs kontinuierlich die Druckdauer gemessen und das Langdruck-Ereignis überprüft, bis der Knopf losgelassen wird. Während der Betätigung des Knopfs wird die Dauer gemessen. Wenn die Dauer länger ist als eine definierte Zeit, wird das Langdruck-Ereignis erkannt.
Arduino-Code zur Erkennung eines langen Tastendrucks beim Loslassen
Schnelle Schritte
- Lade den obigen Code über die Arduino IDE auf den Arduino hoch.
- Drücke den Knopf nach einer Sekunde und lasse ihn los.
- Siehe das Ergebnis im seriellen Monitor.
Das Langdruck-Ereignis wird erst erkannt, nachdem die Schaltfläche losgelassen wurde.
Arduino-Code zur Erkennung eines langen Tastendrucks während des Drückens
Schnelle Schritte
- Lade den obigen Code über die Arduino IDE auf das Arduino-Board.
- Drücke nach einigen Sekunden den Knopf und lasse ihn los.
- Schau das Ergebnis im Serial Monitor an.
Das Langdruck-Ereignis wird nur erkannt, wenn die Taste noch nicht losgelassen wurde.
Wie man sowohl langes Drücken als auch kurzes Drücken erkennt
Kurzer Tastendruck und langer Tastendruck nach dem Loslassen
Schnelle Schritte
- Lade den obigen Code über die Arduino IDE auf den Arduino hoch.
- Langes und kurzes Drücken des Tasters.
- Sieh dir das Ergebnis im Serial Monitor an.
※ Notiz:
Der serielle Monitor kann bei längerem Drücken mehrere kurze Tastendrücke erkennen. Dies ist das normale Verhalten des Tasters. Dieses Verhalten wird als das „Chattering-Phänomen“ bezeichnet. Das Problem wird im letzten Teil dieses Tutorials gelöst.
Kurzer Druck und langer Druck während des Drückens
Schnelle Schritte
- Lade den obigen Code mit der Arduino IDE auf den Arduino hoch.
- Drücke den Knopf lang oder kurz.
- Sieh das Ergebnis im Serial Monitor.
※ Notiz:
Der serielle Monitor kann bei langem Drücken mehrere kurze Druckimpulse erkennen. Dies ist das normale Verhalten des Tasters. Dieses Verhalten wird als „Prellungsphänomen“ bezeichnet. Das Problem wird im letzten Teil dieses Tutorials gelöst.
Langes Drücken und Kurzes Drücken mit Entprellung
Es ist in vielen Anwendungen sehr wichtig, den Taster zu entprellen.
Die Entprellung ist etwas kompliziert, insbesondere wenn mehrere Taster verwendet werden. Um es Anfängern deutlich leichter 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
- Installieren Sie die ezButton-Bibliothek. Siehe Wie man sie installiert
- Laden Sie den obigen Code über die Arduino IDE auf den Arduino hoch.
- Langer und kurzer Druck auf den Knopf.
- Siehe das Ergebnis im Serial Monitor.
Kurzer Druck und langer Druck mit Entprellung während des Drückens
Schnelle Schritte
- Installiere die ezButton-Bibliothek. Siehe Anleitung zur Installation
- Lade den obigen Code über die Arduino-IDE auf das Arduino-Board hoch.
- Drücke den Taster sowohl lang als auch kurz.
- Sieh das Ergebnis im seriellen Monitor.
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 nötig sind
- Um die Anzahl der Tasten zu reduzieren. Eine einzige Taste kann zwei oder mehr Funktionen übernehmen. Zum Beispiel: Ein kurzer Druck ändert den Betriebsmodus, ein langer Druck schaltet das Gerät aus.
- Durch längeres Drücken wird ein unbeabsichtigter kurzer Druck vermieden. Zum Beispiel verwenden einige Gerätetypen die Taste für einen Werksreset. Wenn die Taste versehentlich gedrückt wird, ist das gefährlich. Um dies zu vermeiden, ist das Gerät so implementiert, dass der Werksreset nur erfolgt, wenn die Taste lange gedrückt wird (z. B. über 5 Sekunden).