#include <Servo.h>
#include <LiquidCrystal_I2C.h>
int pir=3;
int led1=10;
int led2=12;
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);
myservo.write(90);
}
void loop() {
digitalWrite(led1, HIGH);
lcd.setCursor(2, 0);
lcd.print(" Welcome to ");
lcd.setCursor(3, 1);
lcd.print(" My House ");
delay(2000);
lcd.clear();
delay(1000);
lcd.print(" Silahkan Masuk ");
lcd.setCursor(0, 1);
lcd.print(" Jangan sungkan ");
delay(2000);
lcd.clear();
statuspir=digitalRead(pir);
if(statuspir==HIGH){
lcd.setCursor(1, 0);
lcd.print("Silahkan duduk");
lcd.setCursor(1, 1);
lcd.print("Santai saja");
myservo.write(45);
digitalWrite(led2, HIGH);
delay(1000);
myservo.write(0);
delay(2000);
myservo.write(45);
delay(1000);
myservo.write(90);
delay(1000);
digitalWrite(led2, LOW);
Serial.println("Pintu Terbuka");
lcd.clear();
}else{
delay(1000);
Serial.println("Pintu Tertutup");
}
}