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
a sensori air con ir hockey segnapunti

Air hockey con segnapunti a sensori IR
#11
Ciao! Grazie! Io nel frattempo son riuscito a collegare il LED e a far scorrere delle scritte. Adesso quando torno do un occhio a quello che mi hai postato!!!
Risposta
#12
(27/05/2019, 23:17)Zzed Ha scritto: Ho avuto qualche impegno in famiglia, ma non mi sono scordato.
Ecco qui una bozza di quello che potrebbe essere lo script Python di gestione.
Codice:
# importo le librerie
from gpiozero import DistanceSensor, Button
from time import sleep
from signal import pause


# --- impostazioni --- #
punteggio = [0,0]
vittoria = 10       #punteggio per vincere
gioco = "TRUE"               # TRUE = gioco attivo FALSE = gioco fermo
# -------------------- #

def goal(g):
   global punteggio
   global gioco
   print ("Goal!")
   # qui eventuale effetto sonoro goal
   punteggio[g] = (punteggio[g]+1)
   print (str(punteggio[0]) + "-" + str(punteggio[1]))
   sleep(5)
   # qui fischio di ripresa del gioco
   if punteggio[g] == vittoria:         #controlla se qualcuno ha vinto
       print ("Vittortia giocatore " + str(g+1))
       # qui eventuale effetto sono vittoria
       gioco = "FALSE"

def reset():
   global punteggio
   global gioco
   print ("Inizio Partrita!")
   punteggio = [0,0]
   gioco = "TRUE"
   sleep(2)
   # eventuale effetto sonoro inizio
   print (str(punteggio[0]) + "-" + str(punteggio[1]))

# main
sensoreA = DistanceSensor(echo=18, trigger=17)  #sensore porta A
sensoreB = DistanceSensor(echo=23, trigger=22)  #sensore porta B
reset = Button(27)   #pulsante reset partita

#quando sensore A interviene
sensoreA.when_in_range = goal(0)

#quando sensore B interviene
sensoreB.when_in_range = goal(1)

#quando premi il pulsante
reset.when_pressed = reset()

pause()
Ho messo un ritardo di 5 secondi dopo ogni goal per avere il tempo di riposizionare il disco e fare in modo che il programma non continui a contare goal perché vede il disco in buca. E' però perfettibile.
I vari print dei messaggi possono essere sostituiti da scritte scorrevoli sul display,  volendo si può aggiungere qualche effetto sonoro o LED (ad esempio illuminando la porta dove viene segnato il goal).

oggi us la breadboard per connettere 1 sensore. Dopo ti aggiorno. grazie!
Risposta
  


Vai al forum:


Navigazione:
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect