const int PIR_PIN = 2;
const int LDR_PIN = A0;
const int LED_PIN = 3;
const int BUZZER_PIN = 4;
// Variables
int lightLevel;
int pirState = LOW;
int prevPirState = LOW;
void setup() {
pinMode(PIR_PIN, INPUT);
pinMode(LDR_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
Serial.begin(9600);
}
void loop() {
// Read PIR sensor
pirState = digitalRead(PIR_PIN);
if (pirState == HIGH && prevPirState == LOW) {
Serial.println("Motion detected!");
digitalWrite(LED_PIN, HIGH);
tone(BUZZER_PIN, 1000);
delay(1000);
noTone(BUZZER_PIN);
delay(500);
} else {
digitalWrite(LED_PIN, LOW);
}
prevPirState = pirState;
// Read LDR sensor
lightLevel = analogRead(LDR_PIN);
Serial.print("Light level: ");
Serial.println(lightLevel);
if (lightLevel < 500) {
digitalWrite(LED_PIN, HIGH);
tone(BUZZER_PIN, 500);
} else {
digitalWrite(LED_PIN, LOW);
noTone(BUZZER_PIN);
}
delay(100);
}