#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Pin untuk push buttons
const int buttonPin1 = 15;
const int buttonPin2 = 5;
const int switchPin = 12;
const int relayPin = 25;
int buttonState1 = 0;
int buttonState2 = 0;
void setup() {
pinMode(buttonPin1, INPUT_PULLUP);
pinMode(buttonPin2, INPUT_PULLUP);
pinMode(switchPin, INPUT_PULLUP);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW);
lcd.init();
lcd.backlight();
Serial.begin(115200);
}
void loop() {
// Membaca status tombol
buttonState1 = digitalRead(buttonPin1);
buttonState2 = digitalRead(buttonPin2);
// Jika tombol 1 ditekan
if (buttonState1 == LOW) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Tunggu sebentar");
delay(2000);
}
// Jika tombol 2 ditekan
else if (buttonState2 == LOW) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Mohon maaf,");
delay(2000);
lcd.setCursor(0, 0);
lcd.print("penghuni rumah");
lcd.setCursor(0, 1);
lcd.print("sedang pergi ");
delay(2000);
lcd.setCursor(0, 0);
lcd.print("Hubungi nomor:");
lcd.setCursor(0, 1);
lcd.print("08xx-xxxx-xxxx");
delay(10000);
}
// Jika tidak ada tombol yang ditekan
else {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Selamat Datang");
delay(2000);
}
int switchState = digitalRead(switchPin);
if (switchState == LOW) {
digitalWrite(relayPin, HIGH);
} else {
digitalWrite(relayPin, LOW);
}
// Tambahkan delay agar tidak terlalu cepat
delay(100);
}