#include <SevSeg.h>
SevSeg sevseg;
byte ledMerah = 11;
byte ledKuning = 12;
byte ledHijau = 13;
void setup() {
byte numDigits = 2;
byte digitPins[] = {2, 3};
byte segmentPins[] = {4, 5, 6, 7, 8, 9, 10};
bool resistorsOnSegments = true; // 'false' means resistors are on digit pins
byte hardwareConfig = COMMON_ANODE; // See README.md for options
bool updateWithDelays = false; // Default 'false' is Recommended
bool leadingZeros = true; // Use 'true' if you'd like to keep the leading zeros
bool disableDecPoint = true; // Use 'true' if your decimal point doesn't exist or isn't connected
sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments,
updateWithDelays, leadingZeros, disableDecPoint);
sevseg.setBrightness(90);
pinMode(ledMerah, OUTPUT);
pinMode(ledKuning, OUTPUT);
pinMode(ledHijau, OUTPUT);
Serial.begin(9600);
}
void loop() {
static unsigned long timer = millis();
static int seconds = 20;
if (millis() - timer >= 1000) {
timer += 1000;
seconds--; // 1000 milliSeconds is equal to 1 Second
if (seconds == 0) {
sevseg.setChars("--");
return;
} else if (seconds == -1) {
seconds = 20;
}
sevseg.setNumber(seconds, 0);
Serial.print("Seconds = ");
Serial.println(seconds);
}
sevseg.refreshDisplay(); // Must run repeatedly
}