#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <Servo.h>
//SERVO PINS
Servo klbservo_1;
int start_pos = 30;
// PIR PINS
const int pir_pin = 12;
// BUZZER PINS
const int buzzer_pin = 11;
// LCD OBJECT
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
// put your setup code here, to run once:
//lcd
lcd.init();
lcd.backlight();
lcd.setCursor(2, 0);
lcd.print("HELLO WORLD");
lcd.setCursor(0, 1);
lcd.print("INTRUDER DETECT");
delay(2000);
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("INITIALIZING");
//PIR INITIALIZE
pinMode(pir_pin, INPUT);
// BUZZER INITIALIZE
pinMode(buzzer_pin, OUTPUT);
// SERVO INITIALIZE
klbservo_1.attach(3);
klbservo_1.write(start_pos);
delay(2000);
lcd.setCursor(4, 1);
lcd.print("SUCCESS");
delay(2000);
lcd.clear();
}
void loop() {
// put your main code here, to run repeatedly:
int pir_state = digitalRead(pir_pin);
if (pir_state == HIGH)
{
tone(buzzer_pin, 500);
lcd.setCursor(0, 0);
lcd.print("Motion Detected ");
lcd.setCursor(0,1);
lcd.print("DOOR:CLOSED ");
klbservo_1.write(0);
}
else
{
noTone(buzzer_pin);
lcd.setCursor(0, 0);
lcd.print("No Motion ");
lcd.setCursor(0,1);
lcd.print("DOOR:OPEN ");
klbservo_1.write(90);
}
}