Загрузка данных


const int segPins[]   = {6, 7, 8, 9, 10, 11, 12, 13};
const int digitPins[] = {2, 3, 4, 5};
const int buttonPin   = A2;

const byte digitMasks[10] = {
  0b11111100, 0b01100000, 0b11011010, 0b11110010, 0b01100110,
  0b10110110, 0b10111110, 0b11100000, 0b11111110, 0b11110110
};

void setup() {
  Serial.begin(9600);
  for (int i = 0; i < 8; i++) { pinMode(segPins[i], OUTPUT); }
  for (int i = 0; i < 4; i++) { pinMode(digitPins[i], OUTPUT); }
  pinMode(buttonPin, INPUT_PULLUP);
}

void loop() {
  // Жестко задаем тестовые цифры 1, 2, 3, 4 чтобы проверить дисплей
  int digits[4] = {1, 2, 3, 4};

  for (int i = 0; i < 4; i++) {
    // Гасим все разряды
    for (int dd = 0; dd < 4; dd++) {
      digitalWrite(digitPins[dd], HIGH); // Попробуйте сменить HIGH на LOW, если не загорится
    }
    
    // Выставляем маску
    byte mask = digitMasks[digits[i]];
    for (int s = 0; s < 8; s++) {
      digitalWrite(segPins[s], bitRead(mask, 7 - s));
    }
    
    // Включаем текущий разряд
    digitalWrite(digitPins[i], LOW); // Попробуйте сменить LOW на HIGH, если не загорится
    delay(4);
  }
}