#include <Arduino.h>
#include <Wire.h>
#include <Adafruit_LEDBackpack.h>
#include <Adafruit_GFX.h>
#include <RTClib.h>
RTC_DS1307 rtc; // Membuat instance dari DS1307 RTC
// Define 7-segment displays
Adafruit_7segment sevenSegmentHour = Adafruit_7segment();
Adafruit_7segment sevenSegmentMinute = Adafruit_7segment();
Adafruit_7segment sevenSegmentSecond = Adafruit_7segment();
void setup() {
// Inisialisasi koneksi I2C
Wire.begin();
// Inisialisasi RTC
if (!rtc.begin()) {
Serial.println("Couldn't find RTC. Make sure it's properly connected and initialized.");
while (1);
}
// Inisialisasi 7-segment displays
sevenSegmentHour.begin(0x70); // I2C address of 7-segment for the hour
sevenSegmentMinute.begin(0x71); // I2C address of 7-segment for the minute
sevenSegmentSecond.begin(0x72); // I2C address of 7-segment for the second
// Set display brightness (adjust as needed)
sevenSegmentHour.setBrightness(90);
sevenSegmentMinute.setBrightness(90);
sevenSegmentSecond.setBrightness(90);
// Initialize Serial communication (for debugging)
Serial.begin(9600);
}
void loop() {
// Baca waktu dari RTC
DateTime now = rtc.now();
// Tampilkan jam
sevenSegmentHour.print(now.hour());
sevenSegmentHour.drawColon(true);
sevenSegmentHour.writeDisplay();
// Tampilkan menit
sevenSegmentMinute.print(now.minute());
sevenSegmentMinute.drawColon(true);
sevenSegmentMinute.writeDisplay();
// Tampilkan detik
sevenSegmentSecond.print(now.second());
sevenSegmentSecond.drawColon(false); // Matikan colon untuk detik
sevenSegmentSecond.writeDisplay();
delay(1000); // Delay selama 1 detik
}