int botao_1 = 5;
int led_1 = 7;
int led_2 = 9;
int led_3 = 10;
int led_6 = 13;
int buzzer = 6;
int ldr = A1;
int valor_entrada_botao_1 = LOW;
int valor_anterior_botao_1 = LOW;
int estado_botao_1 = 0;
void setup() {
pinMode(botao_1, INPUT);
pinMode(led_1, OUTPUT);
pinMode(led_2, OUTPUT);
pinMode(led_3, OUTPUT);
pinMode(led_6, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(ldr, INPUT);
Serial.begin(9600);
}
void loop() {
valor_entrada_botao_1 = digitalRead(botao_1);
// Verificar se houve mudança de estado do botão 1
if ((valor_entrada_botao_1 == HIGH) && (valor_anterior_botao_1 == LOW)) {
estado_botao_1 = 1 - estado_botao_1; // Alterna o estado
delay(10); // Debounce
}
valor_anterior_botao_1 = valor_entrada_botao_1; // Atualiza o estado anterior
// Se pressionou o botão para ligar:
if (estado_botao_1 == 1) {
digitalWrite(led_6, HIGH);
Serial.println("Sistema LIGADO.");
int valor_ldr = analogRead(ldr);
Serial.print("Valor do LDR: ");
Serial.println(valor_ldr);
// Luminosidade acima de 80% -> entrada <= 160
if (valor_ldr <= 160) {
digitalWrite(led_1, HIGH); // Acende o LED verde
tone(buzzer, 1200, 100);
delay(500);
noTone(buzzer);
delay(500);
} else {
digitalWrite(led_1, LOW); // Desliga o LED verde
}
// Luminosidade entre 50% e 79% -> entrada entre 160 e 400
if ((valor_ldr > 160) && (valor_ldr < 400)) {
digitalWrite(led_2, HIGH); // Acende o LED Amarelo
tone(buzzer, 1200, 100);
delay(500);
noTone(buzzer);
delay(500);
} else {
digitalWrite(led_2, LOW); // Desliga o LED Amarelo
}
// Luminosidade menor que 50% -> entrada >= 400
if (valor_ldr >= 400) {
digitalWrite(led_3, HIGH); // Acende o LED Vermelho
for (int i = 0; i < 3; i++) { // Reproduz o som 3 vezes
tone(buzzer, 1200, 100);
delay(500);
}
noTone(buzzer);
delay(500);
} else {
digitalWrite(led_3, LOW); // Desliga o LED Vermelho
}
} else { // Se pressionou o botão para desligar
digitalWrite(led_6, LOW);
Serial.println("Sistema DESLIGADO.");
digitalWrite(led_1, LOW);
digitalWrite(led_2, LOW);
digitalWrite(led_3, LOW);
}
}