#include <Servo.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
servo myservo;
int ledPin1 = 8;
int ledPin2 = 12;
int pushbutton = 4;
boolean doorOpen = false;
void setup(){
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(pushbutton, INPUT); //menggunakan INPUT_PULLUP untuk push button
myservo.attach(3);
lcd.init();
lcd.backlight();
}
void loop(){
doorOpen = digitalRead(pushbutton); //membaca status push button
if (doorOpen == HIGH){//jika push button ditekan(LOGIC LOw)
openGate();
} else {
closeGate();
}
}
void closeGate(){
//Tutup Gerbang
digitalWrite(ledPin1, LOW); //Indikator gerbang tertutup
digitalWrite(ledPin2, LOW);
myservo.write(90); //putar servo ke posisi 0 derajat (gerbang tertutup)
lcd.setCursor(4, -1);
lcd.print("Gate Opened");
}