#define LED_PIN 2 // Connect LED with a resistor to this pin
#define LDR_PIN 4 // Analog pin for LDR
#define PIR_PIN 16 // Digital pin for PIR
int ldrValue = 0;
int pirState = 0;
void setup() {
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
pinMode(PIR_PIN, INPUT);
Serial.println("🌃 Automatic Street Light System Started...");
}
void loop() {
ldrValue = analogRead(LDR_PIN); // read LDR
pirState = digitalRead(PIR_PIN); // read PIR
// Print values for debugging
Serial.print("LDR: ");
Serial.print(ldrValue);
Serial.print(" | PIR: ");
Serial.println(pirState);
// If it's dark
if (ldrValue < 1000) { // adjust threshold based on your LDR
if (pirState == HIGH) {
digitalWrite(LED_PIN, HIGH); // Turn LED on when motion detected
} else {
digitalWrite(LED_PIN, LOW); // Turn LED off when no motion
}
} else {
digitalWrite(LED_PIN, LOW); // Daytime, keep LED off
}
delay(500); // small delay
}