• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
button svuotare

svuotare button
#1
Salve, ho questo codice:
Codice PHP:
#!/usr/bin/env python3
from gpiozero import LED,Button
from time import sleep

led 
LED(17)
def main():
    
cmd input("on, off  , blink , button: ")
    if 
cmd == 'on':
        
led.on()
        
main()
    
elif cmd == 'off':
        
led.off()
        
main()
    
elif cmd == 'blink':
        try:
            while 
True:
                
led.on()
                
sleep(1)
                
led.off()
                
sleep(1)
        
except KeyboardInterrupt:
            
led.off()
            
sleep(1)
            
main()
    
elif cmd == 'button':
        
button Button(2)
        
button.when_pressed led.on
        button
.when_released led.off
        input
()
        
main()


if 
__name__ == '__main__':
    try:
        
main()
    
except KeyboardInterrupt:
        
led.off() 

ad questo blocco di codice:
Codice PHP:
elif cmd == 'button':
        
button Button(2)
        
button.when_pressed led.on
        button
.when_released led.off
        input
()
        
main() 
come faccio ad rimuovere il button come fosse led.off

Perché se io digito button e dopo esco dal blocco button, e premo per errore il pulsante mi funziona ancora anche se sono uscito dal blocco e sto usando il blocco on off del led .

come posso fare? c'è qualche evento che posso liberare la risorsa e svuotarla ?

Grazie mille e buona serata.
Risposta
#2
se ho ben capito la tua domanda..
Codice:
button = Button(none)
così "disattivi" il pulsante
potresti metterlo all' inizio di ogni blocco
Risposta
#3
ho provato ma da questo:
Traceback (most recent call last):
File "blinker.py", line 36, in <module>
main()
File "blinker.py", line 10, in main
main()
File "blinker.py", line 24, in main
main()
File "blinker.py", line 10, in main
main()
File "blinker.py", line 13, in main
main()
File "blinker.py", line 30, in main
button = Button(none)
NameError: name 'none' is not defined
pi@raspberrypi:~/share $
Risposta
#4
Sicuro di avere gpiozero aggiornato? È appena uscita la vers. 1.5.
Per aggiornare :
Codice:
sudo apt update
sudo apt install python3-gpiozero python-gpiozero

In alternativa, invece di none, metti il numero di un pin a cui non è collegato niente
Risposta
#5
(24/02/2019, 19:20)Zzed Ha scritto: Sicuro di avere gpiozero aggiornato? È appena uscita la vers. 1.5.
Per aggiornare :
Codice:
sudo apt update
sudo apt install python3-gpiozero python-gpiozero

In alternativa, invece di none, metti il numero di un pin a cui non è collegato niente

ecco i  miei moduli di python3. lo installato come hai detto tu.. ma stamani alle 10. e penso che è quella che dici tu.
vedi ti allego immagine.    
Risposta
#6
risolto.. mancava il controllo del pulsante premuto:

Codice:
try:
                while True:
                
                    if button.is_pressed:
                        led.on()
                    else:
                        led.off()
            except KeyboardInterrupt:
                led.off()
                main()


cosi quando esco non fa andare il button.

vi ringrazio molto.
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect