const int dataPin = 11; // DS (Data) → пин 11 Arduino
const int clockPin = 13; // SHCP (Clock) → пин 12 Arduino
const int latchPin = 12; // STCP (Latch) → пин 13 Arduino
// Массив кодов для цифр 0-9 (Q0 = a, Q1 = b, ..., Q7 = dp)
// Проверьте, правильно ли сегменты подключены к выходам регистра!
byte digitPatterns[10] = {
0b11111100, // 0 (a, b, c, d, e, f)
0b01100000, // 1 (b, c)
0b11011010, // 2 (a, b, g, e, d)
0b11110010, // 3 (a, b, g, c, d)
0b01100110, // 4 (b, c, f, g)
0b10110110, // 5 (a, f, g, c, d)
0b10111110, // 6 (a, f, g, c, d, e)
0b11100000, // 7 (a, b, c)
0b11111110, // 8 (все сегменты)
0b11110110 // 9 (a, b, c, d, f, g)
};
void setup() {
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(latchPin, OUTPUT);
}
void loop() {
for (int i = 0; i < 10; i++) {
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, digitPatterns[i]);
digitalWrite(latchPin, HIGH);
delay(1000);
}
}