int seg[] = {2, 3, 4, 5, 6, 7, 8}; // a to g
// Digit to segment binary codes for common anode (0 = ON)
byte digits[10][7] = {
{0, 0, 0, 0, 0, 0, 1}, // 0
{1, 0, 0, 1, 1, 1, 1}, // 1
{0, 0, 1, 0, 0, 1, 0}, // 2
{0, 0, 0, 0, 1, 1, 0}, // 3
{1, 0, 0, 1, 1, 0, 0}, // 4
{0, 1, 0, 0, 1, 0, 0}, // 5
{0, 1, 0, 0, 0, 0, 0}, // 6
{0, 0, 0, 1, 1, 1, 1}, // 7
{0, 0, 0, 0, 0, 0, 0}, // 8
{0, 0, 0, 0, 1, 0, 0} // 9
};
void setup() {
for (int i = 0; i < 7; i++) {
pinMode(seg[i], OUTPUT);
}
}
void loop() {
for (int num = 0; num < 10; num++) {
for (int i = 0; i < 7; i++) {
digitalWrite(seg[i], digits[num][i]);
}
delay(1000);
}
}