bool buttonState;
bool reading;
bool lastButtonState;
int debounceDelay = 50;
int lastDebounceTime;
int counter;
int numPrint[10][7] = {{0, 0, 0, 0, 0, 0, 1},{1, 0, 0, 1, 1, 1, 1},{0, 0, 1, 0, 0, 1, 0},{0, 0, 0, 0, 1, 1, 0},{1, 0, 0, 1, 1, 0, 0},{0, 1, 0, 0, 1, 0, 0},{0, 1, 0, 0, 0, 0, 0},{0, 0, 0, 1, 1, 1, 1},{0, 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 1, 0, 0}};
void setup() {
// put your setup code here, to run once:
for (int i = 7; i <= 13; i++) {
pinMode(i, OUTPUT);
}
pinMode(4, INPUT);
Serial.begin(9600);
}
void loop() {
reading = digitalRead(4);
if (reading != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading != buttonState) {
buttonState = reading;
if (buttonState) {
counter++;
Serial.println(counter);
}
}
}
for (int i = 0; i < 7; i++) {
digitalWrite(i+7,numPrint[counter%10][i]);
}
lastButtonState = reading;
}