Светодиодная матрица на базе MAX7219

В этом примере мы используем светодиодную матрицу, на которой будем включать-выключать светодиоды и отображать ASCII символы.

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

Необходимые материалы

Для данного небольшого проекта вам понадобятся следующие компоненты:

  • плата Arduino Uno;
  • модуль матричного дисплея с красными светодиодами MAX7219;
  • 5 коннекторов папа-мама;

В данном примере используется плата Arduino Uno, но вы можете использовать любую аналогичный или совместимый микроконтроллер.

Arduino, матричный дисплей и коннекторы

Найти модуль матричного дисплея не составит труда. Китайцы уже давно и больших количествах продают из на eBay и Aliexpress. Кроме того, на многих радиорынках Украины и России они тоже есть в наличии. В состав этих модулей входят: 8х8 светодиодная матрица (красного цвета), чип MAX7219 для управления светодиодами, коннекторы, один резистор на 10 кОм, конденсатор на 100 нФ, электролитический конденсатор 10 uF, монтажная плата, на которой все это устанавливается. Можно заказать собранный модуль, можно самому распаять все компоненты. Зависит от вас.

Матричный дисплей на базе MAX7219

ВАЖНО: матричный светодиодный дисплей является общим катодом. Модуль не работает матрицами, которые имеют общий анод!

Библиотека Arduino для работы с матричным светодиодным дисплеем

Светодиодная матрица (LED matrix) управляется с помощью чипа MAX7219 и библиотеки Arduino.

Самая потрясающая вещь в этой библиотеке - это возможность подключения до 8 матриц и реализовать большой дисплей (более детально будет рассмотрено в отдельном туториале)

Библиотека LedControl library была дополнена некоторыми новыми методами для упрощения отображения символов и строк. Новая версия библиотеки доступна для скачивания по ссылкам:

LedControlMS.rar

LedControlMS.zip

Для интегрирования библиотеки в вашу Arduino IDE:

- распакуйте файл библиотеки, который вы только что скачали;

- убедитесь, что вы закрыли все открытые окна Arduino IDE;

- найди папку libraries внутри папки, где у вас установлена Arduino IDE (смотрите на рисунке ниже);

- скопируйте разархивированную папку LedControlMS (папку со всем ее содержимым) в папку libraries.

Библиотеки для MAX7219 Библиотеки для матричного дисплея

Если все прошло хорошо, вы можете вновь открыть Arduino IDE. В меню File -> Examples должна появится вкладка под названием LedControlMS с четырьмя файлами внутри.

Если у вас возникли дополнительные вопросы по установке библиотек в Arduino IDE, ознакомьтесь со статьей Библиотеки Arduinoгде рассмотрены все возможные сложности и порядок установки библиотек Arduino. Да и вообще, что это такое - библиотеки.

Подключение матричного дисплея к Arduino

После установки библиотеки можно подключать LED матрицу к плате Arduino.

На модуле светодиодной матрицы есть два набора контактов. В этом проекте мы будем использовать только контакты на вход, которые расположены ближе к чипу MAX 7219.

Есть пять контактов, которые надо подключить к соответствующим пинам Arduino.. Подключаем с помощью коннекторов папа-мама:

Таблица подключения матричного дисплея к Arduino

На рисунке ниже коннекторы имеют цвета, приведенные в пояснениях. Так что можете смело перепроверить подключение с помощью рисунка.

Подключение матричного дисплея к Arduino Подключение матричного дисплея к Arduino - распиновка на плате Подключение матричного дисплея к Arduino - распиновка на дисплее

Пример скетча для Arduino

Библиотека LedControl library может работать как с 7-ми сегментными светодиодными дисплеями, так и со светодиодными матрицами. В нашем случае будут использоваться методы для работы со светодиодными матрицами.

Обновленная библиотека, которая была создана для Makespace Madrid позволяет определять алфавит/шрифт символов, которые отображаются на светодиодном матричном дисплее. Кроме того, включено два новых метода: writeString и displayChar. Практические примеры работы различных методов вы можете увидеть в примере MakeSpace_LEDMatrix, который включен в состав библиотеки.

Открыть скетч можно выбрав в Arduino IDE File -> Examples -> LedControlMS -> MakeSpace_ LEDMatrix

Можете загрузить пример на вашу плату Arduino и повосхищаться результатом.

Примечание 1: если у вас на ПК стоит старая версия Arduino IDE (0.x), вам придется изменить расширение скетчей, которые входят в состав библиотеки. Измените расширение файлов с .ino на .pde (MakeSpace_ LEDMatrix.ino -> MakeSpace_ LEDMatrix.pde). В таком случае ваша Arduino IDE сможет прочитать и открырь эти файлы (возможно, вам опять таки надо будет закрыть окно Arduino IDE и только после этого изменить расширение файла).

Примечание 2: перед загрузкой скетча убедитесь, что вы выбрали корректный COM-порт.

Резутьтат!

Обещанный результат на видео ниже:

Если все прошло успешно, ваша светодиодная матрица начнет отрабатывать последовательность операций, включая/выключая светодиоды и отображая различные символы. Уверен, вы с легкостью сможете сопоставить код в скетче с действиями, которые отрабатывает матричный дисплей на базе MAX 7219. Дальше предлагаю вам изменять скетч, экспериментировать с представлеными в библиотеке методами и отображать ваши собственные идеи с помощью матричного дисплея.

Результат - работа матричного дисплея через Arduino

В помощь прилагаю ниже в PDF файле некоторые данные о светодиодах, строках и колонках, которые пронумерованы и зашиты в библиотеку LEDControl library. Не бойтесь ошибок! Именно ошибки часто ускоряют процесс обучения!

Matriz de LEDs.pdf

Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!