#include <LiquidCrystal_I2C.h> // Library LCD I2C
#include <RTClib.h> // Library Real Time Clock (RTC)
#include <Wire.h> // Library untuk I2C
#define SERIAL_OPTION 0 // Komunikasi Serial=0, Tidak=0
LiquidCrystal_I2C lcd(0x27,16,2); // Alamat I2C: 0x3F atau 0x27
RTC_DS1307 RTC;
void setup() {
if (SERIAL_OPTION) Serial.begin(9600); // Inisialisasi Komunikasi Serial
lcd.init(); // Inisialisasi LCD
lcd.backlight(); // Nyalakan Backlight LCD
RTC.begin(); // Mulai Real Time Clock
// RTC.adjust(DateTime(2022,9,30,18,13,40)); // Hanya gunakan sekali untuk mengatur waktu dan tanggal awal, kemudian komentar baris ini
}
void loop() {
DateTime now = RTC.now();
if (SERIAL_OPTION) {
Serial.print(now.year()); Serial.print("/");
Serial.print(now.month()); Serial.print("/");
Serial.print(now.day()); Serial.print(" ");
Serial.print(now.hour()); Serial.print(":");
Serial.print(now.minute()); Serial.print(":");
Serial.print(now.second()); Serial.print("\n");
}
lcd.setCursor(0,0); lcd.print("TANGGAL: ");
lcd.print(now.year()); lcd.print("/"); lcd.print(now.month()); lcd.print("/"); lcd.print(now.day());
lcd.setCursor(0,1); lcd.print("WAKTU: ");
lcd.print(now.hour()); lcd.print(":"); lcd.print(now.minute()); lcd.print(":"); lcd.print(now.second());
delay(1000);
}