Raspberry Pi - LED - Blinken ohne Verzögerung
Stellen wir uns vor, dass Raspberry Pi zwei Aufgaben erfüllen muss: eine LED blinken lassen und den Zustand einer Taste überwachen, die jederzeit gedrückt werden kann. Wenn wir die time.sleep() Funktion verwenden (wie in einem vorherigen Tutorial besprochen), kann Raspberry Pi möglicherweise einige Tastendrücke nicht erkennen. Mit anderen Worten, Raspberry Pi ist nicht in der Lage, die zweite Aufgabe vollständig auszuführen.
Dieses Tutorial zeigt Ihnen, wie Raspberry Pi eine LED blinken lassen und gleichzeitig den Zustand einer Taste überwachen kann, ohne Druckereignisse zu verpassen.
Wir werden drei Beispiele durchgehen und die Unterschiede zwischen ihnen vergleichen:
- Raspberry Pi blinkt eine LED mit der time.sleep() Funktion
- Raspberry Pi blinkt eine LED mit der millis() Funktion
Diese Methode ist nicht nur auf das Blinken von LEDs und das Überprüfen des Tastenzustands beschränkt. Sie ermöglicht es Raspberry Pi, mehrere Aufgaben gleichzeitig auszuführen, ohne sich gegenseitig zu beeinträchtigen.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Kaufhinweis: Um den Verdrahtungsprozess zu vereinfachen, empfehlen wir die Verwendung des LED Module, das mit einem eingebauten Widerstand geliefert wird.
Über LED und Taste
Falls Sie mit LED und Taste nicht vertraut sind (einschließlich Pinout, Funktionalität und Programmierung), können die folgenden Tutorials Orientierung bieten:
Schaltplan

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:

Raspberry Pi Code - Mit Verzögerung
Schnelle Schritte
- Stellen Sie sicher, dass Sie Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem auf Ihrem Pi installiert haben.
- 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.
- Falls Sie Raspberry Pi zum ersten Mal verwenden, siehe wie Sie Raspberry Pi einrichten
- Verbinden Sie Ihren PC mit dem Raspberry Pi über SSH mit dem integrierten SSH-Client auf Linux und macOS oder PuTTY auf Windows. Siehe wie Sie Ihren PC mit Raspberry Pi über SSH verbinden.
- Stellen Sie sicher, dass Sie die RPi.GPIO Bibliothek installiert haben. Falls nicht, installieren Sie sie mit folgendem Befehl:
- Erstellen Sie eine Python-Skriptdatei led_blink_with_delay.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 die Taste vier Mal.
- Schauen Sie sich die LED an; sie wird jede Sekunde zwischen ein und aus wechseln.
- Schauen Sie sich die Ausgabe im Terminal an.
- Im Terminal wurden einige Druckzeiten nicht aufgezeichnet. Das liegt daran, dass Raspberry Pi während der Verzögerungszeit nichts tun kann und daher nicht in der Lage ist, das Druckereignis zu erkennen.
Das Skript läuft in einer Endlosschleife kontinuierlich, bis Sie Strg + C im Terminal drücken.
Raspberry Pi Code - Ohne Verzögerung
Schnelle Schritte
- Erstellen Sie eine Python-Skriptdatei led_blink_without_delay.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 die Taste 4 Mal.
- Schauen Sie sich die LED an, die jede Sekunde zwischen EIN und AUS wechselt.
- Überprüfen Sie die Ausgabe im Terminal.
- Alle Druckereignisse wurden erkannt, während die LED blinkte.
Das Skript läuft in einer Endlosschleife kontinuierlich, bis Sie Strg + C im Terminal drücken.
Code-Erklärung
Schauen Sie sich die zeilenweise Erklärung in den Kommentaren des Quellcodes 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.
Erweiterbarkeit
Diese Methode ermöglicht es Raspberry Pi, mehrere Aufgaben gleichzeitig auszuführen, ohne sich gegenseitig zu beeinträchtigen. Zum Beispiel eine Anfrage an das Internet zu senden und auf die Antwort zu warten, während gleichzeitig einige LED-Indikatoren blinken und die Abbruchtaste überprüft wird.