Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Бегущая строка на NodeMCU с голосовым вводом и управлением по WiFi
vvip-68/GyverStringWiFi
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Бегущая строка с голосовым управлением и связью по WiFi
Основные возмиожности проекта:
- Поддержка в бегущей строке шрифтов трех размеров: малый (5×8 точек), средний (8х13 точек), большой (10х16 точек) — настраивается в скетче при компиляции проекта
- Поддержка символов украинского и литовского языка (в этом случае — размер шрифта 5×11. 8×17, 10×20 точек)
- Поддержка контроллера с большим объемом памяти и наличием WiFi на борту — NodeMCU или Wemos D1
- Кнопка управления для включения/выключения устройства и изменения яркости
- Управление устройством — через WiFi (локальная сеть или точка доступа)
- Программа управления устройством на Andrioid
- Шесть эффектов раскраски текста бегущей строки
- Задание цвета текста для всей строки
- «Дыхание» — плавное изменение яркости
- «Цвет» — плавное изменение цвета всего текста по всей длине строки
- «Радуга» — градиент цвета текста по длинне строки
- «Цветные буквы 1» — каждая буква текста меняет цвет при движении
- «Цветные буквы 2» — каждая буква текста имеет свой цвет
Кнопка управления режимами, последовательность переключения:
Однократное нажатие кнопки
Двухкратное нажатие кнопки
- На экране матрицы в режиме бегущей строки отображается IP адрес устройства, если подключение к локальной WiFi сети установлено
ВНИМАНИЕ! Если это твой первый опыт работы с Arduino, читай инструкцию
- libraries — библиотеки проекта.
- firmware — прошивка для NodeMCU / Wemos D1
- schemes — схемы подключения компонентов
- Android — файлы с приложениями, примерами для Android и Thunkable
Ссылки оставлены на магазины
Полный список компонентов есть в статье https://alexgyver.ru/matrix_guide/
- NodeMCU http://ali.onl/1dVUhttp://ali.onl/1dVV
- Матрицы разные http://ali.ski/pw2ic
- Лента http://ali.ski/YdfMN
- Модульная гирлянда http://ali.ski/0h35RR
- Резисторы http://ali.ski/UEez2
- БП 5 Вольт http://ali.ski/3cNyjhttp://ali.ski/qSKFK
Вам скорее всего пригодится
- Первые шаги с Arduino — ультра подробная статья по началу работы с Ардуино, ознакомиться первым делом!
- Скачать архив с проектом
На главной странице проекта (где ты читаешь этот текст) вверху справа зелёная кнопка Clone or download, вот её жми, там будет Download ZIP
- Установить библиотеки в
C:\Program Files (x86)\Arduino\libraries\ (Windows x64)
C:\Program Files\Arduino\libraries\ (Windows x86) - Подключить внешнее питание 5 Вольт
- Подключить Ардуино к компьютеру
- Запустить файл прошивки (который имеет расширение .ino)
- Настроить IDE (COM порт, модель Arduino, как в статье выше)
- Настроить что нужно по проекту
- Нажать загрузить
- Скачать и установить на смартфон GyverMatrix
- Пользоваться
Подробная инструкция тут
Если проект не собирается (ошибки компиляции) или собирается, но работает неправильно (например вся матрица светится белым и ничего не происходит) — проверьте версии библиотек. Данный проект рассчитан на работу с версииями библиотек поддержки плат ESP версии 2.5.2 и библиотеки FastLED версии 3.2.9 или более новую;
Если в качестве микроконтроллера вы используете Wemos D1 — в менеджере плат для компиляции все равно выбирайте «NodeMCU v1.0 (ESP-12E)», в противном случае, если выберете плату Wemos D1 (xxxx), — будет работать нестабильно, настройки не будут сохраняться в EEPROM, параметры подключения к локальной сети будут сбрасываться каждый раз при перезагрузке, плата вместо подключения к локальной сети будет каждый раз создавать точку доступа.
В: Как скачать с этого грёбаного сайта?
О: На главной странице проекта (где ты читаешь этот текст) вверху справа зелёная кнопка Clone or download, вот её жми, там будет Download ZIPВ: Скачался какой то файл .zip, куда его теперь?
О: Это архив. Можно открыть стандартными средствами Windows, но думаю у всех на компьютере установлен WinRAR, архив нужно правой кнопкой и извлечь.В: Я совсем новичок! Что мне делать с Ардуиной, где взять все программы?
О: Читай и смотри видос http://alexgyver.ru/arduino-first/В: Эй чувак! У тебя проект не компилится. Ты файл FastLed.h в проект забыл включить. Выложи!
О: Это стандартная библиотека для FastLed для управления адресными светодиодами. Идите в менеджер библиотек и установите ее. Или скачайте с сайта производителяВ: Собрал, использую NodeMCU/Wemos. Ничего не работает! Мигает один или несколько светодиодов в начале матрицы. И всё.
О: Производители разных плат (NodeMCU, Wemos) могут использовать различные схемы соединения контактов микроконтроллера ESP8266 к выводам макетной платы. Обычно используемый в проекте пин вывода на ленту приходится или на пин D2 или на пин D4. Для проверки не подключайте сигнальный провод матрицы к микроконтроллеру, вместо этого через резистор коснитесь вывода D2 или D4 пина микроконтроллера. Большая вероятность что матрица заработает с тем или иным вариантом подключения.В: Собрал, использую NodeMCU. Эффекты работают, но нестабильно. Случайные вспышки на матрице. Буквы бегущей строки прыгают.
О: NodeMCU v3 чрезвычайно требователен к источнику питания. Ему на вход VIN нужно подавать напряжение в диапазоне 4.7-5 вольт. И не более. Описанные эффекты возникают даже при питании в 5.25 (а тем более — 5.45) вольт. Для проверки — не подключайте +5 вольт от блока питания к NodeMCU совсем, питание подавайте на матрицу непосредственно. Землю NodeMCU и ленты соедините. Подключите сигнальный пин NodeMCU ко входу DIN ленты. Подключите NodeMCU к компьютеру через USB (питание будет поступать отсюда). Должно заработать. Далее регулируйте выходное напряжение своего блока питания.
В особо тяжелых случаях, когда понижение напряжения питания системы не приводит к желаемым результатам и артефакты, вспышки, дрожание текста бегущей строки продолжается, можно использовать дополнительно схему преобразования уровня от 3.3 вольта с выхода NodeMCU к 5 вольтам входа адресной ленты:В: Не компилируется. Выбрана плата «голая ESP8266-12E». Сообщение об ошибке: «D4 was not declared in this scope.»
О: Очевидно производители библиотеки для «голой ESP8266-12E» не определили данную константу. Используйте всесто константы D4 числовое определение пина для вашей платы или выполните компиляцию проекта для плат NodeMCU или WeMos D1 R2.В: Не компилируется. В сообщении об ошибке содержатся сведения о дублирующихся библиотеках.
О: В вашей среде установлено две версии одной и той же библиотеки. Обычно это библиотека FastLED — одна версия находится в папке установки среды Ардуино (например в «C:\Program Files (x86)\Arduino\libraries»), другая — в папке документов пользователя (например «C:\Users\vvip-68\Documents\Arduino\libraries»). Удалите одну из версий библиотек и попробуйте скомпилировать снова.В: Не компилируется. В сообщении об ошибке что-то про несоответствие типов.
О: Обычно такая ситуация возникает в двух случаях:- выбрана неверная плата. Используйте NodeMCU 1.0 (ESP-12E Module) или Wemos D1 R1. Под эти платы проект собирается, под другие, возможно, нужна модификация кода.
- установлена устаревшая версия библиотек поддержки плат — например для ESP8266 версия библиотеки 2.4.2. Данный проект использует библиотеки для плат ESP8266 версии 2.5. Обновите библиотеки поддержки плат.
В: Подскажите, что не так. C подключением через точку доступа всё исправно работает, а при попытке подключиться к локальной сети не могу законнектиться через приложение. В чем может быть проблема?
О: Проблема может быть в неправильно указанном статическом адресе / параметрах сети в прошивке. В сектче по умолчанию используется адрес в сети 192.168.0.xxx. Ваш WiFi роутер в зависимости от настроек может создавать сеть в другом диапазоне. Чаще всего это 192.168.1.xxx или 192.168.100.xxx; Проверьте какую сеть создает ваш роутер и укажите в скетче и при подключении приложения к сети именно эту сеть.В: Автор неверно указал IP адрес матрицы 192.168.4.1 в режиме точки доступа. На самом деле он 192.168.4.2 — указываю его, приложение на смартфоне подключается. Правда управлять матрицей не получается все равно — она не реагирует на изменения.
О: Нет, все правильно. IP матрицы — 192.168.4.1; Адрес 192.168.4.2 получает ваш смартфон при подключении к точке доступа. Когда в приложении для подключения вы указываете адрес 192.168.4.2 — вы подключаете ваш смартфон с самому себе, а не к матрице. Естественно никакое управление матрицей работать не будет.В: Устройство создает точку доступа, телефон к ней подключается. В приложении ввожу IP адрес устройства 192.168.4.1, но соединение не происходит. Что я делаю не так?
О: Некоторые телефоны не могут передавать данные через точку доступа, пока в них активен мобильный интернет. Все передаваемые данные отправляются в интернет, вместо передачи их в точку доступа. В настройках телефона выключите мобильный интернет («Мобильные данные»). После этого телефон из приложения должен подключиться к устройству.В: В скетче есть настройки который задают имя и пароль к локальной сети. Указываю, но к сети даже не пытается подключиться В чем дело?
#define NETWORK_SSID «» // Имя WiFi сети — пропишите здесь или задайте из программы на смартфоне
#define NETWORK_PASS «» // Пароль для подключения к WiFi сети — пропишите здесь или задайте из программы на смартфоне
О: Эти настройки определяют параметры доступа к сети по умолчанию, которые используются при ПЕРВОЙ загрузке прошивки в матрицу. В этот момент они сохраняются в EEPROM и при последующих запусках имя сети и пароль извлекаются из энергонезависимой памяти и используются уже извлеченные значения, а не те, что прописаны в #define. Если вы уже запускали матрицу и ПОСЛЕ этого изменили в скетче имя и пароль сети, вам нужно также изменить значение флага, указывающее было ли уже сохранение параметров в EEPROM или еще нет. Этот флаг находится в файле eeprom.ino в первой строке
#define EEPROM_OK 0x5A // Флаг, показывающий, что EEPROM инициализирована корректными данными Измените его на любое другое значение, например 0xA5Всё собрал строго по инструкции, ничего не работает.
- Разбираем всё обратно.
- Берем платку, смотрим чтобы к ней НИЧЕГО не было подключено.
- Плату в таком состоянии подключаем кабелем USB к компьютеру.
- Берем последнюю версию прошивки и загружаем ее в микроконтроллер.
- Смотрим в сообщениях, что загрузка успешно выполнена и осуществлен перезапуск микроконтроллера, а в мониторе порта, что скетч стартовал, вывел версию прошивки, создал точку доступа StringAP
- Устанавливаем на смартфон приложение из этого проекта
- Подключаемся телефоном к точке доступа, приложение подключаем к матрице, пробуем тыкать на кнопки.
- Отключаем микроконтроллер от компьютера
- Подключаем блок питания +5 вольт и минусовой провод к матрице. Минусовой провод подключаем также к пину GND микроконтроллера. Контроллер подключаем USB кабелем к компьютеру, блок питания включаем в сеть.
- Проверяем, что напряжение питания с блока не превышает +5.25 вольт. Если больше — регулируем его до уровня 4.8 вольта.
- Сигнальным проводом с матрицы с подключенным резистором 200 Ом тыкаемся поочередно в пины D4 и D2 микроконтроллера. В каком-то из этих двух вариантов на иматрице должно сформироваться осмысленное отображение текста бегущей строки. Если ничего нет — побробуйте одновременно с этим поуправлять устройством из приложения — задать текст, включтить/выключить бегущую строку и т.д. Запоминаем подключение к какому пину дало результат.
- Отключаем микроконтроллер и блок питания. Провод +5V с блока питания подключаем к микроконтроллеру на пин его входного напряжения питания (у разных плат обозначен по разному — Vin, Vcc или +5). Сигнальный провод матрицы припаиваем к пину, который определили шагом выше. Очень желательно между пинами Vin и GND микроконтроллера припаять электролитический конденсатор номиналом 1000-4700 мкф, и параллельно ему керамический конденсатор на 33-100 нф.
- Включаем блок питания в розетку. Устройство должно заработать.
- Собираем всю конструкцию в корпус.