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


int pins[8] = {2, 3, 4, 5, 6, 7, 8, 9};

byte numbers[31] = {
  0x3F, 0x06,  // 0 1
  0x5B, 0x4F,  // 2 3
  0x66, 0x6D,  // 4 5
  0x7D, 0x07,  // 6 7
  0x7F, 0x6F,  // 8 9

  0x80, 0x00,  // точка, всё выключено

  0x73, 0x7C,  // a b
  0x39, 0x5E,  // c d
  0x79, 0x71,  // e f
  0x3D, 0x76,  // g h
  0x06, 0x1E,  // i j
  0x38, 0x54,  // l n
  0x5C, 0x73,  // o p
  0x50, 0x6D,  // r s
  0x78, 0x1C,  // t u
  0x6E          // y
};

int number = 0;

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

void loop() {
  showNumber(number);
  delay(500);

  number = (number + 1) % 31;
}

void showNumber(int num) {
  for (int i = 0; i < 8; i++) {
    if (bitRead(numbers[num], i) == HIGH) {
      digitalWrite(pins[i], HIGH);
    } else {
      digitalWrite(pins[i], LOW);
    }
  }
}