#include "SevSeg.h"
SevSeg sevseg;
const int redLED = A0;
const int yellowLED = A1;
const int greenLED = A2;
void setup () {
pinMode (redLED, OUTPUT);
pinMode (yellowLED, OUTPUT);
pinMode (greenLED, OUTPUT);
byte numDigits = 4;
byte digitPins[ ] = {10, 9, 11, 12};
byte segmentPins[ ] = {2, 3, 4, 5, 6, 7, 8};
bool resistorsOnSegments = true;
byte hardwareConfig = COMMON_CATHODE;
bool updateWithDelays = false;
bool leadingZeros = true;
bool disableDecPoint = true;
sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments, updateWithDelays, leadingZeros, disableDecPoint);
sevseg.setBrightness (90);
}
void loop () {
digitalWrite (greenLED,HIGH);
sevsegDisplay (60);
digitalWrite (greenLED,LOW);
digitalWrite (yellowLED,HIGH);
sevsegDisplay (10);
digitalWrite (yellowLED,LOW);
digitalWrite (redLED,HIGH);
sevsegDisplay (60);
digitalWrite (redLED, LOW) ;
digitalWrite (yellowLED, HIGH);
digitalWrite (redLED, HIGH);
sevsegDisplay (10);
digitalWrite (yellowLED, LOW);
digitalWrite (redLED, LOW);
}
void sevsegDisplay (int countdown) {
for (; countdown >= 0; countdown --) {
sevseg.setNumber(countdown);
unsigned long value = millis();
while (millis () - value <500) {
sevseg.refreshDisplay() ;
}
}
}