
MAX7219 8-Digit 7-Segment Module
Один MAX7219 + восемь семисегментных разрядов, общий катод
Светодиодный индикатор с аппаратным сканированием и регулировкой яркости.
Автор: SLDV LAB
Опубликовано · Обновлено
О МОДУЛЕ
Что делает Один MAX7219 + восемь семисегментных разрядов, общий катод
Модуль с MAX7219 выводит восемь семисегментных цифр. Он подходит для счётчиков, часов, таймеров и измерительных приборов. Драйвер хранит сегменты и самостоятельно мультиплексирует разряды; постоянное программное сканирование не требуется.
Выбрано исполнение с одним MAX7219 и индикатором с общим катодом. Порядок разрядов и наличие точек нужно проверить на своей плате: пример сначала показывает контрольную последовательность. Не путайте его с TM1638, TM1637 или модулями на MAX7219 с матрицами. Яркость регулируется программно, а предельный ток сегментов задаётся резистором RSET на модуле.
Восьмиразрядная семисегментная плата MAX7219, пример исполнения без установленного изготовителя. Подключение относится к Arduino UNO R3 и программному интерфейсу LedControl: DIN→D12, CLK→D11, CS→D10.
Источник фотографии: https://iot-kmutnb.github.io/blogs/displays/max7219/ . Оригинал: https://iot-kmutnb.github.io/blogs/displays/max7219/max7219_8dig_7seg_display.jpg . SLDV LAB выделил показанный модуль, удалил фон и выполнил пропорциональное масштабирование; реальные детали и надписи сохранены. Схема соединений составлена SLDV LAB по указанным первичным источникам и примеру карточки. Отдельные условия повторного использования фотографии не установлены; обработка не меняет исходных прав.
Характеристики
- Контроллер
- MAX7219
- Индикация
- 8 семисегментных цифр
- Драйверов в примере
- 1
- Ступеней цифровой яркости
- 16
- Линии управления
- DIN, CLK, LOAD/CS; последовательный SPI-подобный протокол
- Интерфейс
- SPI
- Питание модуля
- Модуль питается от стабилизированных 5 В; MAX7219 требует логическую «1» не ниже 3,5 В. В примере UNO R3 с 5-В GPIO; прямое управление от ESP32 3,3 В не гарантировано.
ПРАКТИКА
Подключение
| Контакт модуля | Контакт платы | Назначение |
|---|---|---|
| VCC | Внешний стабилизированный источник 5 В | Источник выбрать по току реальной платы; не питать дисплей от GPIO. UNO в примере питается USB, его 5V с внешним +5V не соединять |
| GND | GND UNO и минус источника | Общая земля обязательна |
| DIN (вход) | D12 | LedControl использует программную передачу; это не аппаратный MOSI UNO |
| CLK | D11 | Программный clock LedControl |
| CS / LOAD | D10 | Arduino UNO R3 (ATmega328P), 5 В |
| DOUT (выход) | Не подключать | Для одного модуля; при каскаде идёт в DIN следующего |
Подходит для Arduino. Выберите контакты по документации своей платы.
ВАШ ПРОЕКТ · ВАШ ДАТЧИК
Интегрируйте модуль с ChatGPT
Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.
Помоги подключить MAX7219 8-Digit 7-Segment Module. Уточни контроллер, среду, число драйверов, маркировку входов и ток конкретного модуля. Подготовь питание 5 В с общей землёй и совместимые уровни DIN/CLK/LOAD; для ESP32 проверь преобразование 3,3→5 В. Используй LedControl 1.0.6 и полный пример с малой начальной яркостью. Проверь направление передачи, порядок разрядов и объясни, что библиотека не читает подтверждение присутствия MAX7219.
Библиотеки
Установите библиотеку для своей среды и откройте пример из её документации.
Что именно прописать
- Библиотека
LedControl 1.0.6Нужен только LedControl.h; SPI.h для этого программного интерфейса не требуется.
- Конструктор
LedControl display(12, 11, 10, 1);DIN, CLK, LOAD/CS, количество драйверов; выводы относятся к UNO R3.
- Запуск
display.shutdown(0, false);Первый драйвер имеет индекс 0.
- Начальная яркость
display.setIntensity(0, 1);Диапазон 0–15; программная яркость не заменяет правильный RSET.
Arduino UNO R3: проверка разрядов и счётчик секунд
cpp#include <LedControl.h>
LedControl display(12, 11, 10, 1); // DIN, CLK, LOAD, count
void setup() {
display.shutdown(0, false);
display.setScanLimit(0, 7);
display.setIntensity(0, 1);
display.clearDisplay(0);
for (uint8_t digit = 0; digit < 8; ++digit) {
display.setDigit(0, digit, digit + 1, false);
}
delay(3000);
}
void loop() {
unsigned long value = (millis() / 1000UL) % 100000000UL;
for (uint8_t digit = 0; digit < 8; ++digit) {
display.setDigit(0, digit, value % 10, false);
value /= 10;
}
delay(250);
}
Полный скетч для Arduino UNO R3, Arduino AVR Boards 1.8.6 и LedControl 1.0.6. API сверено с исходниками, физический тест не выполнялся. Принято, что разряд 0 крайний справа. Если контрольная последовательность отображается в обратном порядке, замените адрес digit на 7 - digit в обоих циклах; если порядок иной, нужна явная карта разрядов. При мерцании проверьте напряжение под нагрузкой, общую землю и развязку питания у модуля. У MAX7219 нет ACK: выполнение кода не подтверждает подключение.
Проекты с этим компонентом
Все проектыСвязанные проекты пока не опубликованы.


