Introduction: Game 3 LEDs for Arduino
This is the project of a game for arduino cresecente difficulties.
This is to repeat the sequence of the LEDs ignitions made by Arduino with the same colored buttons. For convenience I have also added a LCD to facilitate the conduct of the game.
ITALIANO
Questo è il progetto di un gioco per arduino di difficoltà cresecente.
Si tratta di ripetere la sequenza delle accensioni dei led presentata da arduino con i tasti dello stesso colore. Per comodità ho inserito anche un LCD per facilitare lo svolgimento del gioco.
Step 1: Materials
- 1 Arduino Uno
- 3 Led
- 3 Buttons
- Resistors
- 1 Buzzer
- 1 LCD
Step 2: Sketch
First I planned the random firing of 3 Led confirming the ignition with the sound of the buzzer
for (int x = 1; x < livello+3; x++) { // Accensione casuale 3 led e memorizzazione in variabile con array
rn = random(2, 5);
l1[x] = rn;
digitalWrite(rn, HIGH);
tone(ps, rn * 100, tempo - 100);
delay(tempo);
digitalWrite(rn, LOW);
delay(tempo); }
Then we have to wait for it to crush the buttons and store the result in another array.
clik = 1;
while (clik < livello+3) {
g = digitalRead(ppg);// pulsante giallo
if (g == HIGH) {
digitalWrite(plg, HIGH);
tone(ps, 200, tempo - 200);
delay(600);
digitalWrite(plg, LOW);
delay(600);
l1t[clik] = ppg-3; // memorizza il numero del pin del pulsante giallo sulla variabile l1t
clik++;
} r = digitalRead(ppr);// pulsante rosso
if (r == HIGH) {
digitalWrite(plr, HIGH);
tone(ps, 300, tempo - 200);
delay(600);
digitalWrite(plr, LOW);
delay(600);
l1t[clik] = ppr-3;
clik++;
}
b = digitalRead(ppb); //pulsante bianco
if (b == HIGH) {
digitalWrite(plb, HIGH);
tone(ps, 400, tempo - 200);
delay(600);
digitalWrite(plb, LOW);
delay(600);
l1t[clik] = ppb-3;
clik++;
}
Step 3: Sketch
Finally, we must compare the two variables that we created l1 and L1T if they are equal we move on to the next level otherwise you start over.
int vittoria = 0;
for (int x = 1; x < livello+3; x++) { // verifica
if(l1t[x]==l1[x]) // se i numeri dei pulsanti coincidono con quelli dei led continuo
vittoria++;
}
if (vittoria==livello+2){
Serial.println("bravissimo"); // vittoria
Serial.println(livello);
lcd.clear();
lcd.setCursor(1,0);
lcd.print("Bravo Continua ");
tone(ps, 800, 1000);
digitalWrite(plb,HIGH);
delay(1000);
digitalWrite(plb,LOW);
delay(1000);
); lcd.print("Ricomincia da 0");
livello=0;
tone(ps, 100, 2000);
} }
Step 4: Conclusion
The game is cute sufficiently result could better treat the appearance choreographed using more LCD.