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


// ТЕСТ: должен гореть "1234" (с точкой на 2-м разряде)
const int segPins[]   = {6, 7, 8, 9, 10, 11, 12, 13}; // a b c d e f g dp
const int digitPins[] = {5, 4, 3, 2};                  // 1 2 3 4

// Маски для CC (общий катод), бит7=seg a ... бит0=dp
const byte masks[4] = {
  0b01100000, // 1
  0b11011011, // 2 + точка (dp = 1)
  0b11110010, // 3
  0b01100110, // 4
};

void setup() {
  for (int i = 0; i < 8; i++) { pinMode(segPins[i], OUTPUT); digitalWrite(segPins[i], LOW); }
  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);
    for (int s = 0; s < 8; s++)  digitalWrite(segPins[s], bitRead(masks[i], 7 - s));
    digitalWrite(digitPins[i], LOW);
    delay(3);
  }
}