Arduino Nano - Taste - langes Drücken kurzes Drücken
Dieses Tutorial zeigt dir, wie man mit dem Arduino Nano das lange Drücken und das kurze Drücken einer Taste erkennt. Im Detail werden wir die folgenden Beispiele durchgehen:
- Arduino Nano erkennt einen kurzen Tastendruck am Taster
- Arduino Nano erkennt einen langen Tastendruck am Taster
- Arduino Nano erkennt sowohl einen langen als auch einen kurzen Tastendruck am Taster
- Arduino Nano entprellt sowohl lange als auch kurze Tastendrücke am Taster
Im letzten Abschnitt lernen wir, wie man die Entprellung verwendet, um Tastendrücke in praktischen Anwendungen zu erkennen. Um mehr darüber zu erfahren, warum die Entprellung bei Tasten notwendig ist, lesen Sie bitte diesen Artikel. Ohne sie könnten wir fälschlicherweise einen kurzen Tastendruck des Tasters erkennen.
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 Tastern nicht vertraut sind (einschließlich Pinbelegung, Funktion und Programmierung), können Ihnen die folgenden Tutorials helfen:
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.
In diesem Tutorial verwenden wir den internen Pull-up-Widerstand. Dadurch ist der Zustand des Tasters im Normalzustand HIGH und wird LOW, wenn er gedrückt wird.
Wie man einen kurzen Tastendruck erkennt
Wir berechnen das Intervall zwischen dem Drücken- und dem Loslassen-Ereignis. Wenn die Dauer kürzer ist als eine vordefinierte Zeit, wird das Kurzdrücken-Ereignis identifiziert.
Geben Sie die Dauer eines kurzen Tastendrucks an.
- Bestimmen Sie, wann der Knopf gedrückt wurde, und erfassen Sie den Zeitpunkt des Drückens.
- Erkennen, wann der Knopf losgelassen wird, und die Zeit des Loslassens aufzeichnen.
- Druck
- Berechnen Sie die Dauer und den angewendeten Druck.
- Vergleiche die Betätigungsdauer mit der vorgegebenen kurzen Betätigungszeit, um einen kurzen Tastendruck zu identifizieren.
Arduino Nano-Code zur Erkennung eines kurzen Tastendrucks
Schnelle Schritte
- Lade den Code auf den Arduino Nano hoch, mit der Arduino-IDE.
- Drücke den Knopf mehrmals kurz.
- Überprüfe die Ausgabe im seriellen Monitor.
※ Notiz:
Der serielle Monitor kann mehrere kurze Betätigungen für einen einzelnen Druck anzeigen. Dies ist das erwartete Verhalten des Knopfs, bekannt als das „Prellphänomen“. Wir werden dieses Problem im abschließenden Teil dieses Tutorials behandeln.
So erkennen Sie einen langen Druck
Es gibt zwei Szenarien zur Erkennung eines langen Drucks:
- Das Langdruck-Ereignis wird erkannt, sobald die Schaltfläche losgelassen wurde.
- Das Langdruck-Ereignis wird erkannt, während die Schaltfläche gedrückt gehalten wird, sogar noch bevor sie losgelassen wird.
- Für die anfängliche Anwendung werden wir die Zeitspanne zwischen den gedrückten und losgelassenen Ereignissen berechnen. 2. Wenn die Dauer länger ist als eine vordefinierte Zeit, wird das Langdruck-Ereignis identifiziert.
Im zweiten Anwendungsfall wird beim Drücken der Taste die Druckdauer kontinuierlich gemessen und das Langdruck-Ereignis wird bis zum Loslassen der Taste geprüft. Solange die Taste gedrückt wird, wird geprüft, ob die Druckdauer eine vorab festgelegte Zeit überschreitet; das Langdruck-Ereignis wird dann erkannt.
Arduino Nano Code zur Erkennung eines langen Tastendrucks beim Loslassen
Schnelle Schritte
- Lade den Code auf den Arduino Nano mit der Arduino IDE hoch.
- Warte eine Sekunde und drücke dann den Knopf und lasse ihn los.
- Schau dir das Ergebnis im Serial Monitor an.
Das Langdrücken-Ereignis wird erst erkannt, wenn der Knopf losgelassen wird.
Arduino Nano-Code zur Erkennung eines langen Tastendrucks
Schnelle Schritte
- Lade den Code mit der Arduino-IDE auf den Arduino Nano hoch.
- Drücke den Knopf einige Sekunden lang und halte ihn gedrückt.
- Überprüfe die Ausgabe im Serial Monitor.
Das Ereignis des langen Drückens wird nur registriert, wenn die Schaltfläche 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 Code auf das Arduino Nano mit der Arduino IDE hoch.
- Drücke den Knopf kurz oder lange.
- Überprüfe die Ausgabe im Serial Monitor.
※ Notiz:
Der Serial Monitor kann mehrere kurze Tastendrücke anzeigen, wenn ein langer Tastendruck ausgeführt wird. Dies ist das erwartete Verhalten des Schalters und wird als das Prellungsphänomen bezeichnet. Eine Lösung für dieses Problem wird im abschließenden Abschnitt dieses Tutorials vorgestellt.
Kurzer Druck und langer Druck während des Drückens
Schnelle Schritte
- Lade den Code mit der Arduino IDE auf den Arduino Nano hoch.
- Drücke den Knopf lange und danach kurz.
- Schau dir das Ergebnis im Serial Monitor an.
※ Notiz:
Der serielle Monitor kann mehrere kurze Betätigungen erkennen, wenn eine lange Betätigung ausgeführt wird. Dies ist das erwartete Verhalten des Tasters und wird als das „Prellungsphänomen“ bezeichnet. Dieses Problem wird im abschließenden Abschnitt dieses Tutorials behandelt.
Langes Drücken und Kurzes Drücken mit Entprellung
Es ist wesentlich, das Entprellen des Buttons in zahlreichen Anwendungen zu implementieren.
Entprellen kann kompliziert sein, insbesondere wenn mehrere Tasten beteiligt sind. Um es Anfängern leichter zu machen, haben wir eine Bibliothek entwickelt, die unter dem Namen ezButton bekannt ist.
Wir werden diese Bibliothek in den untenstehenden Codes verwenden.
Kurzer Druck und Langer Druck mit Entprellung nach dem Loslassen
Schnelle Schritte
- Installieren Sie die ezButton-Bibliothek.
- Siehe How To für Anweisungen.
- Laden Sie den Code auf den Arduino Nano mit der Arduino IDE hoch.
- Drücken Sie den Knopf und halten Sie ihn für eine kurze oder längere Zeit gedrückt.
- Schauen Sie sich die Ergebnisse im seriellen Monitor an.
Kurzer Tastendruck und langer Tastendruck mit Entprellung während des Drückens
Schnelle Schritte
- Fügen Sie die ezButton-Bibliothek zu Ihrem Projekt hinzu. Siehe Anleitung für Anleitungen.
- Kompilieren Sie den Code und laden Sie ihn mit der Arduino IDE auf das Arduino Nano-Board hoch.
- Drücken Sie den Knopf und halten Sie ihn für eine kurze oder längere Zeit gedrückt.
- Überprüfen Sie die Ausgabe im Serial 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 Langdruck und Kurzdruck benötigt werden
- Um die Anzahl der Tasten zu minimieren, kann eine einzelne Taste mehrere Funktionen haben. Beispielsweise kann ein kurzer Druck verwendet werden, um den Betriebsmodus zu wechseln, während ein langer Druck zum Ausschalten des Geräts verwendet werden kann.
- Ein langes Drücken dient dazu, eine versehentliche Aktivierung zu verhindern. Beispielsweise verwenden manche Geräte eine Taste für einen Werksreset. Wenn sie versehentlich gedrückt wird, könnte dies gefährlich sein. Um dies zu verhindern, ist das Gerät so konzipiert, dass der Werksreset erst ausgelöst wird, wenn die Taste für eine bestimmte Zeit gedrückt gehalten wird (z. B. 5 Sekunden).