Prendendo spunto da un articolo pubblicato su Linux Pro di gennaio ho reimplementato il gioco Simon, con cui ho fatto lunghe partite da piccolo, a casa dei miei cugini in Svizzera. Per prima cosa ho provato a montare solo un interruttore e un led per vedere se ero in grado da codice di far accendere il led premendo l'interruttore e non ci sono stati problemi. Come già evidenziato nell'articolo una delle difficoltà è stata quella di piazzare i componenti in modo che non intralciassero le dita del giocatore e io l'ho risolta nel modo che si vede nella galleria sotto, anche se dopo averlo usato un po' ho visto che si potrebbero spostare alcune cose per renderlo migliore (comunque sono soddisfatto del risultato raggiunto).
Il software che ho scritto al momento resta in attesa della pressione di un pulsante qualsiasi per dare il via al gioco, poi parte a mostrare la sequenza di accensioni e aspetta che l'utente ripeta correttamente la sequenza mostrata. Se lo fa la prossima sequenza viene accelerata del 10% e così via finchè o il giocatore sbaglia o vince perché arriva fino alla sequenza finale di 20 accensione (al momento nessuno ci é riuscito ed é stato testato parecchio perché per un pomeriggio intero i ragazzini delle terze medie in visita all'Open Day dell'ITIS Castelli ci hanno provato). Il piezo buzzer che in figura si trova a sinistra é un po' misero per produrre suoni diversi, li ho ottenuti usando il PWM con duty cycle diversi e ottenendo dei suoni diversi per ogni led, tutti altrettanto sgradevoli.
Migliorie che si potrebbero fare sono dal punto di vista software fare come nel gioco vero in cui il giocatore non ha a disposizione un tempo infinito per ripetere la sequenza, ma dopo poco se non preme nessun tasto perde e da punto di vista hardware sostituire il piezo buzzer con un altoparlante e produrre qualcosa di più carino.