diff --git a/simpleclock.ino b/simpleclock.ino index db3512b..5936d0e 100644 --- a/simpleclock.ino +++ b/simpleclock.ino @@ -39,16 +39,15 @@ OF SUCH DAMAGE. DS1307 clock; SevSeg Display; -bool dot = true; -float number; unsigned long currentMillis; unsigned long previousMillis = 0; const long interval = 500; - const int hrs_btn = A0; const int min_btn = A1; - +bool dot = true; +uint8_t minutes; +uint8_t hours; void setup() { @@ -59,7 +58,9 @@ void setup() byte segmentPins[] = {2, 3, 4, 5, 6, 7, 8, 13}; bool resistorsOnSegments = true; // 8 resistors, 330 Ohms each bool updateWithDelays = false; // Default. Recommended - bool leadingZeros = false; + /* without it there is visual bug at 0 o'clock, and in current version of + * SevSeg' setChars() does not dots at all */ + bool leadingZeros = true; Display.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments, updateWithDelays, leadingZeros); @@ -88,8 +89,6 @@ void setup() void loop() { unsigned long currentMillis = millis(); - uint8_t minutes; - uint8_t hours; if (currentMillis - previousMillis >= interval) { @@ -127,12 +126,9 @@ void loop() // make blinking dot if (dot == true) { - number = clock.hour * 100 + clock.minute; - number = number / 100; - Display.setNumber(number, 2); + Display.setNumber((clock.hour * 100 + clock.minute), 2); } else { - number = clock.hour * 100 + clock.minute; - Display.setNumber(number); + Display.setNumber((clock.hour * 100 + clock.minute)); } Display.refreshDisplay();