#include "SevSeg.h"
#include <RTClib.h>
SevSeg sevseg;
RTC_DS1307 rtc;
int lastMillis = 0;
int addMin = 0;
int addHour = 0;
int buttonState;
void setup() {
byte numDigits = 4;
byte digitPins[] = {2, 3, 4, 5};
byte segPins[] = {6, 7, 8, 9, 10, 11, 12, 13};
bool resistorOnSegments = false;
byte hardwareConfig = COMMON_ANODE;
bool updateWithDelays = false;
bool leadingZeros = true;
bool disableDecPoint = true;
sevseg.begin(hardwareConfig, numDigits, digitPins, segPins, resistorOnSegments, updateWithDelays,
leadingZeros, disableDecPoint);
sevseg.setBrightness(90);
pinMode(13, OUTPUT);
pinMode(A3, INPUT_PULLUP);
Serial.begin(9600);
if (! rtc.begin()){
Serial.println("RTC not found");
Serial.flush();
abort();
}
}
void displayCurrentTime(){
DateTime now = rtc.now();
if ((millis() - lastMillis) >= 1000){
lastMillis = millis();
if (digitalRead(13) == HIGH){
digitalWrite(13, LOW);
} else {
digitalWrite(13, HIGH);
}
}
sevseg.setNumber(now.minute() + addMin + ((now.hour() + addHour)*100));
}
void loop() {
sevseg.refreshDisplay();
displayCurrentTime();
}
// TODO
// implement button debounce
// make buttons for changing time
// make a button for reseting time to current rtc time
// make alarm