#define pinoLED1 12 // Pino do LED1
#define pinoLED2 11 // Pino do LED2
#define pinoBotao 2 // Pino do botão
#define pinoBuzzer 10 // Pino do buzzer
unsigned long ultimoTempo1 = 0; // Variável para armazenar o último tempo registrado para o LED1
unsigned long ultimoTempo2 = 0; // Variável para armazenar o último tempo registrado para o LED2
void setup() {
pinMode(pinoLED1, OUTPUT);
pinMode(pinoLED2, OUTPUT);
pinMode(pinoBuzzer, OUTPUT);
pinMode(pinoBotao, INPUT_PULLUP);
}
void loop() {
unsigned long tempoAtual = millis(); // Obtém o tempo atual
// Piscagem do LED1
if (tempoAtual - ultimoTempo1 >= 2500) {
digitalWrite(pinoLED1, !digitalRead(pinoLED1)); // Inverte o estado do LED1
ultimoTempo1 = tempoAtual; // Atualiza o último tempo registrado para o LED1
}
// Piscagem do LED2
if (tempoAtual - ultimoTempo2 >= 150) {
digitalWrite(pinoLED2, !digitalRead(pinoLED2)); // Inverte o estado do LED2
ultimoTempo2 = tempoAtual; // Atualiza o último tempo registrado para o LED2
}
// Verifica o estado do botão (0/false/LOW = pressionado)
if (digitalRead(pinoBotao) == 0 ) {
tone(pinoBuzzer, 300); // Ativa o buzzer em 300 Hz
}else{
noTone(pinoBuzzer); // Desativa o buzzer
}
}