Управление светодиодной матрицей с помощью Arduino Uno
Компоненты и расходные материалы
![]() |
| × | 1 | |||
| × | 1 | ||||
![]() |
| × | 1 | |||
| × | 1 | ||||
| × | 20 | ||||
| × | 20 |
Приложения и онлайн-сервисы
![]() |
|
Об этом проекте
В этом проекте показано, как управлять массивом светодиодных матриц 8x8 с помощью Arduino Uno. Это руководство можно использовать для создания простого (и относительно дешевого) дисплея для ваших собственных проектов. Таким образом вы можете отображать буквы, числа или настраиваемую анимацию.
5-матричный массив, используемый в одном из наших проектов роботов («Робо да Алегрия»), используется в качестве примера для иллюстрации этой технологии. Возможно, вам будет интересно узнать больше об этом проекте по следующим ссылкам:
- https://hackaday.io/project/12873-rob-da-alegria-joy-robot
- https://github.com/ferauche/RoboAlegria
- https://www.facebook.com/robodaalegria/
Компоненты







MAX7219-MAX7221.pdf
Обратите внимание, что вам понадобятся перемычки двух типов:гнездо-гнездо для соединения между матрицами и гнездо-гнездо для соединения первой матрицы с Arduino.
Количество компонентов может варьироваться в зависимости от задуманной вами структуры.
Сборка




Подключите все компоненты согласно схеме. Вам понадобится несколько перемычек, чтобы подключить первую матрицу к Arduino, а каждую матрицу - к следующей в массиве.
Распиновка Arduino:
- Цифровой вывод 13 Arduino =DIN первого дисплея.
- Цифровой вывод 12 Arduino =CLK первого дисплея.
- Цифровой вывод 11 Arduino =CS первого дисплея
- Вывод 5V Arduino =Vcc первого дисплея.
- Вывод GND Arduino =вывод GND первого дисплея.
Вы также можете расположить каждый дисплей в определенном месте. Для этого вы можете использовать акриловый лист, несколько винтов и гаек (по четыре для каждого дисплея) и разместить каждый компонент на месте. Для сборки схемы не требуется никаких инструментов, но вам понадобится отвертка, если вы хотите прикрепить дисплеи к поверхности. В нашем примере пять дисплеев были размещены на рисунке лица (два глаза и рот). Подключите USB-кабель к плате Arduino Uno и переходите к следующему шагу.
FLPMR9JIRKFL3VQ.fzz
Кодирование

При установленной последней версии Arduino IDE добавьте библиотеку LedControl.h, которая используется для управления светодиодами. Загрузите, скомпилируйте и загрузите код Arduino, который разделен на 4 части:
- 1. Определение глаз и рта: каждый глаз настроен и представляет собой 8-байтовый массив. Рты определены как 24-байтовый массив
- 2. Настройка: настроить дисплеи и начать общение
- 3. Основное: дождитесь команд последовательной связи и выберите, какое лицо будет отображаться
- 4. Вспомогательные функции: функции настройки отображения глаз и рта. setRow Функция использовалась для настройки каждой строки светодиодного дисплея. Он использовался вместо setColumn потому что он работает в восемь раз быстрее! Таким образом, рисунки для каждого дисплея должны быть объявлены повернутыми на 90 градусов против часовой стрелки.
setIntensity был использован для ограничения яркости светодиодов. Он был установлен на 1 (по шкале от 0 до 15), чтобы снизить энергопотребление модулей до уровня, приемлемого для порта USB.
FEGF6QQIRKFL5XL.ino
Использование







После загрузки оставьте Arduino подключенным к USB-порту вашего компьютера и откройте Serial Monitor. Код запрограммирован на отображение набора смайлов на лицевой стороне светодиода в зависимости от сообщения, полученного через последовательный порт. Были настроены следующие команды:
Для глаз
- : (нормальные глаза)
- ; (мигает)
- 8 (жуткие глаза)
Для рта:
- ) (счастлив)
- | (нейтральный)
- ( (грустно)
- D или d (очень доволен)
- О или o (удивленно)
- P или p (высунув язык)
Введите пару символов (один для глаз и другой для рта) на серийном мониторе, нажмите клавишу ВВОД, и дисплеи будут обновлены в соответствии с вашей командой.
Вы можете изменить рисунки (например, добавить новые лица) или изменить метод управления (включая интерфейс Bluetooth или Wi-Fi) в соответствии с вашими потребностями.
Удачи!
Код
Github
https://github.com/ferauche/RoboAlegriah https://github.com/ferauche/RoboAlegriaGithub
https://github.com/wayoda/LedControlhttps://github.com/wayoda/LedControlПроизводственный процесс
- Управление эффектом с помощью реальных датчиков
- ЖК-панель с Arduino для симулятора полета
- Переключатель / светодиодная панель с Arduino для FS2020
- Часы Arduino с исламским временем молитв
- Игра Arduino Pong на матрице 24x16 с MAX7219
- Arduino с Bluetooth для управления светодиодом!
- Отображение изображения на ЖК-экране TFT с помощью Arduino UNO!
- Четвероногий Arduino
- Управление серводвигателем с помощью Arduino и MPU6050
- 4-контактный ШИМ-контроль вентилятора, 25 кГц, с Arduino Uno