#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// I2C LCD setup
LiquidCrystal_I2C lcd(0x27, 16, 2); // Change address to 0x3F if necessary
// PIR sensor pin
const int pirSensorPin = 4; // Digital pin for PIR sensor
void setup() {
// Initialize Serial for debugging
Serial.begin(115200);
// Initialize LCD
lcd.init ();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("PIR Sensor Init");
// Initialize PIR sensor
pinMode(pirSensorPin, INPUT);
// Initial display message
lcd.setCursor(0, 1);
lcd.print("System Ready");
delay(2000);
}
void loop() {
// Read PIR sensor value
int pirValue = digitalRead(pirSensorPin);
// Display PIR sensor status on LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("PIR Status:");
lcd.setCursor(0, 1);
if (pirValue == HIGH) {
lcd.print("Motion Detected");
} else {
lcd.print("No Motion");
}
// Small delay to avoid rapid updates
delay(1000);
}