#include <Wire.h>
#include <TimeLib.h>
#include <DS1307RTC.h>
#include <LIquidCrystal_12C.h>
LiquidCrystal_12C lcd(0x27, 16, 2);
tmElements_t tm;
uint8_t jam[8] = {0x0, 0xe, 0x15, 0x17, 0x11, 0xe, 0x0};
void setup() {
lcd.init();
lcd.backlight();
lcd.createChar(0, jam);
}
void loop() {
if (RTC.read(tm)) {
lcd.setCursor(0, 0);
lcd.print("Tgl = ");
lcd.print(tm.Day);
lcd.print('/');
lcd.print(tm.Month);
lcd.print('/');
lcd.print(tmYearToCalendar(tm.Year));
lcd.print(" ");
lcd.setCursor(0, 1);
lcd.write(0);
lcd.print("jam = ");
print2digits(tm.Hour);
lcd.print(':');
print2digits(tm.Minute);
lcd.print(':');
print2digits(tm.Second);
}
else {
if (RTC.chipPresent()) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Please Set Time");
} else {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("RTC Error!");
}
delay(9000);
}
delay(1000);
}
void print2digits(int number) {
if (number >= 0 && number < 10) {
lcd.print('0');
}
lcd.print(number);
}