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


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

const byte charMasks[] = {
  0b11101110, // A
  0b00111110, // b
  0b10011100, // C
  0b01111010, // d
  0b1001111,  // E
  0b1000111,  // F
  0b1011110,  // G
  0b1101101   // Z
};

const int charCount = sizeof(charMasks) / sizeof(charMasks[0]);

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 < charCount; i++) {
    for (int d = 0; d < 4; d++) {
      digitalWrite(digitPins[d], HIGH);
    }

    for (int s = 0; s < 8; s++) {
      bool bitVal = bitRead(charMasks[i], 7 - s);
      digitalWrite(segPins[s], bitVal);
    }

    digitalWrite(digitPins[0], LOW);
    delay(1000);
  }
}