Четыре разряда: динамическая индикация

Сегменты у разрядов общие, поэтому разряды зажигают по очереди на 4 мс — глаз видит число 2026 целиком.

Средний уровень Arduino Uno C++
Схема подключения: Четыре разряда: динамическая индикация
Схема в симуляторе. Нажмите «Открыть в симуляторе», чтобы запустить её и поменять.

Что понадобится

Как подключить

ОткудаКуда
Arduino UnoD2→Резистор 11
Резистор 12→Четырёхразрядный индикаторA
Arduino UnoD3→Резистор 21
Резистор 22→Четырёхразрядный индикаторB
Arduino UnoD4→Резистор 31
Резистор 32→Четырёхразрядный индикаторC
Arduino UnoD5→Резистор 41
Резистор 42→Четырёхразрядный индикаторD
Arduino UnoD6→Резистор 51
Резистор 52→Четырёхразрядный индикаторE
Arduino UnoD7→Резистор 61
Резистор 62→Четырёхразрядный индикаторF
Arduino UnoD8→Резистор 71
Резистор 72→Четырёхразрядный индикаторG
Arduino UnoD9→Четырёхразрядный индикаторDIG1
Arduino UnoD10→Четырёхразрядный индикаторDIG2
Arduino UnoD11→Четырёхразрядный индикаторDIG3
Arduino UnoD12→Четырёхразрядный индикаторDIG4

Скетч

// Четырёхразрядный индикатор с общим катодом.
// Сегменты общие у всех разрядов, а разряд включается LOW на своём DIG.
// Поэтому разряды зажигаются ПО ОЧЕРЕДИ, и глаз видит все четыре сразу.
const int SEG[7] = { 2, 3, 4, 5, 6, 7, 8 };
const int DIG[4] = { 9, 10, 11, 12 };

const byte DIGITS[10] = {
  0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F
};

// Что показать — по цифре на разряд, слева направо.
int number[4] = { 2, 0, 2, 6 };

void setup() {
  for (int s = 0; s < 7; s++) pinMode(SEG[s], OUTPUT);
  for (int d = 0; d < 4; d++) {
    pinMode(DIG[d], OUTPUT);
    digitalWrite(DIG[d], HIGH);
  }
}

void loop() {
  for (int d = 0; d < 4; d++) {
    for (int s = 0; s < 7; s++) {
      digitalWrite(SEG[s], (DIGITS[number[d]] >> s) & 1);
    }
    digitalWrite(DIG[d], LOW);   // зажечь разряд
    delay(4);
    digitalWrite(DIG[d], HIGH);  // погасить перед сменой сегментов
  }
}

Коротко о детали: Четырёхразрядный индикатор

Четыре цифры с общими выводами сегментов A–G и DP: сегмент A у всех разрядов один и тот же провод. Какая цифра горит, решает общий вывод разряда DIG1–DIG4, поэтому число выводят динамической индикацией — по очереди зажигают разряды несколько миллисекунд каждый, и глаз видит все четыре сразу. Общий катод или анод задаётся двойным кликом.

Распиновка и все примеры →

Ещё примеры с деталью «Четырёхразрядный индикатор»

Попробуйте сами

Симулятор работает прямо в браузере: схему можно менять, код — править, а результат видно сразу. Бесплатно, без установки и регистрации.

Открыть «Четыре разряда: динамическая индикация» в симуляторе