Questo forum utilizza i cookies
Questo forum fa uso di cookie per migliorare l'esperienza utente. I cookie sono piccoli file di testo memorizzati sul tuo browser. I cookie impostati dal forum possono essere utilizzati solo su questo sito e non costituiscono rischio per la sicurezza, vengono utilizzati unicamente per memorizzare le tue preferenze. Navigando sul sito accetti che RaspberryItaly installi i cookie sul tuo browser.
Per maggiori informazioni consulta l'informativa sui Cookie di RasberryItaly

Un cookie verra memorizzato nel browser indipendentemente dalla scelta per evitare che questa domanda ti venga posta di nuovo. Sarai in grado di modificare le impostazioni dei cookie in qualsiasi momento utilizzando il link nel footer.
  • 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
di sintassi errore

errore di sintassi
#1
Salve sto cercando di fare avviare un relè solo se il device è  high questo e lo script che mi da errore, dove sbaglio?

Codice:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(16, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(25, GPIO.OUT, initial=GPIO.LOW)
GPIO.add_event_detect(16, GPIO.BOTH)
def my_callback():
   GPIO.output(25, GPIO.input(16))
GPIO.add_event_callback(16, my_callback)


il progetto che  sto cercando di avviare è composto da 8 relè che devono funzionare solo alla chiusura di un fine corsa per l' accensione di ogni  relè


grazie
Risposta
#2
Usa i Tag code e /code per racchiudere il codice, in modo che venga visualizzato correttamente.
Riporta anche l'errore completo che ti torba Python (spesso è indicata anche la causa, e segnato con un ^ il punto "incriminato"
Risposta
#3
stando a questo
scrivono 
Codice:
def my_callback(channel):

forse manca il channel?
Heart Libro  | Blog EnricoSartori.it | Idea YouTube
Se un utente ti è stato utile, aumenta la sua reputazione! premi il Pollicione! 
Risposta
#4
(23/05/2017, 14:09)Zzed Ha scritto: Usa i Tag code e /code per racchiudere il codice, in modo che venga visualizzato correttamente.
Riporta anche l'errore completo che ti torba Python (spesso è indicata anche la causa, e segnato con un ^ il punto "incriminato"

la frase che mi da python è solo invalid sintax

(23/05/2017, 14:46)Enrico Sartori Ha scritto: stando a questo
scrivono 
Codice:
def my_callback(channel):

forse manca il channel
scusa la mia ignoranza cosa intende x channel....
Risposta
#5
Ti è indispensabile usare la vetusta libreria Rpi.Gpio? Se no, descrivi cosa vuoi ottenere, perché non ho capito cosa intendi con "il device è high".
Vuoi che quando un pin è alto, il relè collegato a un altro pin diventi alto?
Risposta
#6
(23/05/2017, 20:03)Zzed Ha scritto: Ti è indispensabile usare la vetusta libreria Rpi.Gpio? Se no, descrivi cosa vuoi ottenere, perché non ho capito cosa intendi con "il device è high".
Vuoi che quando un pin è alto, il relè collegato a un altro pin diventi alto?

no posso usare qualsiasi libreria  , mi sembrava che era la più' facile....  il progetto che sto cercando di realizzare dopo l'accensione del primo relè,  i relè (comandano delle elettrovalvole   a cui sono collegati dei pistoni ad aria ) successivi devono dipendere dalla chiusura di un interruttore (fine corsa) per attivarsi....


questo  è l'errore che mi da adesso " invalid syntax"
modificando lo script 
Codice:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(25, GPIO.OUT, initial=GPIO.LOW)
GPIO.add_event_detect(4, GPIO.BOTH)
def my_callback(channel):
   GPIO.output(25, GPIO.input(4))
GPIO.add_event_callback(4, my_callback)
Risposta
#7
non devi scrivere la parola channel, leggi la documentazione al riguardo.
controlla bene i rientri di riga (identazione) del codice
Heart Libro  | Blog EnricoSartori.it | Idea YouTube
Se un utente ti è stato utile, aumenta la sua reputazione! premi il Pollicione! 
Risposta
#8
(24/05/2017, 11:22)Enrico Sartori Ha scritto: non devi scrivere la parola channel, leggi la documentazione al riguardo.
controlla bene i rientri di riga (identazione) del codice

grazie ora provo, se ho compreso è lo stesso numero del pin che uso per collegare il pulsante il 4
Risposta
#9
La più facile, comunque, è gpiozero, e di gran lunga.
Risposta
  


Vai al forum:


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