byte numToByte[] = {
B11000000, // 0
B11111001, // 1
B10100100, // 2
B10110000, // 3
B10011001, // 4
B10010010, // 5
B10000010, // 6
B11111000, // 7
B10000000, // 8
B10011000 // 9
};
int clickCount = 0;
bool buttonWasReleased = true;
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
pinMode(8, INPUT_PULLUP);
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
}
void loop() {
writeOnDisp(clickCount);
bool buttonReleased = digitalRead(8);
if (buttonReleased != buttonWasReleased) {
if (buttonReleased) {
digitalWrite(LED_BUILTIN, LOW);
} else {
digitalWrite(LED_BUILTIN, HIGH);
click();
}
delay(50);
}
buttonWasReleased = buttonReleased;
}
void writeOnDisp(int n) {
for (int i = 0; i < 7; i++) {
digitalWrite(i, bitRead(numToByte[n], i));
}
}
void click(){
clickCount = (clickCount + 1) % 10;
}