#include <LiquidCrystal_I2C.h>
#include <RTClib.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
RTC_DS1307 rtc;
void setup() {
Serial.begin(9600);
lcd.init();
lcd.backlight();
if (!rtc.begin()) {
Serial.println("RTC Tidak Ditemukan");
Serial.flush();
while (true)
;
}
rtc.adjust(DateTime((__DATE__), (__TIME__)));
}
void loop() {
DateTime now = rtc.now();
int year = now.year();
int month = now.month();
int day = now.day();
int hour = now.hour();
int minute = now.minute();
int second = now.second();
char daysOfWeek[7][12] = {
"Minggu",
"Senin",
"Selasa",
"Rabu",
"Kamis",
"Jum'at",
"Sabtu"
};
//via LCD 16x2 (Komunikasi I2C)
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(daysOfWeek[now.dayOfTheWeek()]);
lcd.print(day);
lcd.print("/");
lcd.print(month);
lcd.print("/");
lcd.print(year);
lcd.setCursor(4, 1);
lcd.print(hour);
lcd.print(":");
lcd.print(minute);
lcd.print(":");
lcd.print(second);
delay(1000);
delay(5000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("S");
delay(250);
lcd.print("E");
delay(250);
lcd.print("M");
delay(250);
lcd.print("A");
delay(250);
lcd.print("N");
delay(250);
lcd.print("G");
delay(250);
lcd.print("A");
delay(250);
lcd.print("T ");
delay(250);
lcd.print("N");
delay(250);
lcd.print("I");
delay(250);
lcd.print("N");
delay(250);
lcd.print("G");
delay(250);
lcd.setCursor(1, 1);
//lcd.print(hour);
lcd.print("G");
delay(250);
lcd.print("O");
delay(250);
lcd.print("O");
delay(250);
lcd.print("D ");
delay(250);
lcd.print("N");
delay(250);
lcd.print("I");
delay(250);
lcd.print("G");
delay(250);
lcd.print("H");
delay(250);
lcd.print("T");
delay(250);
//lcd.print(minute);
//lcd.print(second);
// via Serial Monitor (Komunikasi UART).
//Serial.print(daysOfWeek[now.dayOfTheWeek()]);
Serial.print("SEMANGAT NING ");
//Serial.print(now.day(), DEC);
Serial.print("GOOD NIGHT");
//Serial.print(now.month(), DEC);
//Serial.print('/');
//Serial.print(now.year(), DEC);
Serial.println();
//Serial.print("Jam : ");
//Serial.print(now.hour(), DEC);
//Serial.print(':');
//Serial.print(now.minute(), DEC);
//Serial.print(':');
//Serial.println(now.second(), DEC);
delay(1000);
}