const int segPins[] = {2, 3, 4, 5, 6, 7, 8, 9};
const int digitPins[] = {10, 11, 12, 13};
const byte digitMasks[10] = {
0b11111100,
0b01100000,
0b11011010,
0b11110010,
0b01100110,
0b10110110,
0b10111110,
0b11100000,
0b11111110,
0b11110110
};
void setup() {
for (int i = 0; i < 8; i++) {
pinMode(segPins[i], OUTPUT);
}
for (int i = 0; i < 4; i++) {
pinMode(digitPins[i], OUTPUT);
digitalWrite(digitPins[i], LOW);
}
}
void loop() {
for (int num = 0; num < 10; num++) {
for (int s = 0; s < 8; s++) {
bool bitVal = bitRead(digitMasks[num], 7 - s);
digitalWrite(segPins[s], bitVal);
}
delay(1000);
}
}