#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 16, 2);
int ledPin = 13;
int inputPin = 9;
int pirState = LOW;
int val = 0;
#define SPEAKER_PIN 8
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(SPEAKER_PIN, OUTPUT);
pinMode(inputPin, INPUT);
Serial.begin(9600);
lcd.init();
lcd.backlight();
lcd.clear();
}
void loop() {
val = digitalRead(inputPin);
if (val == HIGH) {
digitalWrite(ledPin, HIGH);
if (pirState == LOW) {
Serial.println("Motion detected!");
pirState = HIGH;
lcd.setCursor(3, 0);
lcd.print("WARNING!!!");
}
} else {
digitalWrite(ledPin, LOW);
if (pirState == HIGH) {
// we have just turned of
Serial.println("Motion ended!");
pirState = LOW;
lcd.clear();
}
}
}