YOUTUBE - Gioco prova riflessi fai da te

Gioco prova riflessi fai da te

Ciao ragazzi, ho voluto realizzare un gioco prova riflessi utilizzando arduino mega come motore di controllo per gestire 4 pulsanti luminosi che si accenderanno in successione. Il gico consiste nel premere il piu velocemente possibile i pulsanti quando si accenderanno. Ho realizzato il tutto dentro una scatola elettrica di derivazione, 4 pulsanti lunimosi colorati, arduino mega e un modulo a 4 relè.

Lo schema elettrico

Schema utilizzato nel video tutorial

Schema veramente semplice, i quattro pulsanti, se premuti, porteranno il gnd ad arduino quindi, per questa configurazione, utilizzeremo le resistenze interne pull up di arduino per non aggiungerle esternamente. Ho inserito anche un buzzer piezoelettrico che nel video non è stato inserito, potrebbe tornare utile per effetti sonori speciali.

Variante utilizzando Arduino uno

Lo schema è identico a quello proposto sopra, con la sola differenza che non ci sarà arduino nano, ma arduino uno. La logica è identica, ma siccome mi chiedete spesso se il nano è sostituibile con arduino uno, ecco la dimostrazione che è possibile.

Variante senza l' utilizzo del modulo a relè

Questo schema invece è più semplificativo perché è stato rimosso il modulo da 4 relè. In effetti non è fondamentale, ma per quelli che non hanno dimestichezza con resistenze, transistor ecc, mi sembrava una soluzione più sicura per non richiare di bruciare i pin del nano. Questa versione richiede una modifica da parte dei pulsanti luminosi perchè al' interno hanno un led con resistenza da 1000 ohm. Per alimentare i led direttamente dai pin di arduino, dovete accertarvi che il singolo led abbia una corrente di assorbimento inferiore ai 25mA perchè oltre bisognerà utilizzare un transistor tipo bc 547. Altro accorgimento, la resistenza dovrà essere sostituita con un valore inferire tipo 680 ohm per essere alimentato dalla 5 volt

La logica del gioco

La logica è molto semplice...

Appena alimenterete la console, si entrerà nella modalità demo dove si accenderanno in sequenza le luci dei pulsanti.

Alla pressione del tasto start, partirà un big counter dove, raggiunto lo zero, inizierà il gioco vero e proprio. Partirà un tempo formato da una progress barr e si accenderà una luce casuale e rimarrà accesa fino a che non andiamo a premere il relativo pulsante. Più si attende, e meno punti possiamo cumulare. Se si preme in modo coretto, si accumulano 150 punti e si accenderà immediatamente un' altra lampada. se si preme in modo errato, si accendono tutte e 4 per un tempo penalità di un secondo e verranno sottratti -150 punti. Raggiunto il tempo finale, si potrà vedere se abbiamo superato il punteggio record oppure quello totalizzato.

 

IL SORGENTE PER ARDUINO

Codice disponibile al Download

Se volete poterte cambiare i valori ad inizio Sketch per modificare tempi e alcuni parametri del gioco:

 

int PUNTEGGIOstep = 150; // Assegna il punteggio per pressione corretta/errata

int TEMPOpenalita = 1000; // Assegna il tempo in secondi per la penalità pressione errata

int TEMPOrilancio = 100; // Assegna il tempo di rilancio a pressione corretta

int TIMERgiocoCOUNTdown = 50; // Assegna il tempo per il contatore COUNTDOWN durante il gioco (Minore valore, velocità maggiore)

int PunteggioRecord = 1500; // Imposta il punteggio record iniziale

int velocitaBarra = 10; //  Inserire la velocità del tempo

 

Download
Sketch
Scarica il sorgente per arduino uno
GIOCO_RIFLESSI_2.zip
Archivio compresso in formato ZIP 3.9 KB

IMPORTANTE

Dovete scaricare la libreria LiquidCrystal_I2C.h per compilare correttamente il codice su arduino Uno


Lista componeneti

Ormai sono le due di notte, metterò tutti i componenti utilizzati domani, adesso sono molto stanco.