#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Dirección común del LCD I2C: 0x27
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Pines
int pinSensor = 2;
int pinBuzzer = 8;
int pinLed = 9;
// Variable principal
int estadoAlarma = 0;
void setup() {
pinMode(pinSensor, INPUT);
pinMode(pinBuzzer, OUTPUT);
pinMode(pinLed, OUTPUT);
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Sistema Alarma");
lcd.setCursor(0,1);
lcd.print("Inicializando");
delay(2000);
lcd.clear();
}
void loop() {
estadoAlarma = digitalRead(pinSensor);
if (estadoAlarma == 1) {
lcd.setCursor(0,0);
lcd.print("!! ALERTA !! ");
lcd.setCursor(0,1);
lcd.print("Movimiento ");
digitalWrite(pinLed, HIGH);
tone(pinBuzzer, 1000); // sonido
delay(200);
} else {
lcd.setCursor(0,0);
lcd.print("Sistema OK ");
lcd.setCursor(0,1);
lcd.print("Sin movimiento");
digitalWrite(pinLed, LOW);
noTone(pinBuzzer);
delay(200);
}
}