Arduino è molto popolare per la creazione di progetti e giochi per hobby e in precedenza abbiamo utilizzato Arduino per creare giochi Snake, Ping pong, Space Race, ecc. Oggi stiamo costruendo un altro gioco popolare utilizzando Arduino- Buzz Wire Game o Steady Hand game.
Per questo progetto, useremo un Arduino Uno, Buzzer e due fili di alluminio. Un LCD 16x2 è anche interfacciato per visualizzare lo stato del gioco. Entrambe le estremità del filo del labirinto saranno collegate ai pin digitali 2 e 3 di Arduino e il filo della maniglia è collegato al pin di terra di Arduino. I pin digitali sono definiti come pin INPUT_PULLUP. Quindi, quando il filo della maniglia tocca il filo del labirinto, cambia lo stato dei pin digitali in basso e il cicalino emette un suono.
Un diodo è collegato all'estremità del filo del labirinto, quindi quando passi a quel diodo e tocchi il filo del labirinto con il filo dell'impugnatura tonda, solo un pin (Pin 3) si abbasserà. In quella condizione, sul display LCD verrà visualizzato un testo di congratulazioni (Ben fatto).
Componenti richiesti
- Arduino Uno
- Filo di alluminio
- LCD 16x2
- Modulo I 2 C.
- Breadboard
- Cicalino
- Diodo
Schema elettrico
Lo schema del circuito per Arduino Buzz Wire Game è riportato sopra. I pin SCL e SDA del modulo I2C sono collegati ai pin A5 e A4 di Arduino mentre i pin V CC e GND del modulo I2C sono collegati ai pin 5V e GND di Arduino. Il rail positivo di Buzzer è collegato al pin digitale 4 di Arduino e il rail negativo è collegato a GND. Taglia un filo di alluminio e piegalo a Zig-Zag. Saldare un diodo a un'estremità del filo. Quindi tagliare un altro filo per fare una maniglia e piegare un'estremità in un cappio.
L'LCD 16x2 può anche essere interfacciato con Arduino senza utilizzare un modulo I2C.
Collega i pin D2 e D3 di Arduino a entrambe le estremità del filo Zig-Zag e collega il filo della maniglia al pin GND di Arduino.
Spiegazione del codice
Il codice completo per questo Arduino Buzz Wire Game è fornito alla fine del documento.
Inizia il tuo codice includendo il file della libreria per il modulo LCD. La libreria LiquidCrystal_I2C.h viene utilizzata per la comunicazione I2C tra i moduli Arduino e LCD.
#includere
Successivamente, definisci i pin Arduino per il cicalino, il punto iniziale del filo e il punto finale del filo.
const int startPin = 2; const int endPin = 3; const int buzzer = 4;
Quindi definire due variabili start & end_. Queste variabili verranno utilizzate per salvare le letture del filo.
int inizio, fine_;
Ora definisci il pin del buzzer come output e i pin del cavo come INPUT_PULLUP . Arduino ha resistenze interne di pull-up con un valore di circa 20k ohm. Questi resistori possono essere collegati internamente utilizzando INPUT_PULLUP . Definire un INPUT_PULLUP è funzionalmente uguale al collegamento di un resistore da ~ 20k ohm tra il pin e + 5V.
pinMode (buzzer, OUTPUT); pinMode (startPin, INPUT_PULLUP); pinMode (startPin, INPUT_PULLUP);
All'interno del loop vuoto, leggi lo stato dei pin del filo.
start = digitalRead (startPin); end_ = digitalRead (endPin);
Ora confronta le letture dei pin del filo. Se entrambi i pin sono bassi significa che hai toccato il filo, quindi il cicalino emetterà un suono, e se il pin iniziale del filo è alto e il pin finale è basso significa che hai raggiunto il punto finale.
if (start == LOW && end _ == LOW) {digitalWrite (buzzer, HIGH); ritardo (1000); digitalWrite (buzzer, LOW); lcd.setCursor (0,0); lcd.print ("Riprova"); Serial.print ("Riprova"); } else if (start == HIGH && end _ == LOW) {lcd.setCursor (0,0); lcd.print ("Ben fatto"); Serial.print ("Ben fatto"); }
Testare il gioco Buzz Wire
Dopo aver collegato l'hardware e caricato il codice fornito, puoi iniziare a giocare. Quindi tieni il filo con un cerchio in mano e cerca di ottenere il filo con il cerchio fino al diodo saldato con filo a zig-zag senza che il filo tondo tocchi ovunque. Se si toccano i fili, il cicalino emetterà un suono e il display LCD visualizzerà " Riprova ". E se completi il gioco senza toccare il filo, verrà visualizzato " Ben fatto ".
Ecco come puoi creare un gioco Buzz Wire con un Arduino. Di seguito vengono forniti un video funzionante e un codice completo.