int digit1[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d,
0x7d, 0x07, 0x7f, 0x6f
};
#define b_up 11
#define b_down 12
int cnt = 0;
int state_up = 0, state_down = 0;;
int last_state_up = 0, last_state_down = 0;
void setup() {
pinMode(b_up, INPUT_PULLUP);
pinMode(b_down, INPUT_PULLUP);
for (int i = 4; i <= 10; i++) {
pinMode(i, OUTPUT);
}
}
void loop() {
state_up = !digitalRead(b_up);
state_down = !digitalRead(b_down);
if (state_up != last_state_up) {
if (state_up == 0) {
cnt++;
if (cnt >= 9) cnt = 9;
}
delay(40);
}
if (state_down != last_state_down) {
if (state_down == 0) {
cnt--;
if (cnt <= 0) cnt = 0;
}
delay(40);
}
for (int i = 4; i <= 10; i++) {
digitalWrite(i, bitRead(digit1[cnt], i - 4));
}
last_state_up = state_up;
last_state_down = state_down;
}