Raspberry Pi - Taste - Langes Drücken Kurzes Drücken
Dieses Tutorial erklärt dir, wie du mit dem Raspberry Pi den langen und den kurzen Tastendruck der Taste erkennen kannst. Um es einfach zu halten, erläutern wir es anhand der folgenden Beispiele:
- Der Raspberry Pi erkennt den kurzen Knopfdruck des Tasters.
- Der Raspberry Pi erkennt den langen Knopfdruck des Tasters.
- Der Raspberry Pi erkennt sowohl den kurzen Knopfdruck des Tasters als auch den langen Knopfdruck des Tasters.
- Der Raspberry Pi entprellt sowohl den langen Knopfdruck des Tasters als auch den kurzen Knopfdruck des Tasters.
Im letzten Abschnitt werden wir untersuchen, wie man Entprellung in der Praxis einsetzt. Für weitere Informationen darüber, warum Entprellung bei Tastern notwendig ist, verweisen Sie bitte auf diesen Artikel. Ohne Entprellung ist es möglich, einen kurzen Tastendruck des Tasters falsch zu 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 Pinbelegungen, wie sie funktionieren und wie man sie programmiert), können Ihnen die folgenden Tutorials helfen.
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:

In diesem Tutorial verwenden wir den internen Pull-up-Widerstand. Dadurch ist der Zustand des Tasters, wenn er nicht gedrückt ist, HIGH, und wenn er gedrückt wird, LOW.
So erkennen Sie einen kurzen Tastendruck
Wir berechnen die Zeitdauer zwischen dem Drücken und dem Loslassen. Wenn der Zeitraum unter einer vorgegebenen Zeit liegt, erkennen wir ein kurzes Drücken.
Geben Sie die Dauer eines kurzen Tastendrucks an.
- Ermitteln Sie, ob der Knopf gedrückt wurde, und zeichnen Sie den Zeitpunkt des Knopfdrucks auf.
- Ermitteln Sie, wann der Knopf losgelassen wurde, und protokollieren Sie die Zeit des Loslassens.
- Bestimme die Druckdauer.
- Vergleichen Sie die Betätigungsdauer mit der definierten Zeit für einen kurzen Tastendruck, um einen kurzen Tastendruck zu identifizieren.
Raspberry-Pi-Code zur Erkennung eines kurzen Tastendrucks
Schnelle Schritte
- Stelle sicher, dass Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem auf deinem Raspberry Pi installiert ist.
- Stelle sicher, dass dein Raspberry Pi mit demselben lokalen Netzwerk wie dein PC verbunden ist.
- Stelle sicher, dass dein Raspberry Pi mit dem Internet verbunden ist, falls du Bibliotheken installieren musst.
- Falls dies das erste Mal ist, dass du den Raspberry Pi verwendest, sieh dir Anleitung zur Einrichtung des Raspberry Pi an.
- Verbinde deinen PC per SSH mit dem Raspberry Pi, entweder über den integrierten SSH-Client unter Linux und macOS oder PuTTY unter Windows. Siehe wie man den PC über SSH mit dem Raspberry Pi verbindet.
- Stelle sicher, dass die RPi.GPIO-Bibliothek installiert ist. Falls nicht, installiere sie mit dem folgenden Befehl:
- Erstelle eine Python-Skriptdatei short_press.py und füge den folgenden Code hinzu:
- Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal ausführen:
- Drücke den Knopf mehrmals kurz hintereinander.
- Schau dir das Ergebnis im Terminal an.
Das Skript läuft kontinuierlich in einer Endlosschleife, bis Sie im Terminal Strg + C drücken.
So erkennen Sie einen langen Druck
Es gibt zwei Szenarien, um einen langen Druck zu erkennen:
- Das Langdruck-Ereignis wird unmittelbar nach dem Loslassen der Schaltfläche erkannt.
- Das Langdruck-Ereignis wird erkannt, während die Schaltfläche gedrückt gehalten wird, selbst bevor sie losgelassen wird.
Im ersten Szenario wird die Dauer zwischen dem Drücken- und dem Loslassen-Ereignis berechnet. Überschreitet diese Dauer eine festgelegte Zeit, wird ein Langdruck-Ereignis identifiziert.
Im zweiten Szenario wird die Dauer des Drucks kontinuierlich überwacht, bis der Knopf losgelassen wird. Solange der Knopf gedrückt gehalten wird, wird das Langdruck-Ereignis erkannt, sobald die Dauer eine vorgegebene Zeit überschreitet.
Raspberry Pi-Code zur Erkennung eines langen Drückens beim Loslassen
Schnelle Schritte
- Erstelle eine Python-Skriptdatei long_press_1.py und füge den folgenden Code hinzu:
- Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal ausführen:
- Drücken Sie die Taste zwei Sekunden lang und lassen Sie sie danach los.
- Überprüfen Sie das Ergebnis im Terminal.
Das Langdruck-Ereignis wird erst erkannt, wenn die Taste losgelassen wird.
Raspberry-Pi-Code zur Erkennung eines langen Tastendrucks während des Drückens
Schnelle Schritte
- Erstelle eine Python-Skriptdatei long_press_2.py und füge den folgenden Code hinzu:
- Speichere die Datei und führe das Python-Skript aus, indem du den folgenden Befehl im Terminal ausführst:
- Drücken Sie den Knopf und halten Sie ihn einige Sekunden lang gedrückt, dann lassen Sie ihn los.
- Schauen Sie sich das Ergebnis am seriellen Monitor an.
Das Langdruck-Ereignis wird nur erkannt, auch wenn die Taste noch nicht losgelassen wurde.
Wie man sowohl langes Drücken als auch kurzes Drücken erkennt
Schnelle Schritte
- Erstelle eine Python-Skriptdatei long_short_press.py und füge den folgenden Code hinzu:
- Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal ausführen:
- Drücken Sie den Knopf sowohl kurz als auch lang.
- Schauen Sie sich die Ergebnisse im Terminal an.
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 nötig sind
- Um die Anzahl der Tasten zu minimieren, kann eine Taste verwendet werden, um mehrere Funktionen auszuführen. Zum Beispiel kann ein kurzer Tastendruck verwendet werden, um den Betriebsmodus zu wechseln, während ein langer Tastendruck verwendet werden kann, um das Gerät auszuschalten.
- Die Verwendung eines langen Tastendrucks hilft, versehentliches kurzes Drücken zu verhindern. Zum Beispiel verwenden einige Geräte einen Knopf, um einen Werksreset zu initiieren. Wenn der Knopf unbeabsichtigt gedrückt wird, könnte dies gefährlich sein. Um dies zu verhindern, ist das Gerät so konzipiert, dass es einen Werksreset nur dann initiiert, wenn der Knopf eine bestimmte Zeit lang gedrückt gehalten wird (z. B. 5 Sekunden).