#define PIR_PIN 2 // PIR sensor output pin
#define LED_PIN 3 // LED output pin
unsigned long previousMillis = 0;
bool ledState = false;
void setup() {
pinMode(PIR_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
int motionDetected = digitalRead(PIR_PIN);
if (motionDetected == HIGH) {
digitalWrite(LED_PIN, HIGH);
ledState = true;
previousMillis = millis(); // Record current time
Serial.println("Motion Detected! Light ON");
}
// Check if 5 seconds passed after last motion
if (ledState && millis() - previousMillis >= 5000) {
digitalWrite(LED_PIN, LOW);
ledState = false;
Serial.println("5 seconds passed. Light OFF");
}
delay(100); // Short delay for stability
}