Мастерство 8×8 LED-матрицы с Arduino Uno: Пошаговое руководство
Компоненты и материалы
| Компонент | Кол-во | Примечание |
|---|---|---|
| Arduino UNO | 1 | Управляющий контроллер |
| Модуль 8×8 LED-матрица с драйвером MAX7219 | 1 (или больше) | Каскадируются по шине SPI-подобной |
| Перемычки (female-female между матрицами, male-female к Arduino) | 1 набор | |
| Акриловый лист 2 мм (опционально) | 1 | Крепление матриц в линию/сетку |
| Винты M2×10 мм + гайки M2 | 20 шт. каждая | 4 на матрицу |
Софт
- Arduino IDE + библиотека LedControl (by Eberhard Fahle / wayoda) — GitHub
О проекте
Руководство по управлению каскадом 8×8 матриц на MAX7219 с Arduino. Пример — 5 матриц в виде «лица» робота «Robô da Alegria» (два глаза + рот). Можно выводить буквы, цифры, анимации, эмоции.
Сборка
- Соедините матрицы каскадом: DOUT первой → DIN следующей, общие CLK, CS, VCC, GND.
- Первая матрица к Arduino:
- DIN → D13
- CLK → D12
- CS → D11
- VCC → 5V
- GND → GND
- (Опционально) Закрепите матрицы на акриле винтами M2.
- Подключите USB.
Программирование
Код разбит на 4 части:
- Определение образов: каждый глаз — массив
byte[8](8 строк), рот —byte[24](3 матрицы × 8 строк). Рисунки поворачиваем на 90° против часовой, так как используетсяsetRow(в 8 раз быстрееsetColumn). - Setup:
LedControl lc = LedControl(DIN, CLK, CS, numDevices);для каждой матрицы:shutdown(false),setIntensity(1)(минимум яркости — экономия USB-тока),clearDisplay(). - Loop: ждёт команды из Serial Monitor, вызывает функции отрисовки.
- Вспомогательные функции:
setEyes(pattern),setMouth(pattern)— записывают байты в соответствующие матрицы черезsetRow.
Управление через Serial Monitor
Отправьте два символа (глаза + рот) и Enter:
| Команда | Глаза |
|---|---|
: |
Нормальные |
; |
Моргание |
8 |
Жуткие |
| Команда | Рот |
|---|---|
) |
Счастливый |
| |
Нейтральный |
( |
Грустный |
D / d |
Очень счастливый |
O / o |
Удивлённый |
P / p |
Язык наружу |
Пример: :) → нормальные глаза + счастливый рот. ;D → моргание + очень счастливый.
Расширения
- Добавить новые эмоции (гнев, подмигивание, сердечки в глазах).
- Bluetooth (HC-05/HC-06) или Wi-Fi (ESP8266) для управления с телефона.
- Анимации: бегущая строка, снег, матричный дождь.
- Использовать
MAX7219в цепочке до 8 устройств на один CS (библиотека поддерживает). - Питание от внешнего 5В/2А при >3 матрицах (USB может не тянуть).
Полезные ссылки
- Проект робота: Hackaday | GitHub | Facebook
- Библиотека LedControl: GitHub
- Документация MAX7219/MAX7221 (PDF в разделе Schematics оригинала).
Производственный процесс
- Создание аудио-эффектов, управляемых датчиками, с набором Satellite CCRMA
- Панель управления полётным симулятором 2020 на Arduino Nano: LCD и CDI-дисплеи
- Панель переключателей и LED для Microsoft Flight Simulator 2020 на Arduino
- Часы реального времени на Arduino с расчётом времени намаза
- Сборка консоли Pong 24×16 на Arduino Nano и MAX7219
- Управление светодиодом по Bluetooth с Arduino: простой DIY-гид
- Вывод изображений на 1.17-дюймовый TFT LCD с Arduino UNO
- Пошаговое руководство: сборка умного четырёхногого робота на Arduino
- Точное управление сервоприводом через MPU6050 (Arduino, SG90, MG996R)
- Управление 4-пиновым PWM-вентилятором 25 кГц на Arduino Uno — Сборка, код и тесты