Подключение светодиодной матрицы к Arduino Uno


В этом проекте мы спроектируем матричный светодиодный дисплей 8х8, для чего мы подключим светодиодную матрицу 8х8 к плате Arduino Uno. Светодиодная матрица 8х8 содержит 64 светодиода, которые упорядочены в форме матрицы, поэтому такая структура и называется светодиодной матрицей.

Подключение светодиодной матрицы к Arduino Uno: внешний вид конструкции

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

Внешний вид светодиодной матрицы 8х8

Светодиодная матрица содержит 16 контактов, из них 8 общих положительных контактов и 8 отрицательных общих контактов. Для непосредственного подключения светодиодной матрицы к плате Arduino Uno нам необходимо задействовать 16 ее контактов. Но часто бывает достаточно проблематично выделить 16 свободных контактов для подключения светодиодной матрицы. В этом случае целесообразно подключать светодиодную матрицу к плате Arduino Uno через управляющий чип. Обычно такой чип сразу продается вместе со светодиодной матрицей как показано на приведенном рисунке.

На светодиодной матрице можно будет, к примеру, показывать различные символы алфавита. Но прежде чем подключать светодиодную матрицу к плате Arduino Uno, необходимо сначала скачать специальную библиотеку для работы с ней. Сделать это можно по следующему адресу - https://github.com/shaai/Arduino_LED_matrix_sketch/archive/master.zip.

После скачивания этого архива его необходимо распаковать в каталог ARDUINO, а если точнее, то необходимо найти в нем подкаталог “library” и извлечь скачанный архив туда. После перезапуска программы библиотека будет готова к использованию.

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Светодиодная матрица 8х8 (купить на AliExpress).
  3. Источник питания с напряжением 5 В.
  4. Конденсатор 100 мкФ (соединенный по питанию) (купить на AliExpress).

Работа схемы

В схеме необходимо сделать следующие соединения между платой Arduino Uno и светодиодной матрицей:
PIN2 ------------------LOAD or CHIPSELECT of LED module
PIN3------------------CLOCK of LED module
PIN4 ------------------DATAIN of LED module
+5V ------------------VCC of LED module
GND ------------------GND of LED module

Схема устройства представлена на следующем рисунке.

Схема подключения светодиодной матрицы 8х8 к Arduino UnoИсходный код программы

После скачивания библиотеки для работы со светодиодной матрицей нам будут доступны специальные функции для работы с этой матрицей:

#include "LedControlMS.h"
#define NBR_MTX 1
LedControl lc=LedControl(4,3,2, NBR_MTX);
lc.writeString(0,"CIRCUITDIGEST");
lc.clearAll();

Первым делом мы должны подключить заголовочный файл для работы со специальными функциями скачанной библиотеки. Это делается с помощью команды #include "LedControlMS.h".

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

В используемой нами светодиодной матрице основных 3 контакта и весь основной обмен данными между Arduino Uno и матрицей происходит через них. Эти контакты имеют следующие наименования:

  • DATAIN (контакт приема данных);
  • CLOCK (контакт времени);
  • CHIPSELECT (контакт приема команд).

Поэтому мы должны сообщить плате Arduino Uno к каким ее контактам мы подключили эти 3 контакта светодиодной матрицы. Это делается с помощью команды “LedControl lc=LedControl(4,3,2, NBR_MTX); ”. Далее в нашем примере с помощью команды “lc.writeString(0,"CIRCUITDIGEST");” мы сообщаем плате Arduino Uno какую строку символов следует отобразить на светодиодной матрице, в нашем случае это будет строка ”CIRCUITDIGEST”, каждый символ отобразить один раз.

Также следует помнить о том, что необходимо очистить память дисплея светодиодной матрицы перед тем как передавать туда данные. Делается это с помощью команды ”lc.clearAll();".

Далее представлен полный текст программы.

Видео, демонстрирующее работу схемы

(1 голосов, оценка: 5,00 из 5)
Загрузка...
4 176 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *