#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;
boolean doorClose = false;
void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(pushButton, INPUT);
myservo.attach(3);
lcd.init();
lcd.backlight();
}
void loop() {
doorOpen = digitalRead(pushButton);
if (doorOpen == HIGH) {
openGate();
} else (doorOpen == HIGH); {
closeGate();
}
}
void openGate() {
// Buka gerbang
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
myservo.write(0);
lcd.setCursor(2, -1);
lcd.print("GERBANG TERBUKA");
}
void closeGate() {
// Tutup gerbang
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
myservo.write(90);
lcd.setCursor(2, -1);
lcd.print("GERBANG TERTUTUP");
}