• 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
pi2b raspberry e 3

[Problema] Raspberry pi2B+ e 3
#1
Problema software di compatibilità'
Allora ho creato un programmino che sfruttando la Gpio accende e spegne dei led e fin qui tutto bene sul pi3.
Lo stesso programma eseguito sul pi2B+ mi da errore di definizione caratteri ascii nella riga dove definisco la variabile del pin Gpio (la prima delle 4 usare(5/6/7/8) , la numero 5).
Ho provato a chiedere aiuto su un forum di Python ma non ho ricevuto un motivo di giustificazione dell'errore; presumo quindi che il problema sia una differenza hardware che si traduce in uno/due comandi da aggiungere/ modificare per far girare il programma sulla pi2B+.
Premetto che dalla stessa release (1.9.2 di noobs) sono state create le due sd con il sistema operativo, quindi in teoria il S.O. è identico.
Allora perché ??
Grazie




Inviato dal mio iPad utilizzando Tapatalk
Alberto
Risposta
#2
Il gpio è identico, così come Python.
Postati la riga incriminata, così come il messaggio di errore completo
Risposta
#3
Ribadisco che su raspi 3 funziona anche senza le prime due righe di codice

Ribadisco che su raspi 3 funziona anche senza le prime due righe di codice

# -*- coding: <ascii> -*-

#! python3

# 11/09/2016 : fa lampeggiare due led con le funzioni



import RPi.GPIO as GPIO

import time



### Setup iniziale ###

GPIO.setmode(GPIO.BCM)

#

PIN5 = 5 ### Ma scegli quello che ti piace di più ###

PIN6 = 6

PIN7 = 7

PIN8 = 8

GPIO.setwarnings(False) ### Serve solo per non stampare i warning a schermo, un po' li odio lo confesso ###

GPIO.setup(PIN5,GPIO.OUT)

GPIO.setup(PIN6,GPIO.OUT)

GPIO.setup(PIN7,GPIO.OUT)

GPIO.setup(PIN8,GPIO.OUT)



def led5_on():

GPIO.output(PIN5,True)

time.sleep(1)



def led6_on():

GPIO.output(PIN6,True)

time.sleep(1)



def led7_on():

GPIO.output(PIN7,True)

time.sleep(1)



def led8_on():

GPIO.output(PIN8,True)

time.sleep(1)



def led5_off():

GPIO.output(PIN5,False)

time.sleep(1)



def led6_off():

GPIO.output(PIN6,False)

time.sleep(1)



def led7_off():

GPIO.output(PIN7,False)

time.sleep(1)



def led8_off():

GPIO.output(PIN8,False)

time.sleep(1)



### Accendi e spegni la lucetta finché non spari allo script ###

while True:



led5_on()

led6_on()

led7_on()

led8_on()



led5_off()

led6_off()

led7_off()

led8_off()






--------------
Alberto
Alberto
Risposta
#4
su questione tecniche rimando a chi è più pratico Smile
ma la prossima volta, per aiutare la leggibilità, ti consiglio di mettere il codice nel tag (code)(/code) che offre il forum.
con le parentesi quadre, non tonde Tongue



Coltiva linux, che windows si pianta da solo! (cit.)
Risposta
#5
Grazie


Allegati Anteprime
   
Alberto
Risposta
#6
Provato con
Codice:
# -*- coding: utf-8 -*-
?
Risposta
#7
(23/09/2016, 14:44)Zzed Ha scritto: Provato con
Codice:
# -*- coding: utf-8 -*-
?


Avevo provato prima di inserire la definizione "ascii" , ma dopo aver ricevuto una bacchettata sul fatto che li avevo messi in 3 e quanta riga ho tolto quello che mi dici tu e ho spostato ascii in seconda riga e tolto l'altro.
Oggi riprovo e poi vi dico.
Intanto grazie.



Inviato dal mio iPhone utilizzando Tapatalk
Alberto
Risposta
#8
(23/09/2016, 14:01)Painbrain Ha scritto: su questione tecniche rimando a chi è più pratico Smile
ma la prossima volta, per aiutare la leggibilità, ti consiglio di mettere il codice nel tag (code)(/code) che offre il forum.
con le parentesi quadre, non tonde Tongue


Scusa , hai ragione; ma ho caricato tutto da Tapatalk e quindi non avevo il "funzione code" .
Non mancherò la prossima volta (risponderò direttamente dal forum.
Grazie ancora
Alberto



Inviato dal mio iPhone utilizzando Tapatalk

(24/09/2016, 08:11)Trescon65 Ha scritto:
(23/09/2016, 14:44)Zzed Ha scritto: Provato con
Codice:
# -*- coding: utf-8 -*-
?


Avevo provato prima di inserire la definizione "ascii" , ma dopo aver ricevuto una bacchettata sul fatto che li avevo messi in 3 e quanta riga ho tolto quello che mi dici tu e ho spostato ascii in seconda riga e tolto l'altro.
Oggi riprovo e poi vi dico.
Intanto grazie.



Inviato dal mio iPhone utilizzando Tapatalk


Ok, allora la riga di codice suggerita permette al programma di girare, quindi era necessario che ci fosse.
Ora però mettendola in un'altro programmino che sul tre funziona, mi da errore su un input


Inviato dal mio iPhone utilizzando Tapatalk

Salve, il programma precendete quindi funzioananche sul raspi 2B+ , il seguente invece mi da un errore sul primo parametro dell'input che deve essere una stringa (ovviamente sul raspi 3 .... tutto ok
Perchè secondo voi ?
Grazie

Codice:
# 11/09/2016 : inserendo dei numeri a una cifra il  LEd si accende , inserensolo a 2 cifre il LED si spegne (1/11,2/22,3/33,4/44)
# -*- coding: utf-8 -*-

import RPi.GPIO as GPIO
import time

### Setup iniziale ###
GPIO.setmode(GPIO.BCM)
PIN5 = 5 ### Ma scegli quello che ti piace di più ###
PIN6 = 6
PIN7 = 7
PIN8 = 8
GPIO.setwarnings(False) ### Serve solo per non stampare i warning a schermo, un po' li odio lo confesso ###
GPIO.setup(PIN5,GPIO.OUT)
GPIO.setup(PIN6,GPIO.OUT)
GPIO.setup(PIN7,GPIO.OUT)
GPIO.setup(PIN8,GPIO.OUT)

def led5_on():
    GPIO.output(PIN5,True)
    time.sleep(1)
    
def led6_on():
    GPIO.output(PIN6,True)
    time.sleep(1)    
    
def led7_on():
    GPIO.output(PIN7,True)
    time.sleep(1)
    
def led8_on():
    GPIO.output(PIN8,True)
    time.sleep(1)

def led5_off():
    GPIO.output(PIN5,False)
    time.sleep(1)
    
def led6_off():
    GPIO.output(PIN6,False)
    time.sleep(1)
    
def led7_off():
    GPIO.output(PIN7,False)
    time.sleep(1)
    
def led8_off():  
    GPIO.output(PIN8,False)
    time.sleep(1)
    
    

### Accendi e spegni la lucetta finché non spari allo script ###
while True:
    
    i=eval(input ("inserisci 1/2 : "))

    if i== 1:
        led5_on()
      
    elif i== 11 :
        led5_off()
        
    elif i== 2 :
        led6_on()
        
    elif i== 22 :
        led6_off()

    elif i== 3 :
        led7_on()
        
    elif i== 33 :
        led7_off()

    elif i== 4 :
        led8_on()
        
    elif i== 44 :
        led8_off()

#    led5_on()
#    led6_on()
#    led7_on()
#    led8_on()

#    led5_off()
#    led6_off()
#    led7_off()
#    led8_off()
Alberto
Risposta
  


Vai al forum:


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