Arduino Cyclone Arcade Game
Obiettivo: Realizzare un gioco Arcade, basato su LED e pulsanti, utilizzando il microcontrollore Arduino.
Componenti elettronici:
- Arduino UNO
- Breadboard
- 1 Resistenze da 1kOhm per i pulsanti
- 8 Resistenze da 100 Ohm per i LED.
- 1 Buzzer Passivo (per la realizzazione di una melodia)
- 8 LED (7 LED Rossi ed 1 Led Verde)
- 1 Pulsante
Pre-requisiti:
https://www.arduinofacile.it/2020/03/23/blinking-led-senza-delay-millis/
Teoria: Lo scopo di questo progetto è quello di creare un semplice gioco per bambini interattivo e divertente, sfruttando il microcontrollore Arduino. Il progetto proposto prende spunto da un gioco realmente prodotto e commercializzato negli anni 80 denominato “Cyclon jr” (vedi figura).
Il progetto è di facile realizzazione e si basa sull’utilizzo di un pulsante e di alcuni LED che si accenderanno in sequenza. L’obiettivo del gioco è premere il pulsante quando la luce del cyclone raggiunge l’unico LED verde presente nel tabellone di gioco. In caso di successo, il livello di difficoltà aumenterà ed i led si accenderanno più velocemente. Differente, in caso di sconfitta, il gioco ricomincerà da capo ed i led si accenderanno più lentamente.
L’utilizzo di un buzzer passivo permette di generare un segnale acustico in caso di vittoria o sconfitta. Analogamente una gioco di luci sarà avviato ogni volta che il giocatore preme il pulsante in modo corretto.
Collegamento Circuitale:
Codice:
Sebbene le componenti hardware impiegate nel progetto in questione sono di comune utilizzo, il codice non è dei più immediati. Innanzitutto, è importante considerare che per fare lampeggiare i LED è stata utilizzata la funzione millis() a discapito della tradizionale delay. L’impiego della funzione millis() permette infatti una maggiore reazione nel rilevare la pressione di un pulsante. Inoltre l’impiego dell’operatore modulo % permette di gestire in modo facile la corretta accensione dei led in sequenza. La difficoltà è infine regolata dal parametro K che aumenta ad ogni vittoria.
Personalizzazioni: E’ possibile aggiungere un numero maggiore di led per rendere il gioco più completo.