#include <Servo.h>
#include <LiquidCrystal_I2C.h>
int pir=8;
int led1=2;
int led2=3;
int statuspir=0;
Servo myservo;
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
lcd.init();
lcd.backlight();
Serial.begin(9600);
Serial.println("Smart Door");
myservo.attach(6);
pinMode(pir, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop() {
digitalWrite(led2, HIGH);
lcd.setCursor(0, 0);
lcd.print(" SELAMAT DATANG ");
lcd.setCursor(0, 1);
lcd.print(" DI RUMAH SAYA ");
delay(1000);
lcd.clear();
delay(1000);
lcd.print(" ## RUMAH ##");
lcd.setCursor(0, 1);
lcd.print("HENDRIK ROHMAWAN");
delay(1000);
lcd.clear();
statuspir=digitalRead(pir);
if(statuspir==HIGH){
lcd.setCursor(0, 0);
lcd.print(" SILAHKAN MASUK ");
lcd.setCursor(0, 1);
lcd.print(" PINTU TERBUKA ");
myservo.write(45);
digitalWrite(led1, HIGH);
delay(1000);
myservo.write(0);
delay(5000);
myservo.write(45);
delay(1000);
myservo.write(90);
delay(1000);
digitalWrite(led1, LOW);
Serial.println("Pintu Terbuka");
lcd.clear();
}else{
myservo.write(90);
delay(1000);
Serial.println("Pintu Tertutup");
}
}