#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <RTClib.h>
RTC_DS3231 rtc;
LiquidCrystal_I2C lcd(0x27,16,2);
const int ACruangTengah = 10;
const int ACKamarTidur = 9;
void setup() {
lcd.init();
lcd.backlight();
rtc.begin();
pinMode(ACruangTengah, OUTPUT);
pinMode(ACKamarTidur, OUTPUT);
rtc.adjust(DateTime(2023, 12, 15, 19, 0, 0));
}
void loop() {
DateTime now = rtc.now();
lcd.setCursor(0, 0);
lcd.print("Tgl : "); lcd.print(now.day()); lcd.print("/"); lcd.print(now.month()); lcd.print("/"); lcd.print(now.year());
lcd.setCursor(0,1);
lcd.print("Jam : "); lcd.print(now.hour()); lcd.print(":"); lcd.print(now.minute()); lcd.print(":"); lcd.print(now.second());
if (now.hour() >= 19 && now.minute() >= 0 && now.second() >= 0)
{
digitalWrite(ACruangTengah, HIGH);
digitalWrite(ACKamarTidur, HIGH);
} else if (now.hour() >= 6 && now.minute() >= 0) {
digitalWrite(ACruangTengah, LOW);
digitalWrite(ACKamarTidur, LOW);
}
}