int pins[8] = {2, 3, 4, 5, 6, 7, 8, 9};
byte numbers[31] = {
0x3F, 0x06, // 0 1
0x5B, 0x4F, // 2 3
0x66, 0x6D, // 4 5
0x7D, 0x07, // 6 7
0x7F, 0x6F, // 8 9
0x80, 0x00, // точка, всё выключено
0x73, 0x7C, // a b
0x39, 0x5E, // c d
0x79, 0x71, // e f
0x3D, 0x76, // g h
0x06, 0x1E, // i j
0x38, 0x54, // l n
0x5C, 0x73, // o p
0x50, 0x6D, // r s
0x78, 0x1C, // t u
0x6E // y
};
int number = 0;
void setup() {
for (int i = 0; i < 8; i++) {
pinMode(pins[i], OUTPUT);
}
}
void loop() {
showNumber(number);
delay(500);
number = (number + 1) % 31;
}
void showNumber(int num) {
for (int i = 0; i < 8; i++) {
if (bitRead(numbers[num], i) == HIGH) {
digitalWrite(pins[i], HIGH);
} else {
digitalWrite(pins[i], LOW);
}
}
}