В этом проекте мы собираемся разработать светодиодный матричный дисплей 8x8, для этого мы собираемся соединить модуль светодиодной матрицы 8x8 с Arduino Uno. Светодиодная матрица 8x8 содержит 64 светодиода (Light Emitting Diodes), которые расположены в форме матрицы, отсюда и название светодиодная матрица.
Эти матрицы могут быть изготовлены путем подключения 64 светодиодов, однако этот процесс занимает много времени. Сегодня они доступны в компактных формах, как показано на изображении ниже. Эти компактные модули доступны в разных размерах и во многих цветах. Стоимость модуля такая же, как у 64 светодиода, поэтому любителям работать с ним проще всего.
Голая светодиодная матрица имеет 16 выводов, из которых 8 общих положительных и еще 8 общих отрицательных. Для подключения этой матрицы напрямую к UNO нам нужно оставить 16 контактов на UNO. При низком уровне на выходных контактах UNO мы не можем сэкономить 16 контактов. Итак, нам нужно подключить эту матрицу к микросхеме драйвера. Эта микросхема драйвера вместе с матрицей поставляется в комплекте, показанном на рисунке ниже.
Этот модуль будет взаимодействовать с Arduino для отображения алфавитов, следовательно, матричного дисплея. Прежде всего, для сопряжения светодиодной матрицы с Arduino нам необходимо загрузить библиотеку, специально разработанную для LED MATRIX. Эта библиотека будет доступна по адресу:
После загрузки Zip-файла распакуйте его содержимое в папку ARDUINO. (Перейдите на локальный диск, на котором установлено программное обеспечение ARDUINO NIGHTLY, откройте папку, найдите папку с именем «библиотека», извлеките содержимое zip-файла в эту папку, перезапустите программу, и теперь вы сможете использовать функции интерфейса матрицы)
Необходимые компоненты
Аппаратное обеспечение: Arduino Uno, источник питания (5 В), конденсатор 100 мкФ (подключен к источнику питания)
Программное обеспечение: Arduino Nightly
Принципиальная схема и объяснение
Соединения, которые выполняются между Arduino Uno и модулем светодиодной матрицы, показаны в таблице ниже.
PIN2 ------------------ LOAD или CHIPSELECT светодиодного модуля
PIN3 ------------------ ЧАСЫ светодиодного модуля
PIN4 ------------------ ДАННЫЕ светодиодного модуля
+ 5V ------------------ VCC светодиодного модуля
GND ------------------ GND светодиодного модуля
Схема матричного дисплея 8 * 8 СИД показано на рисунке ниже.
Теперь, чтобы использовать специальные фьючерсы, вызываемые установкой новой библиотеки, нам нужно установить несколько команд в программе, которые указаны ниже.
#include "LedControlMS.h" #define NBR_MTX 1 LedControl lc = LedControl (4,3,2, NBR_MTX); lc.writeString (0, «CIRCUITDIGEST»); lc.clearAll (); |
Сначала нам нужно вызвать файл заголовка для подключения светодиодной матрицы к Arduino Uno. То есть "#include" LedControlMS.h "", этот файл заголовка вызывает специальные функции библиотеки.
У нас есть особенность с этими модулями: мы можем соединять множество модулей последовательно и программировать их вместе как один дисплей. Эта функция пригодится, когда нам нужен дисплей, который может отображать несколько символов одновременно. Поэтому нам нужно сообщить контроллеру, сколько дисплеев мы подключаем.
В этом модуле в основном три контакта; поток данных от UNO к модулю происходит с этими тремя контактами. Контакты: DATAIN (контакт для приема данных), CLOCK (контакт для синхронизации) и CHIPSELECT (контакт для приема команд).
Теперь нам нужно сообщить UNO, где мы подключаем эти контакты. Это делается командой «LedControl lc = LedControl (4,3,2, NBR_MTX); ». «Lc.writeString (0,« CIRCUITDIGEST »);», эта команда используется для сообщения UNO, какие символы должны отображаться на матрице светодиодов. Как показано выше, на дисплее отображается «CIRCUITDIGEST» для каждого символа один раз.
Перед отправкой любых других данных нам необходимо очистить память чипа дисплея, это делается командой ”lc.clearAll ();".
Таким образом, мы можем легко подключить светодиодную матрицу 8x8 к Arduino Uno.