#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <RTClib.h>
#include <Servo.h>
RTC_DS1307 rtc;
LiquidCrystal_I2C lcd(0x27, 16, 2);
char daysOfTheWeek[7][12] = {"Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "sabtu"};
Servo CRT;
int pos = 3;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
lcd.begin(16,2);
CRT.attach (3);
CRT.write(0);
lcd.init();
lcd.backlight();
if (! rtc.begin())
{
lcd.print("Couldn't find RTC");
while (1);
}
if (! rtc.isrunning())
{
lcd.print("RTC is NOT running!");
}
rtc.adjust(DateTime(2024,1,30,9,59, 55));
}
void loop() {
// put your main code here, to run repeatedly:
DateTime now = rtc.now();
lcd.setCursor(0,1);
lcd.print("Waktu :");
lcd.print(" ");
lcd.print(now.hour());
lcd.print(':');
lcd.print(now.minute());
lcd.print(':');
lcd.print(now.second());
lcd.print(" ");
lcd.setCursor(0,0);
lcd.print("");
lcd.print(daysOfTheWeek[now.dayOfTheWeek()]);
lcd.print(" ");
lcd.print(now.day());
lcd.print('/');
lcd.print(now.month());
lcd.print('/');
lcd.print(now.year());
lcd.print(" ");
delay(0);
if ((now.hour() == 10 && now.minute() == 00 && now.second() == 00)) {
CRT.write(90);
}
if ((now.hour() == 10 && now.minute() == 00 && now.second() == 05)){
CRT.write(0);
}
}