05/10/2018, 00:32
(Questo messaggio è stato modificato l'ultima volta il: 05/10/2018, 00:45 da Zzed.)
no, con signal/pause, il programma non usa le risorse di un ciclo infinito come con While=True, ma ragiona a interupt.
non serve quindi controllare ogni tot secondi.
Puoi usare invece di
un
eventualmente definire una funzione che zittisce il cicalino da richiamare con un sucessivo elif
invece di OutputDevice, usa DigitalOutputDevice, come ti avevo messo nel mio esempio: così potrai usare l'opzione blink e evitare di crearti una funzione per i cicli di suono e pausa del cicalino.
Ah, normalmente non ti servono resistenze esterne. Come detto, usando GpioZero, invece di Rpi.GPIO (che viene usata internamente da GpioZero stessa), hai altri vantaggi: in maniera trasparente per l'utente si occupa dei compiti un po' noiosi: definire ingressi e uscite (se definisci un pulsante, è ovvio sia un pin in ingresso, così come un LED è un pin in uscita), applicare dei filtri software per evitare rimbalzi e spurie, e attivare le resistenze interne di pull-up o pull-down a seconda dei casi d'uso (che sono sufficienti nel 90% delle applicazioni pratiche).
Anche l'importazione delle librerie.. inutile importare tutto GpioZero se ne usi solo 2 parti. Importando solo quelle, anche la sintassi è più semplice e pulita (vedi sempre mio esempio precedente). Ma vabbè, queste son finezze.
non serve quindi controllare ogni tot secondi.
Puoi usare invece di
Codice:
magnetico.when_pressed = basculante
Codice:
if magnetico.is_pressed:
basculante
invece di OutputDevice, usa DigitalOutputDevice, come ti avevo messo nel mio esempio: così potrai usare l'opzione blink e evitare di crearti una funzione per i cicli di suono e pausa del cicalino.
Ah, normalmente non ti servono resistenze esterne. Come detto, usando GpioZero, invece di Rpi.GPIO (che viene usata internamente da GpioZero stessa), hai altri vantaggi: in maniera trasparente per l'utente si occupa dei compiti un po' noiosi: definire ingressi e uscite (se definisci un pulsante, è ovvio sia un pin in ingresso, così come un LED è un pin in uscita), applicare dei filtri software per evitare rimbalzi e spurie, e attivare le resistenze interne di pull-up o pull-down a seconda dei casi d'uso (che sono sufficienti nel 90% delle applicazioni pratiche).
Anche l'importazione delle librerie.. inutile importare tutto GpioZero se ne usi solo 2 parti. Importando solo quelle, anche la sintassi è più semplice e pulita (vedi sempre mio esempio precedente). Ma vabbè, queste son finezze.