Bluetooth матрица на адресных светодиодах
• Добавлена версия 1.10, изменены схемы для esp8266. Будьте внимательны!
• Новая прошивка для матрицы называется GyverMatrixOS, можно использовать в проекте “матрица” и “гирлянда”.
• Версия 1.3 и выше прошивки GyverMatrixOS не помещается в Arduino Nano со всеми эффектами и режимами на матрице 16х16! Используйте матрицу меньшего размера или отключайте Bluetooth/текст/эффекты или используйте Arduino Mega/esp8266! см. ниже
ОПИСАНИЕ
В этом проекте я оживил матрицу адресных светодиодов и прикрутил к ней управление со смартфона по Bluetooth. Система может показывать крутые эффекты, выводить настроенный бегущий текст, картинки, анимацию, время, есть несколько классических игр, а также управление со смартфона – режим рисования и отправки картинок и фотографий, эффекты, игры с управлением с телефона (даже акселерометром). Полный список возможностей и описания настроек смотрите в отдельной статье про прошивку GyverMatrixOS.



МАТРИЦА НА ALI!
Китайцы продают набор с матрицей в корпусе! Также в комплекте идёт блок питания и Wi-Fi контроллер NodeMCU.
Прошивка уже загружена! Приложение GyverMatrixWiFi, видимо чуть модифицированное и переведённое на английский
-
русскую версию английскую версию




ВИДЕО
СБОРКА
- Склеить/спаять матрицу/гирлянду по инструкции или купить готовую маленькую матрицу нужного вам размера
- Подключить всё к Ардуино по схеме (блютус и кнопки не обязательны)
- Скачать актуальную версию прошивки, настроить под себя параметры матрицы и эффектов
- Настроить под себя список режимов, которые крутятся в “режиме ожидания”. Смотри в этой статье
- Подробное описание возможностей и настроек GyverMatrixOS смотри в этой же статье
- Прошить, не забыв отключить провод от пина RX Ардуино
- Скачать на смартфон приложение GyverMatrixBT и настроить под свою матрицу (не обязательно)
- Действия кнопок смотрите в этой же статье
Прошивка постоянно совершенствуется, добавляются новые режимы и эффекты. Уже дошло до того, что в полном виде прошивка не помещается в Arduino NANO. Актуальная версия прошивки у вас точно не поместится, и нужно будет отключить ненужные “модули” в прошивке. Это может показаться сложным, но на деле нужно просто решить, какие режимы вам нужны, и в главной вкладке прошивки в строке
60 есть список модулей. Их можно включать и выключать цифрой 0 (выкл) и 1 (вкл). Подробнее о памяти и модулях написано в статье о системе GyverMatrixOS.
Если хочется впихнуть ВСЕ возможности в свою матрицу, придётся купить Arduino MEGA, схема подключения будет такая же, нужно просто смотреть на названия пинов. Хочется дешевле? Версии прошивки GyverMatrixOS выше 1.7 оптимизированы для ESP8266 (она же NodeMCU и Wemos) и STM32 (Blue Pill). Для ESP8266 достаточно указать MCU_TYPE 1 и подключить по схеме. Для STM32 – MCU_TYPE 2 в настройках скетча. Подробные инструкции по загрузке прошивки ищите ниже.
Если на матрице наблюдаются “цифровые глюки” (случайные вспышки групп из нескольких светодиодов разными цветами), то вот возможные причины:
• Где-то плохое соединение в схеме
• Плохое питание (слабый/шумящий БП). Поставьте электролитический конденсатор на 6V 470 мкФ максимально близко к питанию ПЛАТЫ. Также параллельно ему можно повесить керамический конденсатор на 1 мкФ
• Слишком длинный провод от пина платы к Din ленты
• Если глюк на esp8266 (NodeMCU или Wemos) – попробуйте прошивку версии 1.10
• Замечены случаи глюков на NodeMCU при питании 5 Вольт. На 4.5 Вольтах всё работает без глюков, почему так – хз. У блоков питания в дырявом металлическом корпусе около терминалов подключения есть резистор подстройки напряжения, можно выкрутить питание на 4.5 Вольта. Используйте вольтметр.


КОМПОНЕНТЫ
Каталоги ссылок на Алиэкспресс на этом сайте:
Стараюсь оставлять ссылки только на проверенные крупные магазины, из которых заказываю сам. Также по первые ссылки ведут по возможности на минимальное количество магазинов, чтобы минимально платить за доставку. Если какие-то ссылки не работают, можно поискать аналогичную железку в каталоге Ардуино модулей . Также проект можно попробовать собрать из компонентов моего набора GyverKIT .
Полный список компонентов есть в статье про матрицы https://alexgyver.ru/matrix_guide/ . Базовый набор для создания матрицы из видео:
- Купить в РФ, 60 свет/метр, 30 свет/метр
- Купить на Али ссылка, ссылка
- Black PCB / White PCB – цвет подложки ленты, чёрная / белая. В видео была чёрная
- 1m/5m – длина ленты в метрах (чтобы заказать 2 метра, берите два заказа 1m, очевидно)
- 30/60/74/96/100/144 – количество светодиодов на 1 метр ленты. В видео использовалась лента 60 диодов на метр
- IP30 лента без влагозащиты (как на видео)
- IP65 лента покрыта силиконом
- IP67 лента полностью в силиконовом коробе
- Постфикс ECO – лента чуть более низкого качества, меньше меди, на длинной ленте будет сильно проседать яркость
-
(Алик) (купить в РФ) (купить в РФ)
- Обычные aliexpress, aliexpress, искать
- Мини aliexpress, aliexpress, искать
Для использования ВСЕХ возможностей прошивки и/или больших матриц вместо Arduino NANO нужно брать более “мощные” платы. Инструкции по прошивке ищите ниже. Какую плату выбрать? Я думаю Wemos D1 mini – лучший выбор, т.к. он компактный и мощный + на борту есть Wi-Fi, и в дальнейшем с ним появятся отдельные плюшки. STM32 дешевле, но к ней нужен программатор! Если не хотите плясать с бубном конечно же. Также у STM32 какие-то проблемы с выводом изображения на ленту: оно чуть медленнее, чем у esp и avr (привет костылям от FastLED). Заметно подлагивает только в игре Runner, все остальные режимы и эффекты работают стабильно! Проверял на матрице 16х16.
ESP8266 ESP-01 светодиодная матрица. Выводим текст через web-интерфейс

Нашел пример светодиодной матрицы. Управление которой происходит через web-интерфейс. Достаточно интересная тема. Поэтому решил сделать заметку чтобы не потерять.
Сам не проверял. Да и пока нет возможности проверить. Но мне пригодятся некоторые библиотеки из данного проекта. Ссылка на проект вот тут: ESP8266 ESP-01 — NeoPixel NeoMatrix — Text Scroller.
Необходимые библиотеки можно скачать тут:
Скетч ESP8266 ESP-01 — NeoPixel NeoMatrix — Text Scroller
Настройка подключения к сети Wi-fi
Пин подключения светодиодов
Настройка светодиодной матрица
Подключаем веб интерфейс приложения который находиться в файле #include «espneotext.h»
Если вы все правильно сделали у вас должно получиться вот такой интерфейс
Бегущая строка на NodeMCU с управлением через WiFi
Еще один интересный и даже полезный проект на NodeMCU — бегущая строка с WiFi управлением. Наверняка, все из нас каждый день видят подобные устройства на улицах города. К примеру, бегущая строка широко применяется на транспорте для вывода номера маршрута, следующей остановки и навязчивой рекламы всякой всячины.
Типичная бегущая строка представляет собой светодиодную матрицу со схемой управления разверткой и микроконтроллером на борту. Текст, ползущий по этой матрице, может храниться локально, либо обновляться динамически через WiFi или GSM.
Разумеется, имея такую мощную платформу как NodeMCU (или любой другой ESP8266), бегущую строку можно сделать в домашних условиях. Установить её рационально где-нибудь в публичном месте, например в школе. Через такое информационное табло будет удобно сообщать внутренние школьные новости, температуру за окном, или даже фамилии отличников!
В нашей лаборатории мы установили бегущую строку в окне на первом этаже. С помощью этого IoT устройства мы поздравляли всех прохожих с Новым Годом и рождеством
Подключение светодиодной матрицы к NodeMCU
Будем работать с готовыми модулями матрицы под управлением микросхемы MAX7219. Подробно о работе таких модулей мы уже писали в одном из уроков для платформы Ардуино — Ардуино: светодиодная матрица с драйвером max7219.
Вкратце, у каждого такого модуля есть 10 контактов. Пять с одной стороны и столько же с другой. Это сделано для того, чтобы модули можно было соединять друг за другом в цепочку. На входе имеем:
- два контакта для питания: земля GND и +5В;
- три контакта для шины SPI: CS, DIN, CLK;
Допустим, мы хотим сделать бегущую строку из четырёх таких модулей. Берем первый модуль и подключаем его к NodeMCU согласно схеме:
| Светодиодная матрица 8×8 с MAX7219 | VCC | GND | DIN | CS | CLK |
| NodeMCU | +5V | GND | D7 | D8 | D5 |
Затем, к первому модулю подключаем остальные три:
Внешний вид стенда:
Вместо четырех отдельных модулей имеет смысл использовать готовую сборку, например, такую:
Программа для управления MAX7219 на NodeMCU
Попробуем запустить бегущую строку на матрицах, пока без возможности удаленно подключаться к NodeMCU. То есть бегущая строка будет крутить какой-то статичный текст.
По сути, это код из урока про матрицу на Ардуино. Единственное, что изменилось — это размер цепочки. Здесь мы используем не шесть матриц, а только четыре.
Подаем питание и на матрице начинает двигаться бегущая строка с текстом «Hello from RobotClass!»
Веб-сервер на NodeMCU для управления светодиодной матрицей
Теперь добавим в программу веб-сервер, который будет показывать одну единственную HTML страницу с полем для ввода текста бегущей строки и с кнопкой.
Загружаем программу на Node MCU и подаем питание. По-умолчанию, бегущая строка будет крутить текст «RobotClass». Чтобы его изменить, необходимо подключиться к WiFi точке «ESP» и зайти через браузер по адресу: 192.168.4.1
В ответ появится страница с полем для ввода текста бегущей строки и кнопкой «Set text». Вводим в поле новый текст, жмем кнопку и смотрим на бегущую строку!
Your browser does not support the video tag.
Бегущая строка на русском языке
В текущем виде наш аппарат не поддерживает русский язык. Если попытаться ввести текст на русском, на матрице вместо букв появятся utf8 коды.
Чтобы это исправить, нам потребуется дополнительная функция utf2rus. Кроме этого, добавим в программу пароль для WiFi точки.
Анимированные цифровые часы на NodeMCU ESP8266
Анимированные цифровые часы на NodeMCU ESP8266
Часы в работе:
Благодаря работе сообщество Arduino и ESP8266, эти крутые часы собрать удивительно легко!
- Просто два основных компонента: дисплей (ясно почему) и WiFi микроконтроллер.
- Пайка не требуется.
- Никаких навыков программирования не требуется, код предоставлен!
Начнем!
Шаг 1. Список компонентов
-
. . .
- Дата-кабель microUSB и зарядное устройство для телефона.
- Источник питания 5В 2А минимум.
- Соединительный штыревой разъем (мама) для подключения источника питания к кабелю питания дисплея.
Важно:
- Некоторые USB кабели предназначены только для подачи питания (зарядки) – это нормально для питания готовых часов, но для загрузки кода в ESP нам понадобится USB кабель для передачи данных/синхронизации.
- RGB матрица P3 имеет более 6000 светодиодов. Для этих часов мы никогда не будем включать их всех сразу, поэтому 2 ампера более чем достаточно. Однако, если вы планируете делать с дисплеем что-то большее, и все светодиоды будут установлены на белый цвет, рекомендуемый источник питания составляет 8 ампер.
Шаг 2. Собираем всё вместе
Соединяем все компоненты
Тут много проводов, но не беспокойтесь. Всё, что мы делаем, – это подключение одного вывода к другому.
Не торопитесь. Дважды проверьте каждое соединение до и после его установки.
Убедитесь, что провода вставлены полностью, чтобы они случайно не оторвались.
Шаг 3. Подключение ESP
Подключение модуля NodeMCU 32MB ESP8266
Подключение модуля NodeMCU 32MB ESP8266 (обратите внимание, что USB разъем находится слева, D0 – это самый правый вывод)
Во-первых, давайте установим провода перемычек на модуль ESP. Не беспокойтесь, если цвета ваших проводов отличаются от моих. Важно, какая пара выводов соединена проводом.
ПОКА НЕ подключайте модуль ESP к компьютеру. Прежде чем что-то запитывать, нам необходимо закончить с соединением компонентов.
Мы используем выводы D0-D8 и два вывода GND.
Мы можем пропустить вывод 3В, потому что модуль ESP будет питаться через USB порт.
Мы также пропускаем выводы для передачи и приема, потому что мы свяжемся с ESP через USB или WiFi.
Шаг 4. Подключение светодиодной матрицы
Затем подключите к светодиодной матрице вторые концы перемычек, которые вы только что подключили к модулю ESP.
Опять же, ниже приведена таблица с цветами проводов, которые я использовал, но ваши цвета могут отличаться. Важно то, что вы подключаете выводы ESP к матрице, как показано в таблице.
Матрица НЕ симметрична, есть правая/левая стороны и верх/низ. Обратите внимание на белые стрелки.
Разъемы на моей матрице никак не помечены, поэтому я добавил фотографию с подписями. Ваша матрица может немного отличаться.
Печатная плата светодиодной матрицы
Подключение левого разъема
| NodeMCU | Вывод матрицы | Цвет перемычки |
|---|---|---|
| D0 | STB | коричневый |
| D1 | A | красный |
| D2 | B | оранжевый |
| D3 | E | желтый |
| D4 | OE | зеленый |
| 3V | ||
| G | GND | черный |
| D5 | CLK | синий |
| D6 | D | фиолетовый |
| D7 | R0 | серый |
| D8 | C | белый |
| RX | ||
| TX | ||
| G | GND | черный |
| 3V |
Подключение левого разъема (фото с внешней стороны платы) (обратите внимание, некоторые провода будут вставлены позже)
Подключение левого разъема (фото с внутренней стороны платы) (обратите внимание, некоторые провода будут вставлены позже)
Подключение правого разъема
Теперь необходимо установить несколько перемычек, соединяющих левый разъем на светодиодной матрице с правым разъемом.
| Вход матрицы | Выход матрицы | Цвет перемычки |
|---|---|---|
| B0 | G1 | фиолетовый |
| R1 | R0 | желтый |
| B1 | B0 | серый |
| G0 | R1 | зеленый |
| G1 | G0 | синий |
Подключение правого разъема
Шаг 5. Подключение питания
Подключение питания к светодиодной матрице (я добавил дополнительный слой термоусадки, чтобы закрыть открытые металлические клеммы)
Перед надеванием дополнительного слоя термоусадки я согнул клеммы
Открытый металл я закрыл дополнительным слоем термоусадки
Подключение питания к светодиодной матрице
Кабель питания дисплея был разработан для винтовых клемм.
Можно обрезать клемму с кабеля и зачистить провод, но я решил согнуть зубцы клеммы и использовать дополнительную термоусадочную трубку, чтобы убедиться, что не будет открытого металла. Независимо от того, как вы сделаете, убедитесь, что провода имеют хороший контакт, надежно закреплены и изолированы.
Очевидно, красный провод должен быть подключен к (+), а черный провод – к (-).
Подключите другой конец провода к дисплею, снова обратив внимание на полярность: красный провод идет к VCC, а черный – к GND.
Если ваш кабель рассчитан на одновременное питание двух дисплеев, то не имеет значения, какой из кабелей вы подключаете к своему единственному дисплею. Однако ОЧЕНЬ ВАЖНО не перепутать красный (+) и черный (-).
СНОВА проверьте полярность кабеля питания, убедитесь, что ПЛЮС и МИНУС НЕ ПЕРЕПУТАНЫ!
Всё, мы закончили с подключениями. Но пока ничего не включайте!
Шаг 6. Установка Arduino IDE
Установка Arduino IDE
Чтобы загрузить код в ESP, вам понадобится программное обеспечение Arduino и несколько библиотек.
Скачайте с сайта Arduino.cc подходящую для вашей операционной системы среду разработки Arduino IDE и установите ее.
Шаг 7. Установка библиотек
Установка библиотек в Arduino IDE
После установки запустите Arduino IDE:
- Кликните на меню Скетч (Sketch) > Подключить библиотеку (Include Library) > Управлять библиотеками (Manage Libraries. )
- Найдите и установите последние версии следующих библиотек:
- AdaFruit Gfx library
- PxMatrix by Dominic Buchstaller
- ArduinoJSON version 5.13.2 by Benoit Blanchon
- WiFiManager by Tzapu
- DoubleResetDetector by Stephen Denne aka Datacute
ВАЖНО:
Обратите внимание, что на момент написания этой статьи ArduinoJSON версии 6.x beta не работает с Morph Clock. Это приводит к ошибкам компиляции. Убедитесь, что вы указали версию 5.13.2, когда устанавливали/обновляли ArduinoJSON.
Шаг 8. Установка поддержки ESP8266
Нам также необходима поддержка ESP8266.
- Закройте Менеджер библиотек, но оставайтесь в Arduino IDE.
- Перейдите в Файл (File) > Настройки (Preferences).
- Кликните на иконку справа от поля «Дополнительные ссылки для менеджера плат» (Additional Board Manager URLs)
- Вставьте этот URL отдельной строкой (последовательность значения не имеет):
- http://arduino.esp8266.com/stable/package_esp8266com_index.json
Шаг 9. Установка драйвера CH340
Установка драйвера CH340Последнее, что нужно установить, – это драйвер устройства, чтобы наш компьютер мог общаться с ESP.
Скачайте и установите драйвер на ваш компьютер. Ссылки для скачивания можно найти в статье «Работа под Windows с китайскими клонами Arduino (с преобразователем CH340G)». В этой же статье вы найдете инструкцию по установке. На NodeMCU ESP используются те же CH340/CH341, что и на клонах Arduino.
Шаг 10. Загрузка кода
Мы почти на месте.
- Скачайте и распакуйте последнюю версию Morphing Clock (анимированных часов) с Github, либо резервную копию версии от 20 ноября 2018 г. с данного сайта
- Если вы не знакомы с интерфейсом Github, то посмотрите изображение ниже
Скачивание кода с github - Распакуйте загруженный zip архив и дважды кликните по файлу MorphingClock.ino
- Если вы не знакомы с интерфейсом Github, то посмотрите изображение ниже
- Скомпилируйте и загрузите прошивку
- Перед подключением NodeMCU к своему компьютеру вы дважды проверили, всё ли правильно разведено? 🙂
- Убедитесь, что выводы на NodeMCU не закорочены какими-либо металлическими объектами на вашем столе.
- Когда вы подключите USB кабель, то услышите обычный звуковой сигнал о том, что Windows узнала USB устройство, которое было подключено.
- Установите опции в Arduino IDE > Инструменты (Tools), как показано на скриншоте.
- Номер COM порта может отличаться.
- Я изменил размер флэш-памяти на 4M(1M SPIFFS), для вашего модуля ESP этот параметр может отличаться.
Настройки платы в Arduino IDE - Кликните Загрузка (Upload). Это займет некоторое время (около 30 секунд), и будут предупреждения, но в конечном итоге код будет загружен в модуль NodeMCU.
Прошивка ESP8266
Решение проблем:
- Если загрузка закончилась неудачей из-за отсутствия подключения, убедитесь, что выбрали порт, к которому подключен модуль ESP, в Инструменты (Tools) > Порт (Port).
- Если в Инструменты (Tools) > Порт (Port) нет активных опций
- убедитесь, что установили драйвер CH340;
- убедитесь, что используете кабель для передачи данных / синхронизации. Проверьте это, подключив к компьютеру свой телефон. Если вы сможете видеть файлы на компьютере со своего телефона, то кабель нормальный.
Шаг 11. Настройка
После завершения прошивки вы должны увидеть на дисплее слово «Connecting».
Дисплей включения часовESP пытается подключиться к вашему WiFi, чтобы получить текущее время. Однако он еще не знает пароля к вашей точке доступа (AP) WiFi.
- Нажмите на ESP кнопку сброса (RST) дважды с интервалом примерно в одну секунду.
Кнопка сброса на модуле ESP - Дисплей должен будет показать вам AP: MorphClk , Pwd: HariFun и 192.168.4.1 .
Дефолтные настройки сети в часах - Сейчас ESP действует как точка доступа WiFi с названием MorphClk и паролем HariFun.
- Перейдите к своему компьютеру/телефону, чтобы изменить свое WiFi подключение с вашего WiFi на MorphClk.
- Чтобы переключить сеть WiFi, на Windows используется иконка в нижнем правом углу, на Mac – в верхнем правом.
- Вы можете увидеть предупреждение, что ваш телефон не может найти интернет. Это нормально. Ваш телефон сейчас подключен только к ESP, а ESP не подключен к интернету (пока).
- Используя вэб-браузер на своем компьютере/телефоне, откройте 192.168.4.1, это сайт, обслуживаемый ESP.
Точка доступа WiFi от часов
Вэб-интерфейс часов
Страница настроек часов
Страница настроек часов
Настройки сохранены
Переход в нормальный режим работы
Всё работаетШаг 12. Всё готово!
Всё, что осталось, – поместить часы в нормальный корпус.
Вам больше не нужен компьютер/телефон. Для питания ESP вы можете использовать обычное зарядное устройство для телефона.
