Pensavo peggio, mi ero fortemente scoraggiato, poi ho deciso comunque di provare. E ci sono riuscito, l’ho fatto per 3 sensori lo dovrei replicare per una 15ina.
purtroppo non si vedono i 3 sensori IR che sono sotto i 3 led rossi. Dovevano sporgere fuori dal tavolo altrimenti rilevavano il tavolo.
Ho usato un Mega2560, dopo aver installato il driver CH…qualcosa. Si vede anche il buzz collegato. Funziona. Ho un po’ penato per le durate. Manca (e sarà il prossimo passo) la visualizzazione del punteggio su display. Per ora è una semplice println sulla console dell’ide arduino. Si illumina per un tempo un led a caso e se in un certo tempo l’IR corrispondente rileva allora suona un buzz breve ed incrementa i successi. Se invece rileva un altro IR oppure l’IR corretto rileva in ritardo si incrementano gli insuccessi.
Quello che volevo chiedervi è come lo faccio evolvere a 15 sensori+led. Dovrei usare l’IC ?
Altro consiglio. Immagino di prendere una tavola 1,5 m per 50 cm e fare 15 buchi dove mettere la coppia sensoreIR+led. Come cablare tutti e 15 elementi ? Servono 2 per il led e 3 per l’IR. Per il prototipo ho messo i jumper della scatola Elegoo. Per la realizzazione che diametro di filo devo prendere ? Ci saranno problemi per le lunghezze ?
Non so cosa sia "l'IC" ma se il tuo dubbio è relativo all'hardware, con una Mega dovresti tranquillamente gestire 15 sensori e relativi led. Se il tuo dubbio è relativo al software, dovresti postare il tuo sketch.
Usa dei buoni cavi, magari schermati, fai delle buone saldature, e riduci comunque la loro lunghezza per quanto possibile. Ad es. posizionando Arduino al centro della tavola, ovviamente dal lato interno/inferiore, così potrai avere sensori al massimo a 75 cm di distanza.
Ma al posto tuo farei prima qualche prova comunque col prototipo, usando cavi da 75-80 cm di lunghezza, non si sa mai.
PS: ho capito qual è il gioco di riflessi, ne vidi uno al Roma Maker Faire di qualche anno fa...
No, I2C lo escludo: anche se è un bus (quindi non necessita teoricamente di connessioni "a stella" come quelle tra Mega ed i 15 sensori) è ancora più critico di un normale digital input per quanto riguarda la lunghezza delle connessioni (non è pensato per collegamenti distribuiti).
E comunque avresti bisogno di sensori I2C (e per i led come fai?).
Mah, per prima cosa ti giro la domanda: tu sai quanti pin I/O ha un Mega quando lo hai acquistato? Ecco, contali e vedi se sono almeno 31 più quelli per il display (che se poi fosse I2C potresti controllarlo con solo 2 pin, SDA e SCL).
Per il "friggere": ovviamente bisogna tenere in conto della corrente massima erogabile da Arduino nel suo insieme (in genere deve essere meno di 200 mA in totale per tutti i pin) e da ogni singolo pin (il massimo è 40 mA, consigliati 20 mA o meno), e da quanti led devi poter tenere accesi contemporaneamente.
In generale, se uno prevede di accendere tanti led magari è opportuno usare dei transistor ed alimentare i led a monte di Arduino.
Ma nel tuo caso se ho capito bene, il gioco richiede UN led acceso per volta, non ci sono problemi.
Si, corretto dei 15 pin è acceso non più di uno soltanto. Per alimentare i 15 sensori infrarosso, tutti sempre accesi, sono ognuno 20 mA (se non sbaglio). Dovremmo esser fuori. Conviene forse alimentarli esternamente.
Per i sensori direi di sì, 15*20 fa 300 mA solo per questi.
Per cui prevedi di alimentarli a monte di Arduino (ossia non dal pin 5V, ma dal +5 dell'alimentatore).
In alternativa ai sensori perché invece degli infrarossi non usare dei semplici e bei pulsanti a cupola, magari con LED incorporato come questi?
Il pulsante ed il led sono due controlli distinti, per cui, pur non capendo io il significato di "colpito per errore senza essere illuminato" (?), sarà il tuo programma a decidere se la pressione sia corretta (è acceso il led del pulsante premuto) o meno (ha premuto un altro pulsante, o è scaduto il tempo ed il led si è già spento).
Per il prototipo in foto l’ho alimentata con l’uscita USB del PC. Anche perchè l’output dei risultati era sulla console non avendo ancora provato a mettere il display. Quanto fornisce l’usb del pc ?
300 mA, 500 mA ?
Per il display ho preso un 1602a ver 5.5 e devo studiarmi come collegarlo e visualizzare i risultati.
Ah ok. Io l’ho sempre chiamato “usb power delivery”. Contrattazione mi ha allarmato. Pensavo che pure questo bisognasse concordare con le parti sociali.