// Пины 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);
}