int a = 5;
int b = 6;
int c = 7;
int d = 8;
int e = 9;
int f = 10;
int g = 11;
int digit1 = 13;
int digit2 = 12;
char Num[10] = {
0b1111110, // 0
0b0110000, // 1
0b1101101, // 2
0b1111001, // 3
0b0110011, // 4
0b1011011, // 5
0b1011111, // 6
0b1110000, // 7
0b1111111, // 8
0b1111011 // 9
};
void number(int n)
{
digitalWrite(a, n & 0b1000000);
digitalWrite(b, n & 0b0100000);
digitalWrite(c, n & 0b0010000);
digitalWrite(d, n & 0b0001000);
digitalWrite(e, n & 0b0000100);
digitalWrite(f, n & 0b0000010);
digitalWrite(g, n & 0b0000001);
}
void setup()
{
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(digit1, OUTPUT);
pinMode(digit2, OUTPUT);
digitalWrite(digit1, 0); // disable digit1
digitalWrite(digit2, 1); // disable digit2
}
long interval ;
int count = 5;
void loop()
{
int d1 = count / 10;
int d2 = count % 10;
if(millis() - interval > 1000)
{
count--;
interval = millis();
}
digitalWrite(digit2, 1); // Off digit2
digitalWrite(digit1, 1);
number(Num[d1]);
digitalWrite(digit1, 0);
delay(10); // 1
digitalWrite(digit2, 1); // Off digit2
digitalWrite(digit1, 1); // Off digit1
number(Num[d2]);
digitalWrite(digit2, 0);
delay(10); // 2
}