const int segmentPins[8] = {2, 3, 4, 5, 6, 7, 8, 9};
const byte digitPatterns[10] = {
0b00111111,
0b00000110,
0b01011011,
0b01001111,
0b01100110,
0b01101101,
0b01111101,
0b00000111,
0b01111111,
0b01101111
};
const int buttonPin = 10;
const int resetPin = 11;
int count = 0;
void setup() {
for (int i = 0; i < 8; i++) {
pinMode(segmentPins[i], OUTPUT);
}
pinMode(buttonPin, INPUT_PULLUP);
pinMode(resetPin, INPUT_PULLUP);
}
void loop() {
if (digitalRead(buttonPin) == LOW) {
delay(50);
if (digitalRead(buttonPin) == LOW) {
count++;
if (count > 9) count = 0;
displayDigit(count);
while (digitalRead(buttonPin) == LOW);
}
}
if (digitalRead(resetPin) == LOW) {
delay(50);
if (digitalRead(resetPin) == LOW) {
count = 0;
displayDigit(count);
while (digitalRead(resetPin) == LOW);
}
}
}
void displayDigit(int digit) {
byte pattern = digitPatterns[digit];
for (int i = 0; i < 8; i++) {
digitalWrite(segmentPins[i], bitRead(pattern, i));
}
}