const int segA = 2;
const int segB = 3;
const int segC = 4;
const int segD = 5;
const int segE = 6;
const int segF = 7;
const int segG = 8;
const int buttonUp = 10;
const int buttonDown = 11;
int counter = 0;
const byte digit[10] = {
0b00111111,
0b00000110,
0b01011011,
0b01001111,
0b01100110,
0b01101101,
0b01111101,
0b00000111,
0b01111111,
0b01101111
};
void setup()
{
pinMode(segA, OUTPUT);
pinMode(segB, OUTPUT);
pinMode(segC, OUTPUT);
pinMode(segD, OUTPUT);
pinMode(segE, OUTPUT);
pinMode(segF, OUTPUT);
pinMode(segG, OUTPUT);
pinMode(buttonUp, INPUT_PULLUP);
pinMode(buttonDown, INPUT_PULLUP);
}
void loop() {
bool upState = digitalRead(buttonUp);
bool downState = digitalRead(buttonDown);
if (upState == LOW) {
counter++;
if (counter > 9) counter = 0;
displayDigit(counter);
delay(300);
}
if (downState == LOW) {
counter--;
if (counter < 0) counter = 9;
displayDigit(counter);
delay(300);
}
}
void displayDigit(int num) {
digitalWrite(segA, digit[num] & 0b00000001);
digitalWrite(segB, digit[num] & 0b00000010);
digitalWrite(segC, digit[num] & 0b00000100);
digitalWrite(segD, digit[num] & 0b00001000);
digitalWrite(segE, digit[num] & 0b00010000);
digitalWrite(segF, digit[num] & 0b00100000);
digitalWrite(segG, digit[num] & 0b01000000);
}