#include <Wire.h>
#include <RTClib.h>
RTC_DS3231 rtc;
const int ledPin = 2; // Pin untuk lampu LED
char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
void setup() {
Serial.begin(115200);
Serial.println("Menu:");
Serial.println("1. Setting Waktu");
Serial.println("2. Setting Tanggal");
Serial.println("3. Tampil");
while (!Serial.available()) {
// Menunggu input dari Serial Monitor
}
char menuOption = Serial.read();
switch (menuOption) {
case '1':
Serial.println("ok");
break;
case '2':
Serial.println("ok");
break;
case '3':
displayTime();
break;
default:
// Gunakan waktu default jika tidak ada input atau input selain 1, 2, atau 3
if (!rtc.begin()) {
Serial.println("Tidak dapat menemukan RTC");
Serial.flush();
while (1) delay(10);
}
if (rtc.lostPower()) {
Serial.println("RTC kehilangan daya, atur waktu!");
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
break;
}
pinMode(ledPin, OUTPUT); // Set pin LED sebagai output
}
void loop() {
// Program utama, tidak ada perubahan di loop()
}
void displayTime() {
DateTime now = rtc.now();
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(" (");
Serial.print(daysOfTheWeek[now.dayOfTheWeek()]);
Serial.print(") ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
Serial.print("Temperature: ");
Serial.print(rtc.getTemperature());
Serial.println(" C");
}