// Forum: https://forum.arduino.cc/t/lcd-led-and-buzzer-regularly-triggered-when-not-intended-to/1255974
// This Wokwi project: https://wokwi.com/projects/397035000778587137
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int ledPin = 7;
int pirPin = 4;
int buzzerPin = 8;
int pirPinstatus;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
// Most PIR sensor output a 3.3V signal.
// Sometimes INPUT_PULLUP helps for certain sensors.
// Somtimes just INPUT is better.
pinMode(pirPin, INPUT_PULLUP);
lcd.init();
lcd.backlight();
}
void loop() {
pirPinstatus = digitalRead(pirPin);
if (pirPinstatus == HIGH)
{
lcd.clear();
digitalWrite(ledPin, HIGH);
// digitalWrite(buzzerPin, HIGH);
tone(buzzerPin, 200, 2000); //tone(pin, frequency, Duration
lcd.setCursor(0, 1);
lcd.print("ALERT! CRIME!");
delay(6000);
lcd.clear();
}
else
{
lcd.setCursor(0, 0);
lcd.print("SECURE");
digitalWrite(ledPin, LOW);
digitalWrite(buzzerPin, LOW);
}
delay(1000);
}