#include #include "SevSeg.h" CountUpDownTimer T(DOWN, HIGH); // Default precision is HIGH, but you can change it to also be LOW SevSeg sevseg; //Instantiate a seven segment controller object void setup() { Serial.begin(115200); T.SetTimer(0,2,20); //start at 2 minute, 20 sec (USE FOR: DOWN ONLY) T.SetStopTime(0,0,30); // stop at 10 seconds (USE FOR: UP/DOWN) T.StartTimer(); //Setup for Seven Segment Display byte numDigits = 4; byte digitPins[] = {A0, A1, A2, A3}; byte segmentPins[] = {2, 3, 4, 8, 9, 10, 11, 12}; bool resistorsOnSegments = false; // 'false' means resistors are on digit pins byte hardwareConfig = COMMON_CATHODE; // See README.md for options bool updateWithDelays = false; // Default. Recommended bool leadingZeros = false; // Use 'true' if you'd like to keep the leading zeros sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments, updateWithDelays, leadingZeros); sevseg.setBrightness(90); } void loop() { T.Timer(); // run the timer if (T.TimeHasChanged() ) // this prevents the time from being constantly shown. { Serial.print(T.ShowHours()); Serial.print(":"); Serial.print(T.ShowMinutes()); Serial.print(":"); Serial.println(T.ShowSeconds()); char buffer[10]; sprintf (buffer, "%02d:%02d", T.ShowHours(), T.ShowMinutes()); Serial.print(buffer); sevseg.setNumber(buffer, 0); } sevseg.refreshDisplay(); }