// Definição dos pinos
#define pirPin 8 // Pino de entrada do sensor PIR
#define ledPin 13 // Pino de saída do LED
#define buzzerPin 2 // Pino de saída do buzzer
void setup() {
// Inicializa os pinos
pinMode(pirPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
// Inicia a comunicação serial para monitoramento
Serial.begin(9600);
}
void loop() {
// Leitura do estado do sensor PIR
int estadoPir = digitalRead(pirPin);
if (estadoPir == HIGH) { // Se o sensor detectar movimento
digitalWrite(ledPin, HIGH); // Acende o LED
// Toca o som de alarme com bip no buzzer por 5 segundos
unsigned long InicioTempo = millis(); // Obtém o tempo inicial
while (millis() - InicioTempo < 5000) { // Enquanto não passar 5 segundos
Serial.println("Movimento detectado!"); // Mensagem de monitoramento
tone(buzzerPin, 1000); // Toca o som de 1000 Hz
delay(200); // Duração do bip (200 ms)
noTone(buzzerPin); // Para o som
delay(200); // Pausa entre os bips (200 ms)
}
} else {
digitalWrite(ledPin, LOW); // Apaga o LED
noTone(buzzerPin); // Desativa o som do buzzer
Serial.println("Sem movimento."); // Mensagem de monitoramento
}
delay(1000); // Atraso de 1 segundo para evitar leituras erráticas
}