# define BUTTON_PIN 2
int a= 13;
int b= 12;
int c= 11;
int d= 10;
int e= 9;
int f= 8;
int g= 7;
// int dp= 6;
int wait = 1000;
bool flag=false;
bool button_status;
int ledPins[7] = {13, 12, 11, 10, 9, 8, 7};
bool numMatrix[10][7] = {
{1, 1, 1, 1, 1, 1, 0}, //0
{0, 1, 1, 0, 0, 0, 0}, //1
{1, 1, 0, 1, 1, 0, 1}, //2
{1, 1, 1, 1, 0, 0, 1}, //3
{0, 1, 1, 0, 0, 1, 1}, //4
{1, 0, 1, 1, 0, 1, 1}, //5
{1, 0, 1, 1, 1, 1, 1}, //6
{1, 1, 1, 0, 0, 0, 0}, //7
{1, 1, 1, 1, 1, 1, 1}, //8
{1, 1, 1, 1, 0, 1, 1}, //9
};
void setup() {
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
// pinMode(dp, OUTPUT);
pinMode(BUTTON_PIN,INPUT);
reset();
}
void reset() {
flag=false;
for (int i=0; i<7; i++) {
digitalWrite(ledPins[i], 0);
}
}
int click() {
button_status=digitalRead(BUTTON_PIN);
if (!flag && button_status) {
delay(10/16);
button_status = digitalRead(BUTTON_PIN);
if (button_status==true)
{
flag=!flag;
return 1;
}
}
/*
if (flag && !button_status)
{
delay(10/16);
button_status = digitalRead(BUTTON_PIN);
if (!button_status)
{
flag=!flag;
return 2;
}
}
*/
return 0;
}
void loop() {
if (click()==0) {
count_down();
}
delay(100/16);
reset();
}
void count_down(){
for (int num=9; num>=0; num--) {
//digitalWrite(6, HIGH);
//delay(500);
//digitalWrite(6, LOW);
for (int i=0; i<7; i++) {
digitalWrite(ledPins[i], numMatrix[num][i]);
}
delay(wait);
}
}