int LedY = 11;
int LedB = 10;
int LedG = 9;
int LedR = 8;
int Buzzer = 6;
bool BotaoY = 2;
bool BotaoB = 3;
bool BotaoG = 4;
bool BotaoR = 5;
int oldValue = LOW; // default/idle value for pin 8 is low.
void setup (){
Serial.begin(9600);
Serial.print("Bem vindo ao game ");
pinMode(LedY, OUTPUT);
pinMode(LedB, OUTPUT);
pinMode(LedG, OUTPUT);
pinMode(LedR, OUTPUT);
pinMode(Buzzer, OUTPUT);
pinMode(BotaoY, INPUT);
pinMode(BotaoB, INPUT);
pinMode(BotaoG, INPUT);
pinMode(BotaoR, INPUT);
}
void loop() {
int sorteio = random(1, 5); // Sorteia de 1 a 4
Serial.print("Cor sorteada: ");
Serial.println(sorteio);
switch (sorteio) {
case 1:
digitalWrite(LedG, HIGH); // Verde
digitalWrite(LedY, LOW);
digitalWrite(LedB, LOW);
digitalWrite(LedR, LOW);
tone(6, 440, 200); //Som A
break;
case 2:
digitalWrite(LedR, HIGH); // Vermelho
digitalWrite(LedY, LOW);
digitalWrite(LedB, LOW);
digitalWrite(LedG, LOW);
tone(6, 494, 200); //Som B
break;
case 3:
digitalWrite(LedY, HIGH); //Amarelo
digitalWrite(LedB, LOW);
digitalWrite(LedG, LOW);
digitalWrite(LedR, LOW);
tone(6, 523, 200); //Som C
break;
case 4:;
digitalWrite(LedY, LOW); //Azul
digitalWrite(LedB, HIGH);
digitalWrite(LedG, LOW);
digitalWrite(LedR, LOW);
tone(6, 587, 200); //Som D
break;
default:
Serial.println("Erro no sorteio!");
}
delay(2000);
while (digitalRead(oldValue) == LOW) {
int newValue = digitalRead(BotaoG);
if(newValue != oldValue)
{
if(newValue == HIGH)
{
Serial.println("The button is pressed.");
digitalWrite(LedG, HIGH); // Verde
digitalWrite(LedY, LOW);
digitalWrite(LedB, LOW);
digitalWrite(LedR, LOW);
tone(6, 440, 200); //Som A
delay(1000);
}
else
{
Serial.println("The button is released.");
}
// Remember the value for the next time.
oldValue = newValue;
}
}
}
}