#include <Wire.h>
#include <RTClib.h>
#include <LiquidCrystal.h>
#include <Arduino.h>
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
RTC_DS3231 rtc;
char nameDay[7][12] = {"Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"};
void printAngka(int digits); // Deklarasi prototipe fungsi
void setup() {
// Begin serial communication for debugging
Serial.begin(9600);
// Begin the RTC
if (!rtc.begin()) {
Serial.println("Couldn't find RTC");
while (1);
}
// Uncomment to set the time
// rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
// Initialize the LCD
lcd.begin(16, 2); // Assuming a 16x2 LCD
lcd.setCursor(0, 0);
lcd.print(" JAM DIGITAL ");
lcd.setCursor(5, 1);
lcd.print(" Kamarku ");
delay(1000);
lcd.clear();
}
void loop() {
DateTime now = rtc.now();
lcd.setCursor(2, 0);
lcd.print(nameDay[now.dayOfTheWeek()]);
lcd.print(", ");
printAngka(now.day());
lcd.print("-");
printAngka(now.month());
lcd.print("-");
lcd.print(now.year());
lcd.setCursor(5, 1);
printAngka(now.hour());
lcd.print(":");
printAngka(now.minute());
lcd.print(":");
printAngka(now.second());
delay(1000);
}
void printAngka(int digits) {
if (digits < 10) {
lcd.print("0");
}
lcd.print(digits);
}