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


Шаг 1: Элементы

8 х 8 Матрица
MAX7219 Драйвер
0.01 мкФ
10 мкФ
Макетная плата
28кОм резистор
перемычки

Шаг 2: Принцип работы светодиодной матрицы

Светодиодная матрица представляет собой набор светодиодов, они могут быть организованы во многих моделях. Здесь мы рассмотрим шаблон матрицы. Матрица определяет прямоугольную или квадратную форму, состоящую из пересекающихся строк и столбцов. Пересечение этих строк и столбцов, имеют важное значение.

Давайте начнем с того, на светодиоде есть отрицательный (катод) вывод, который подключен к земле, и положительный (анод), который подключен к источнику питания. Контакт питания подключается к микроконтроллеру. Аноды и катоды соединены так, что образуют столбцы и строки.

Если мы хотим контролировать каждый светодиод индивидуально, каждый светодиод в матрице должнен иметь контакт. Для матрицы 8x8 потребуется 64 контакты. Это много! К счастью, есть что-то называют мультиплексированием, которое уменьшает число выводов до 16 для того, чтобы контролировать светодиодную матрицу. Затем могут быть переданы на номер строки или столбца, например, строки 1-8 (R1 - R8) или колонки 1-8 (C1 - C8).

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

Шаг 3: Подключение
Если мультиплексированная матрица подключается к микроконтроллеру, каждый из 16 контактов на матрице должен быть подключен к 16 цифровых линий ввода / вывода. Для этого удобно использовать микросхему MAX7219. Она принимает все 16 пинов матрицы 8х8 и уменьшает число контактов, подключенных к контакту микроконтроллера 3, the data in, Load (CS) and CLK.

Определение контактов на матрице
Перед тем как матрица подключается к микросхеме, вам необходимо определить, какие контакты соответствуют столбцам и строкам. Мы можем это выяснить, посмотрев на таблицу данных для нашей светодиодной матрицы.

Подключение MAX7219 к матрице
После того, как контакты определены, они могут быть подключены к микросхеме. Глядя на даташит, мы видим, что есть Seg и Dig пины. Контакты Seg подключаются к анодам, контакты Dig подключаются к катодам. Чтобы было легче, на рисунке показана карта какие выводы матрицы подключить к контактам  микросхемы MAX7219.

Подключение MAX7219 к Edison


контакты контроллера 4 и 9 -> GND
контакт контроллера 19 -> +5V
контакт контроллера 12 / Load (CS) -> 10
контакт контроллера 13 / Clock -> 11
контакт контроллера 1 / Data In -> контакт 12

Шаг 4: Код

Перед загрузкой программы, нужно загрузить и поместить в библиотеки Arduino библиотеку LedControl.h
Для включения светодиода, необходимо отправить целое число 0 или 1 с помощью ПО. Рисунок можно представить в виде сетки из светодиодов или пикселей. Светодиодам, которые должны быть включены - присваивается 1, светодиоды, которые должны быть выключены - присваивается 0.
Помните, что мы работаем с матрицей колонки катода, так что мы будем посылать данные рядами. Если одна строка выступает как массив, вы можете включить R1, посылая бинарную логику:

R1: 10011001
Затем вы можете включить строки 2 - 8, отправив следующее:

R2: 01011010

R3: 00111100

R4: 11111111

R5: 11111111

R6: 00111100

R7: 01011010

R8: 10011001

Путем включения и выключения светодиодов в сетке, может быть сделано любое статическое изображение, в пределах ограничений разрешения матрицы. Что делать, если вы хотите создать анимацию? Это проще, чем вы можете подумать. Каждый кадр анимации просто нужно рассматривать как статическое изображение. Загрузите функцию с массивами, которая удерживает каждый кадр анимации. Для того, чтобы изменять частоту кадров, ставьте delay () после каждого кадра со значением в миллисекундах.

Загрузите прилагаемый пример кода и перейдите к следующему шагу, чтобы узнать, как загрузить это в Edison. Программа отображает статический знак восклицания (!), Звездочку (*) и сердце и анимированное взрывающееся сердце.
Скачать файл: matrixstaticanimation.zip [1,51 Kb] (cкачиваний: 177)

Шаг 5: Загрузка в Edison

Эдисон может быть запрограммирован с помощью Eclipse, и Arduino IDE. Языки, которые могут быть использованы, это C / C ++, Arduino и javascript.

Intel имеет обширную документацию на своем веб-сайте для Edison и Galileo. Ниже перечислены некоторые из основных шагов, которые необходимо учитывать при подготовке к загрузке программы на Edison со ссылками на соответствующие страницы.

Arduino

Проверьте, что ваш Edison прошит до последней прошивки и узнайте, как подключиться к нему через USB. Для того, чтобы загрузить Eclipse, вам также необходимо подключить его к сети Wi-Fi, с Arduino это не обязательно. Скачать Arduino IDE от Intel, когда вы откроете его, вы увидите платы Intel Edison и Galileo в меню Tools. Рекомендуется понимание Arduino перед тем как начать работу с версией Intel.

Рекомендуемая литература:

Начало работы с Arduino

Upload your first blink sketch to the Edison

Удачи!


5 962