Raspberry Pi - Taster - Entprellung
Wenn ein Taster gedrückt oder losgelassen wird, oder wenn ein Schalter betätigt wird, nehmen Neulinge oft an, dass sein Zustand einfach von LOW zu HIGH oder HIGH zu LOW geändert wird. In Wirklichkeit ist das nicht der Fall. Aufgrund mechanischer und physikalischer Eigenschaften kann der Zustand des Tasters (oder Schalters) mehrmals zwischen LOW und HIGH umgeschaltet werden. Dieses Phänomen ist als Prellen bekannt. Prellen kann dazu führen, dass ein einzelner Tastendruck als mehrere Drückungen gelesen wird, was in bestimmten Anwendungen zu Fehlfunktionen führt.

Die Methode, dieses Problem zu verhindern, wird als Entprellung oder Debounce bezeichnet. Dieses Tutorial zeigt Ihnen, wie Sie es bei der Verwendung des Tasters mit dem Raspberry Pi durchführen. Wir werden die folgenden Schritte durchgehen:
- Raspberry Pi-Code ohne Entprellung eines Tasters.
- Raspberry Pi-Code mit Entprellung eines Tasters.
- Raspberry Pi-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) |
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Lassen Sie uns die Unterschiede zwischen dem Raspberry-Pi-Code mit und ohne Entprellung sowie das jeweilige Verhalten beider Codes betrachten.
Tasterauslesen ohne Entprellung
Bevor du Debouncing verstehst, sieh dir den Code ohne Debouncing an und beobachte sein Verhalten.
Schnelle Schritte
- Stellen Sie sicher, dass auf Ihrem Pi Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem installiert ist.
- Stellen Sie sicher, dass Ihr Raspberry Pi mit demselben lokalen Netzwerk wie Ihr PC verbunden ist.
- Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, falls Sie einige Bibliotheken installieren müssen.
- Wenn Sie den Raspberry Pi zum ersten Mal verwenden, sehen Sie sich an, wie man den Raspberry Pi einrichtet
- Verbinden Sie Ihren PC per SSH mit dem Raspberry Pi, verwenden Sie dazu den integrierten SSH-Client unter Linux und macOS oder PuTTY unter Windows. Siehe wie Sie Ihren PC per SSH mit dem Raspberry Pi verbinden
- Stellen Sie sicher, dass Sie die Bibliothek RPi.GPIO installiert haben. Falls nicht, installieren Sie sie mit dem folgenden Befehl:
- Erstelle eine Python-Skriptdatei button_without_debounce.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:
Das Skript läuft kontinuierlich in einer Endlosschleife, bis Sie im Terminal Strg + C drücken.
- Drücken Sie den Knopf einige Sekunden lang und halten Sie ihn gedrückt, dann lassen Sie ihn los.
- Sehen Sie sich das Ergebnis im Terminal an.
Manchmal hast du den Knopf nur einmal gedrückt und losgelassen. Dennoch erkennt der Raspberry Pi es als mehrere Druck- und Loslassvorgänge. Dies ist das Prellen-Phänomen, das am Anfang des Tutorials erwähnt wurde. Schauen wir mal, wie man das im nächsten Teil behebt.
Lesen eines Tasters mit Entprellung
Schnelle Schritte
- Erstellen Sie eine Python-Skriptdatei button_debounce.py und fügen Sie 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 für ein paar Sekunden und halten Sie ihn gedrückt, danach lassen Sie ihn los.
- Überprüfen Sie das Terminal auf die Ergebnisse.
Wie Sie sehen können, haben Sie den Taster nur einmal gedrückt und losgelassen. Der Raspberry Pi erkennt dies als einen einzigen Tastendruck und das Loslassen, wodurch jegliches unnötiges Rauschen beseitigt wird.
Raspberry Pi Button-Entprellung für mehrere Buttons
Das Diagramm, das die Verkabelung des genannten Codes veranschaulicht:

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:

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.