/* Nesta quarta etapa, deixamos ligado o buzzer, que está conectado no pino 10 (lado positivo) e no GND (lado negativo) em série com um resistor de 100 ohms. Deixamos ligado o LED azul, conectado com a parte positiva no pino 9 e a negativa em série com um resistor de 220 ohms no GND. Deixamos ligado o botão/ interruptor azul, com um lado no pino 8 e o outro no GND. Deixamos ligado o LED verde, conectado com a parte positiva no pino 7 e a negativa em série com um resistor de 220 ohms no GND. Deixamos ligado o botão/ interruptor verde, com um lado no pino 6 e o outro no GND. Deixamos ligado o LED amarelo, conectado com a parte positiva no pino 5 e a negativa em série com um resistor de 220 ohms no GND. Deixamos ligado o botão/ interruptor amarelo, com um lado no pino 4 e o outro no GND. Vamos ligar um LED vermelho, conectado com a parte positiva no pino 3 e a negativa em série com um resistor de 220 ohms no GND. Vamos ligar um botão/ interruptor vermelho, com um lado no pino 2 e o outro no GND. */ #define pinoBuzzer 10 // se você ligou em outro pino, ajuste aqui #define LEDAzul 9 // parte positiva no pino 9 e a negativa em série com um resistor de 220 ohms no GND #define botaoAzul 8 // um lado no pino 8 e o outro no GND #define LEDVerde 7 // parte positiva no pino 7 e a negativa em série com um resistor de 220 ohms no GND #define botaoVerde 6 // um lado no pino 6 e o outro no GND #define LEDAmarelo 5 // parte positiva no pino 5 e a negativa em série com um resistor de 220 ohms no GND #define botaoAmarelo 4 // um lado no pino 4 e o outro no GND #define LEDVermelho 3 // parte positiva no pino 3 e a negativa em série com um resistor de 220 ohms no GND #define botaoVermelho 2 // um lado no pino 2 e o outro no GND void setup() { pinMode(pinoBuzzer, OUTPUT); // é uma saída pinMode(LEDAzul, OUTPUT); // é uma saída pinMode(botaoAzul, INPUT_PULLUP); // entrada que estará alta se não estiver pressionado o botão pinMode(LEDVerde, OUTPUT); // é uma saída pinMode(botaoVerde, INPUT_PULLUP); // entrada que estará alta se não estiver pressionado o botão pinMode(LEDAmarelo, OUTPUT); // é uma saída pinMode(botaoAmarelo, INPUT_PULLUP); // entrada que estará alta se não estiver pressionado o botão pinMode(LEDVermelho, OUTPUT); // é uma saída pinMode(botaoVermelho, INPUT_PULLUP); // entrada que estará alta se não estiver pressionado o botão somPerdeu(); //executa a função 'somPerdeu' delay(800); // aguarda 800 ms somGanhou();//executa a função 'somGanhou' } void loop() { if(digitalRead(botaoAzul) == LOW){ // se o botão foi pressionado digitalWrite(LEDAzul, HIGH); // acende o LED azul tone(pinoBuzzer, 494, 200); // som de 494 Hz } else{ // se o botão não estiver pressionado digitalWrite(LEDAzul, LOW); // apaga o LED azul noTone(pinoBuzzer); // sem som } if(digitalRead(botaoVerde) == LOW){ // se o botão foi pressionado digitalWrite(LEDVerde, HIGH); // acende o LED verde tone(pinoBuzzer, 392, 200); // som de 392 Hz } else{ // se o botão não estiver pressionado digitalWrite(LEDVerde, LOW); // apaga o LED verde noTone(pinoBuzzer); // sem som } if(digitalRead(botaoAmarelo) == LOW){ // se o botão foi pressionado digitalWrite(LEDAmarelo, HIGH); // acende o LED amarelo tone(pinoBuzzer, 330, 200); // som de 330 Hz } else{ // se o botão não estiver pressionado digitalWrite(LEDAmarelo, LOW); // apaga o LED vermelho noTone(pinoBuzzer); // sem som } if(digitalRead(botaoVermelho) == LOW){ // se o botão foi pressionado digitalWrite(LEDVermelho, HIGH); // acende o LED vermelho tone(pinoBuzzer, 330, 200); // som de 330 Hz } else{ // se o botão não estiver pressionado digitalWrite(LEDVermelho, LOW); // apaga o LED amarelo noTone(pinoBuzzer); // sem som } } void somPerdeu(){ //do código da SparkFun tone(pinoBuzzer, 130, 250); //E6 delay(275); tone(pinoBuzzer, 73, 250); //G6 delay(275); tone(pinoBuzzer, 65, 150); //E7 delay(175); tone(pinoBuzzer, 98, 500); //C7 delay(500); } void somGanhou(){ //do código da SparkFun tone(pinoBuzzer, 1318, 150); //E6 delay(175); tone(pinoBuzzer, 1567, 150); //G6 delay(175); tone(pinoBuzzer, 2637, 150); //E7 delay(175); tone(pinoBuzzer, 2093, 150); //C7 delay(175); tone(pinoBuzzer, 2349, 150); //D7 delay(175); tone(pinoBuzzer, 3135, 500); //G7 delay(500); }