int ldr = A5; // LDR connected to analog pin A0
int buzzer = 7; // Passive buzzer connected to digital pin 7
int relay = 6; // Relay module connected to digital pin 8
int ldrValue = 0;
void setup() {
Serial.begin(9600);
pinMode(buzzer, OUTPUT);
pinMode(relay, OUTPUT);
}
void loop() {
ldrValue = analogRead(ldr);
Serial.print("LDR Value: ");
Serial.println(ldrValue);
// ---- Range 1: 70 - 150 ----
if (ldrValue >= 70 && ldrValue <= 150) {
digitalWrite(relay, HIGH); // Relay ON
tone(buzzer, 550); // Passive buzzer tone 550 Hz
}
// ---- Range 2: 160 - 400 ----
else if (ldrValue >= 160 && ldrValue <= 400) {
digitalWrite(relay, LOW); // Relay OFF
noTone(buzzer); // Stop buzzer
}
// ---- Range 3: 410 - 550 ----
else if (ldrValue >= 410 && ldrValue <= 550) {
digitalWrite(relay, HIGH);
delay(300); // On for a moment
digitalWrite(relay, LOW);
delay(300); // Off for a moment
tone(buzzer, 770); // Tone 770 Hz while toggling
}
// ---- Outside all ranges ----
else {
noTone(buzzer);
digitalWrite(relay, LOW);
}
delay(100);
}