Ich habe rote und grüne LEDs über GPIO angeschlossen und kann sie mit RPi.GPIO
erfolgreich ein- und ausschalten - jetzt möchte ich:
- Starten Sie alle 1 Sekunde ein LED-Blinken.
- Lassen Sie das Skript seine Ausführung fortsetzen.
- Verhindern Sie, dass die LED bei einem anderen Signal blinkt.
Ein ähnliches Beispiel ist das Projekt Raspberry Pi E-Mail-Benachrichtigung mit LEDs, außer dass in diesem Fall die LEDs dauerhaft leuchten und das Skript nur bis zur nächsten Überprüfung wartet:
if newmails > NEWMAIL_OFFSET: GPIO.output (GREEN_LED, True) GPIO.output (RED_LED, False) else: GPIO.output (GREEN_LED, False) GPIO.output (RED_LED, True) time.sleep (MAIL_CHECK_F) >
Ist es möglich, so etwas wie diesen Pseudocode zu tun?
cont = Truewhile cont: Nach E-Mails suchen, wenn neue E-Mails: flashLed (grün) else: flashLed ( rot) mache andere Dinge, während das entsprechende Licht blinkt (nicht nur time.sleep) def flashLed (Farbe): hör auf zu blinken, die andere Farbe beginnt zu blinken Wenn diese Farbe zum aufrufenden Programm zurückkehrt
Damit dies funktioniert, muss die Funktion flashLed
das entsprechende LED-Flashen starten und dann die Ausführung an das zurückgeben Hauptskriptkörper.
Ist dies mit Python möglich? Gibt es einen besseren Ansatz?