1-разрядный 7-сегментный LED индикатор: Простое отображение цифр на Arduino

Зачем нужен 7-сегментный индикатор

1-разрядный 7-сегментный LED индикатор с общим катодом – это компактное и доступное решение для отображения цифр (0–9) и некоторых букв в Arduino-проектах. Он идеально подходит для создания цифровых часов, счётчиков, таймеров или индикаторов состояния. В этой статье мы подробно рассмотрим характеристики, подключение и примеры использования 7-сегментного индикатора.

7-сегментный LED индикатор Arduino

Необходимые компоненты для проекта

Чтобы подключить 7-сегментный индикатор к Arduino, подготовьте следующие компоненты:

  • Плата Arduino Uno, Nano или аналогичная;
  • 1-разрядный 7-сегментный индикатор (общий катод);
  • Резисторы 220–330 Ом (7–8 шт.);
  • Провода джамперы;
  • Макетная плата (опционально).

Описание и принцип работы

7-сегментный индикатор состоит из восьми светодиодов: семь сегментов (a–g) формируют цифры, а восьмой отвечает за десятичную точку (dp). В версии с общим катодом все катоды соединены с землёй (GND), а аноды подключаются к пинам Arduino через резисторы 220–330 Ом. Для включения нужного сегмента подаётся сигнал HIGH.

Красные индикаторы обеспечивают яркость 10–20 мКд и хорошо видны при умеренном освещении. Для удобства можно использовать библиотеку SevSeg, которая упрощает вывод цифр на дисплей.

Характеристики 7-сегментного индикатора

  • Тип: 1-разрядный, 7-сегментный, общий катод;
  • Цвет свечения: Красный;
  • Рабочее напряжение: 1.8–2.2 В на сегмент;
  • Ток на сегмент: 5–20 мА (рекомендуется 10 мА с резистором);
  • Размеры: ~19×13×7 мм (для дисплея 0.56″);
  • Длина волны: 620–630 нм;
  • Яркость: 10–20 мКд;
  • Количество контактов: 10 (7 сегментов, 1 точка, 2 катода);
  • Рабочая температура: от -20°C до +85°C.

Схема подключения 7-сегментного индикатора к Arduino

Подключение выполняется следующим образом:

  • COM (общий катод): к GND Arduino;
  • Сегменты (a–g, dp): к пинам D2–D9 через резисторы 220–330 Ом.

Пример распределения выводов:

  • a → D2
  • b → D3
  • c → D4
  • d → D5
  • e → D6
  • f → D7
  • g → D8
  • dp → D9

Пример кода без библиотеки

Простой скетч для вывода цифры «5» на 7-сегментном индикаторе:

int segA = 2, segB = 3, segC = 4, segD = 5, segE = 6, segF = 7, segG = 8;

void setup() {
  pinMode(segA, OUTPUT);
  pinMode(segB, OUTPUT);
  pinMode(segC, OUTPUT);
  pinMode(segD, OUTPUT);
  pinMode(segE, OUTPUT);
  pinMode(segF, OUTPUT);
  pinMode(segG, OUTPUT);
}

void loop() {
  // Отображаем цифру 5
  digitalWrite(segA, HIGH);
  digitalWrite(segB, LOW);
  digitalWrite(segC, HIGH);
  digitalWrite(segD, HIGH);
  digitalWrite(segE, LOW);
  digitalWrite(segF, HIGH);
  digitalWrite(segG, HIGH);
}
Делает следующее:
настраивает пины 2–8 как выходы для сегментов 7-сегментного индикатора.
постоянно отображает цифру 5 (сегменты A, C, D, F, G зажигаются).

Разбор кода

pinMode() задаёт пины как выходы, а digitalWrite() управляет сегментами. Для других цифр меняйте комбинацию HIGH/LOW по схеме сегментов.

Пример кода с библиотекой SevSeg

Библиотека SevSeg позволяет легко выводить цифры от 0 до 9:

#include <SevSeg.h>

SevSeg sevseg;
byte numDigits = 1;
byte digitPins[] = {};
byte segmentPins[] = {2, 3, 4, 5, 6, 7, 8, 9};
boolean resistorsOnSegments = true;

void setup() {
  sevseg.begin(COMMON_CATHODE, numDigits, digitPins, segmentPins, resistorsOnSegments);
  sevseg.setBrightness(90);
}

void loop() {
  for (int i = 0; i < 10; i++) {
    sevseg.setNumber(i);
    sevseg.refreshDisplay();
    delay(1000);
  }
}
Делает следующее:
отображает цифры от 0 до 9 по очереди.
каждая цифра горит 1 секунду.
использует 7-сегментный индикатор с общим катодом.

Объяснение кода

sevseg.begin() инициализирует индикатор, setNumber() устанавливает цифру, а refreshDisplay() обновляет отображение. Убедитесь, что библиотека SevSeg установлена через Arduino IDE.

Применение 7-сегментного индикатора в проектах

  • Цифровые часы: отображение времени;
  • Счётчики: подсчёт событий или предметов;
  • Таймеры: обратный отсчёт;
  • Индикаторы состояния: отображение уровней (0–9);
  • Учебные проекты: освоение основ цифровой электроники.

Заключение

1-разрядный 7-сегментный LED индикатор — это простой и надёжный компонент, идеально подходящий для обучения и практики с Arduino. Он помогает визуализировать данные и делает проекты более наглядными. Попробуйте добавить такой индикатор в свой проект уже сегодня и создайте собственные часы, счётчик или таймер!

FAQ — 7-сегментный индикатор Arduino

Как определить, общий катод или анод у индикатора?

Подключите питание через резистор к любому сегменту и общему выводу. Если сегмент загорается при подключении к GND — это общий катод. Если к +5 В — общий анод.

Можно ли подключить индикатор без резисторов?

Нет. Без токоограничивающих резисторов светодиоды быстро перегорят из-за избыточного тока. Резисторы 220–330 Ом защищают каждый сегмент.

Как управлять несколькими 7-сегментными индикаторами?

Для нескольких разрядов используйте библиотеку SevSeg или мультиплексирование. Это позволяет экономить пины и управлять всеми индикаторами синхронно.

Почему индикатор мерцает?

Мерцание связано с частотой обновления. Увеличьте скорость вызова refreshDisplay() в коде или используйте аппаратный драйвер (например, TM1637) для стабильного отображения.

Какие параметры нужно учитывать при подключении 7-сегментного индикатора?

Учтите рабочее напряжение (1.8–2.2 В на сегмент), ток (5–20 мА, рекомендуются 10 мА с резистором), тип индикатора (общий катод или анод) и количество сегментов. Все сегменты подключайте через резисторы к Arduino.

Где можно купить 7-сегментный индикатор для Arduino?

Индикаторы доступны в интернет-магазинах электроники: Aliexpress, Amazon, eBay, а также в российских магазинах компонентов для Arduino.

Можно ли использовать библиотеку SevSeg для обучения?

Да. SevSeg упрощает вывод цифр на индикатор, позволяет быстро управлять одним или несколькими разрядами и идеально подходит для учебных проектов с Arduino.

📁 Скачать примеры

Вам также может понравиться: