#include "SevSeg.h"
SevSeg sevseg;
unsigned long previousMillis = 0; //will store last time LED was blinked
const long period = 1000; // period at which to blink in ms
int led_red=12;
int led_green=11;
int led_grng1=13;
int led_grng2=9;
int key=10;
void setup(){
byte numDigits = 1;
byte digitPins[] = {};
byte segmentPins[] = {6, 5, 4, 3, 2, 7, 8, 1};
bool resistorsOnSegments = true;
byte hardwareConfig = COMMON_ANODE;
sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
sevseg.setBrightness(90);
pinMode(key, INPUT);
pinMode(led_red, OUTPUT);
pinMode(led_green, OUTPUT);
pinMode(led_grng1, OUTPUT);
pinMode(led_grng2, OUTPUT);
}
int i=1;
int cunter=0;
bool flg= false;
void loop(){
if (digitalRead(key) == HIGH) {
flg=true;
}
if (flg)
{
if (i<=-1 && cunter==0)
{
digitalWrite(led_red, HIGH);
digitalWrite(led_green, LOW);
digitalWrite(led_grng1, LOW);
digitalWrite(led_grng2, LOW);
cunter++;
i=9;
}
if (i<=-1 && cunter==1)
{
digitalWrite(led_red, LOW);
digitalWrite(led_green, LOW);
digitalWrite(led_grng1, HIGH);
digitalWrite(led_grng2, LOW);
cunter++;
i=5;
}
if (i<=-1 && cunter==2)
{
digitalWrite(led_red, LOW);
digitalWrite(led_green, HIGH);
digitalWrite(led_grng1, LOW);
digitalWrite(led_grng2, LOW);
cunter++;
i=9;
}
if (i<=-1 && cunter==3)
{
digitalWrite(led_red, LOW);
digitalWrite(led_green, LOW);
digitalWrite(led_grng1, LOW);
digitalWrite(led_grng2, HIGH);
cunter=0;
i=5;
}
unsigned long currentMillis = millis(); // store the current time
if (currentMillis - previousMillis >= period) { // check if 1000ms passed
previousMillis = currentMillis; // save the last time you blinked the LED
sevseg.setNumber(i);
sevseg.refreshDisplay();
if (i>=-1) i=i-1;
}
}
}