J'ai connecté des LED rouges et vertes via GPIO et je peux les allumer / éteindre avec succès en utilisant RPi.GPIO
- maintenant j'aimerais:
- démarrer une led clignotante toutes les 1 seconde
- faire continuer son exécution au script
- arrêter la led de clignoter sur un autre signal
Un exemple similaire est le projet Raspberry Pi E-mail Notifier Using LED, sauf que dans ce cas, les LED sont allumées en continu et le script attend juste la prochaine vérification:
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_FREQ)
Est-il possible de faire quelque chose comme ce pseudo-code?
cont = TruePendant que cont: vérifier s'il y a un nouveau courrier: flashLed (vert) else: flashLed ( rouge) faire d'autres choses pendant que le voyant correspondant clignote (pas seulement time.sleep) def flashLed (couleur): arrêter de clignoter l'autre couleur commence à clignoter cette couleur retourne au programme appelant
Pour que cela fonctionne, j'imagine que la fonction flashLed
aurait besoin de démarrer le clignotement de la led correspondante, puis de retourner l'exécution au corps principal du script.
Est-ce possible avec Python? Existe-t-il une meilleure approche?