/*
Arduino with PIR motion sensor
For complete project details, visit: http://RandomNerdTutorials.com/pirsensor
Modified by Rui Santos based on PIR sensor by Limor Fried
*/
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int led = 2; // the pin that the LED is atteched to
int sensor = 12; // the pin that the sensor is atteched to
int state = LOW; // by default, no motion detected
int val = 0; // variable to store the sensor status (value)
void setup() {
pinMode(led, OUTPUT); // initalize LED as an output
pinMode(sensor, INPUT); // initialize sensor as an input
lcd.init();
lcd.backlight();
//Serial.begin(9600); // initialize serial
}
void loop(){
val = digitalRead(sensor); // read sensor value
if (val == HIGH) { // check if the sensor is HIGH
digitalWrite(led, HIGH); // turn LED ON
delay(100); // delay 100 milliseconds
if (state == LOW) {
lcd.setCursor(0,0);
lcd.print("Motion detected!");
lcd.setCursor(0,1);
lcd.print("PIR Output = ");
lcd.print(val);
state = HIGH; // update variable state to HIGH
}
}
else {
digitalWrite(led, LOW); // turn LED OFF
delay(200); // delay 200 milliseconds
if (state == HIGH){
lcd.setCursor(0,0);
lcd.print("Motion stopped!");
lcd.setCursor(0,1);
lcd.print("PIR Output = ");
lcd.print(val);
state = LOW; // update variable state to LOW
}
}
}