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


// Пины Arduino для сегментов A, B, C, D, E, F, G
const int segmentPins[7] = {2, 3, 4, 5, 6, 7, 8};

// Маски для общего катода (1 = сегмент горит)
// Порядок битов: A(bit0) B(bit1) C(bit2) D(bit3) E(bit4) F(bit5) G(bit6)
//
// 6 → горят A, C, D, E, F, G  → 0b01111101
// 7 → горят A, B, C           → 0b00000111
const byte digitSix   = 0b01111101;
const byte digitSeven = 0b00000111;

void displayDigit(byte mask) {
  for (int i = 0; i < 7; i++) {
    digitalWrite(segmentPins[i], bitRead(mask, i));
  }
}

void setup() {
  for (int i = 0; i < 7; i++) {
    pinMode(segmentPins[i], OUTPUT);
  }
}

void loop() {
  displayDigit(digitSix);
  delay(500);

  displayDigit(digitSeven);
  delay(500);
}