Ho collegato i led rosso e verde tramite GPIO e posso accenderli / spegnerli con successo usando RPi.GPIO
- ora vorrei:
- avvia un led lampeggiante ogni 1 secondo
- fai in modo che lo script continui la sua esecuzione
- ferma il led dal lampeggiare ad un altro segnale
Un esempio simile è il progetto Raspberry Pi E-mail Notifier Using LEDs, tranne in questo caso i LED sono accesi in modo fisso e lo script attende solo il controllo successivo:
if newmails > NEWMAIL_OFFSET: GPIO.output (GREEN_LED, True) GPIO.output (RED_LED, False) altrimenti: GPIO.output (GREEN_LED, False) GPIO.output (RED_LED, True) time.sleep (MAIL_CHECK_FREQ)
È possibile fare qualcosa di simile a questo pseudo-codice?
cont = Truewhile cont: controlla la posta in caso di nuova posta: flashLed (verde) else: flashLed ( rosso) fare altre cose mentre la spia relativa lampeggia (non solo time.sleep) def lampeggiante LED (colore): smetti di lampeggiare l'altro colore inizia a lampeggiare reimpostando questo colore ritornare al programma chiamante
Affinché funzioni immagino che la funzione flashLed
debba far partire il led corrispondente lampeggiante, quindi riportare l'esecuzione al corpo principale dello script.
È possibile utilizzare Python? C'è un approccio migliore?