Кратко об индикаторе MAX7219
MAX7219 — модуль с восемью красными 7-сегментными разрядами для вывода чисел, времени, показаний счётчиков и датчиков. Встроенный драйвер самостоятельно управляет мультиплексированием индикаторов, поэтому для передачи данных нужны всего три сигнальные линии: DIN, CLK и CS/LOAD.
Ключевые характеристики
- Тип индикатора
- 8-разрядный 7-сегментный LED
- Конструкция
- два 4-разрядных блока
- Цвет символов
- красный
- Драйвер
- MAX7219
- Питание модуля
- 5 В
- Управление
- DIN, CLK, CS/LOAD
- Каскадирование
- DOUT для подключения следующего модуля
- Яркость
- 16 программных уровней [1]
- Размеры модуля
- 83 × 15 × 12 мм
- Вес
- 12 г
Подробное описание и особенности
Восемь разрядов без ручного мультиплексирования
Два 4-разрядных индикатора образуют единый восьмиразрядный дисплей. MAX7219 сохраняет состояние разрядов и самостоятельно обновляет сегменты, поэтому микроконтроллеру достаточно передавать значения и команды управления.
Каждым сегментом и десятичной точкой можно управлять отдельно. Модуль отображает цифры 0–9, а также ограниченный набор букв и знаков, которые можно составить из семи сегментов, в частности A, b, C, d, E и F. Для полноценного текста или произвольной графики нужен другой тип дисплея.
Последовательное управление и каскад
DIN принимает данные, CLK задаёт тактирование, а CS/LOAD фиксирует переданную команду. Выход DOUT передаёт данные следующему MAX7219, поэтому несколько модулей можно объединить в более длинный индикатор с общими линиями CLK и CS/LOAD.[1]
Яркость регулируется программно. Более низкий уровень снижает энергопотребление и обычно удобнее в помещении; при выборе источника питания необходимо учитывать количество активных сегментов, установленную яркость и число модулей в каскаде.
Индикация, а не измерение
Модуль только отображает данные, подготовленные контроллером. Для часов нужен источник времени, для термометра — датчик температуры, а для вольтметра — соответствующая измерительная схема с безопасным согласованием напряжения.
Подойдёт / не подойдёт
Подойдёт
- для часов, таймеров и секундомеров;
- для счётчиков событий, импульсов, оборотов или изделий;
- для вывода температуры, напряжения и других числовых показателей;
- для учебных макетов с 5-вольтовыми микроконтроллерами;
- для более длинных цифровых табло из нескольких каскадно соединённых модулей.
Не подойдёт
- для полноценных текстовых сообщений, меню или произвольной графики;
- для автономного измерения без контроллера, датчика и программы;
- для питания от напряжения, не соответствующего 5 В;
- для прямого подключения к логике 3,3 В без проверки уровней сигналов;
- для значений, которым недостаточно восьми разрядов и каскадирование не предусмотрено.
Примеры применения
Часы или таймер
Контроллер может получать дату и время от модуля RTC DS3231 и выводить часы, минуты, секунды или дату на восьми разрядах.
Панель измерительного устройства
Модуль может отображать числовое значение датчика, десятичную точку и доступный сегментный знак в пределах восьми позиций.
Счётчик или табло
Восемь цифр можно использовать для отображения количества событий, оборотов, изделий, баллов или продолжительности процесса.
Подключение
Отключите питание
Перед монтажом сверьте маркировку контактов на модуле и контроллере. Не переставляйте провода под напряжением.
Подключите 5 В и GND
Соедините VCC со стабилизированным источником 5 В, а GND — с общей землёй системы. Не питайте модуль от сигнального GPIO.
Подключите сигнальные линии
DIN подключите к выходу данных контроллера, CLK — к тактовому выходу, CS/LOAD — к отдельному управляющему GPIO. Номера контактов задаются в программе или библиотеке.
Инициализируйте драйвер
После запуска переведите MAX7219 в рабочий режим, задайте восемь разрядов, очистите дисплей и начните с невысокой яркости. После подачи питания драйвер запускается с выключенной индикацией.[1]
При необходимости добавьте каскад
Соедините DOUT первого модуля с DIN следующего, используйте общие CLK, CS/LOAD и GND и предусмотрите достаточное питание для всех модулей.
Совместимые контроллеры и альтернативы
- Для компактного 5-вольтового макета можно выбрать Nano V3.0 на ATmega168P или Nano V3.0 на ATmega328P. Вариант на ATmega328P имеет больше памяти для более сложной программы.
- Если достаточно четырёх цифр и нужно двоеточие для часов, подойдёт 4-разрядный индикатор TM1637.
- Для двух строк текста или простого меню лучше использовать символьный LCD 1602; для подключения по I2C необходимо выбрать вариант с соответствующим адаптером.
Ограничения и безопасность
Питание 5 В и правильная полярность
Подавайте на модуль стабилизированные 5 В и соблюдайте обозначения VCC и GND. Не полагайтесь на возможные защитные элементы как на замену правильному подключению.
Логика 3,3 В требует согласования
При питании MAX7219 от 5 В гарантированный высокий уровень на его цифровых входах начинается от 3,5 В.[1] Поэтому прямое управление от ESP32, ESP8266, Raspberry Pi или другой 3,3-вольтовой платформы не следует считать гарантированно совместимым; при необходимости используйте преобразователь уровней.
Предусмотрите запас по питанию
Потребление зависит от яркости и количества включённых сегментов. Для продолжительной работы на высокой яркости или каскада из нескольких модулей используйте отдельный стабилизированный источник 5 В с достаточным запасом и общей землёй с контроллером.
Не допускайте короткого замыкания
Не кладите включённую плату на металлическую поверхность и не допускайте контакта проводящих предметов с дорожками и выводами.
FAQ
Сколько GPIO нужно для управления?
Нужны три сигнальные линии: DIN, CLK и CS/LOAD. Отдельно подключаются питание 5 В и GND.
Почему дисплей не светится сразу после подачи питания?
MAX7219 запускается с выключенной индикацией. Программа должна перевести драйвер в рабочий режим, настроить количество разрядов и яркость, а затем записать данные.
Можно ли отображать буквы?
Модуль отображает только те буквы и знаки, которые можно составить из семи сегментов. Для обычного текста, меню или пиктограмм нужен символьный или графический дисплей.
Можно ли подключить несколько индикаторов?
Да. DOUT предыдущего модуля подключается к DIN следующего, а CLK и CS/LOAD используются совместно. Источник питания должен соответствовать суммарной нагрузке.
Можно ли управлять модулем от логики 3,3 В?
Прямую совместимость не следует предполагать. Проверьте гарантированные уровни конкретного контроллера и при необходимости примените преобразователь логических уровней.
Документы и источники
- Maxim Integrated Products, MAX7219/MAX7221 Serially Interfaced, 8-Digit LED Display Drivers, Rev. 4, 07/2003 — режимы MAX7219, управление яркостью, каскадирование и электрические уровни входов.