const int segPins[] = {6, 7, 8, 9, 10, 11, 12, 13};
const int digitPins[] = {5, 4, 3, 2};
const byte charMasks[4] = {
0b11101110, // A
0b00111110, // b
0b10011100, // C
0b01111010 // d
};
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], HIGH);
}
}
void loop() {
for (int i = 0; i < 4; i++) {
for (int d = 0; d < 4; d++) {
digitalWrite(digitPins[d], HIGH);
}
digitalWrite(digitPins[i], LOW);
for (int s = 0; s < 8; s++) {
bool bitVal = bitRead(charMasks[i], 7 - s);
digitalWrite(segPins[s], bitVal);
}
delay(2000);
}
}