int buttonPin = 2;
int segmentPins[] = {3, 4, 5, 6, 7, 8, 9};
int number = 0;
void setup()
{
for (int i = 0; i < 7; i++)
{
pinMode(segmentPins[i], OUTPUT);
}
pinMode(buttonPin, INPUT);
}
void loop()
{
if (digitalRead(buttonPin) == HIGH)
{
number = (number + 1) % 10;
displayNumber(number);
delay(300);
}
}
void displayNumber(int num)
{
byte segmentCodes[10][7] =
{
{1, 1, 1, 1, 1, 1, 0},
{0, 1, 1, 0, 0, 0, 0},
{1, 1, 0, 1, 1, 0, 1},
{1, 1, 1, 1, 0, 0, 1},
{0, 1, 1, 0, 0, 1, 1},
{1, 0, 1, 1, 0, 1, 1},
{1, 0, 1, 1, 1, 1, 1},
{1, 1, 1, 0, 0, 0, 0},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 0, 1, 1}
};
for (int i = 0; i < 7; i++)
{
digitalWrite(segmentPins[i], segmentCodes[num][i]);
}
}