#include <SevenSeg.h>
#include "RTClib.h"
// Inisialisasi objek RTC dan dua objek SevenSeg
RTC_DS1307 rtc;
SevenSeg disp(2, 3, 4, 5, 6, 7, 8);
SevenSeg disp1(2, 3, 4, 5, 6, 7, 8);
// Konstanta dan array untuk pin digit
const int numOfDigits = 4;
int digitPins[numOfDigits] = {13, 12, 11, 10};
int digitPins1[2] = {A2, A3};
void setup() {
// Set pin-digit untuk masing-masing SevenSeg
disp.setDigitPins(numOfDigits, digitPins);
disp1.setDigitPins(2, digitPins1);
// Inisialisasi RTC
if (!rtc.begin()) {
Serial.println("Tidak dapat menemukan RTC");
while (1)
delay(10);
}
// Periksa apakah RTC berjalan, jika tidak, atur waktu default
if (!rtc.isrunning()) {
Serial.println("RTC tidak berjalan");
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
}
void loop() {
// Dapatkan waktu sekarang dari RTC
DateTime now = rtc.now();
// Hitung waktu dalam format jam dan menit
float jam = (now.hour() * 100) + now.minute();
// Tampilkan jam pada SevenSeg pertama
disp1.writeClock(now.hour());
disp1.clearDisp();
// Tampilkan menit dan detik pada SevenSeg kedua
disp.writeClock(now.minute(), now.second());
disp.clearDisp();
}