/*
Forum: https://forum.arduino.cc/t/showing-different-text-when-the-infrared-sensor-detected-a-motion/1351081
Wokwi: https://wokwi.com/projects/422146387829978113
ec2021
*/
#include <LiquidCrystal_I2C.h>
constexpr int I2C_ADDR {0x27};
constexpr int LCD_COLUMNS {20};
constexpr int LCD_LINES {2};
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
constexpr byte pirPin {7};
byte pirState = LOW;
byte prevState = HIGH;
void setup() {
pinMode(pirPin, INPUT_PULLUP);
lcd.init();
lcd.backlight();
lcd.setCursor(4, 0);
lcd.print(F("PIR Demo"));
}
void loop() {
pirState = digitalRead(pirPin);
if (pirState != prevState) {
prevState = pirState;
lcd.setCursor(0, 1);
if (pirState == LOW) {
lcd.print(F(" No Motion "));
} else {
lcd.print(F("Motion Detected!"));
}
}
}