I'm using LDR sensor and what I want to change in my code is that I want my LDR to read for 3s before giving the OUTPUT. So when the LDR reading is less than 600 for 3s then the LED and buzzer trigger. LED starts to "BLINK BLINK" and buzzer "BEEP BEEP"
int led = 12;
int buzzer = 11;
int ldr = A2;
void setup()
{
Serial.begin(9600);
pinMode(led, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(ldr, INPUT);
}
void loop()
{
int ldrstate = analogRead(ldr);
Serial.print("LDR value is :");
Serial.println(ldrstate);
if (ldrstate < 600)
{
tone(buzzer, 800);
digitalWrite(led, HIGH);
delay(100);
noTone(buzzer);
digitalWrite(led, LOW);
delay(100);
Serial.println("Alarm is ON");
}
else
{
noTone(buzzer);
digitalWrite(led, LOW);
Serial.println("Alarm is OFF");
}
}