#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // Set the LCD address to 0x27 for a 16 chars and 2 line display
int pirPin = 2; // PIR sensor pin
int trigPin = 7; // Ultrasonic sensor Trig pin
int echoPin = 8; // Ultrasonic sensor Echo pin
void setup() {
lcd.begin(16, 2); // Initialize the LCD
lcd.clear(); // Clear the LCD screen
pinMode(pirPin, INPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
int pirValue = digitalRead(pirPin);
// Ultrasonic sensor distance measurement
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH);
int distance = duration * 0.034 / 2;
if (distance <= 3) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("IN");
delay(1000);
} else if (pirValue == HIGH) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("OUT");
delay(1000);
}
}