#include <SevSeg.h>
#include "Clock.h"
const int COLON_PIN = 13;
Clock clock;
SevSeg sevseg;
void setColon(bool value) {
digitalWrite(COLON_PIN, value ? LOW : HIGH);
} // trạng thái của đèn LED dấu hai chấm dựa trên giá trị đầu vào.
void displayTime() {
DateTime now = clock.now();// Lấy thời gian hiện tại từ đối tượng clock
bool blinkState = now.second() % 2 == 0; //Xác định trạng thái nhấp nháy dấu hai chấm (mỗi giây)
sevseg.setNumber(now.hour() * 100 + now.minute()); //Đặt giá trị số lên hiển thị bảy đoạn
setColon(blinkState);
}
void setup() {
clock.begin(); //Khởi tạo đối tượng clock từ thư viện Clock để quản lý thời gian.
pinMode(COLON_PIN, OUTPUT);//điều khiển đèn LED dấu hai chấm
byte digits = 4; //Xác định số lượng chữ số led 7 đoạn.
byte digitPins[] = {2, 3, 4, 5};//các chân đầu ra được kết nối với các chữ số led 7 đoạn
byte segmentPins[] = {6, 7, 8, 9, 10, 11, 12}; // Mảng chứa các chân đầu ra được kết nối với các đoạn trên led 7 đoạn.
bool resistorsOnSegments = false;
bool updateWithDelays = false;
bool leadingZeros = true;
bool disableDecPoint = true;
sevseg.begin(DISPLAY_TYPE, digits, digitPins, segmentPins, resistorsOnSegments,
updateWithDelays, leadingZeros, disableDecPoint);
sevseg.setBrightness(90);
}
void loop() {
sevseg.refreshDisplay();
displayTime();
}