Coder Social home page Coder Social logo

mr-st / gyvermatrixwifi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alexgyver/gyvermatrixwifi

0.0 0.0 0.0 172.32 MB

Матрица адресных светодиодов с WiFi

Home Page: https://alexgyver.ru/led-backpack/

License: MIT License

C++ 60.93% C 39.00% Processing 0.07% Makefile 0.01%

gyvermatrixwifi's Introduction

PROJECT_PHOTO

Адресная матрица на NodeMCU с управлением по WiFi

Описание проекта

Этот проект основан на проекте AlexGyver "Матрица на адресных светодиодах с управлением по Bluetooth"
Дальнейшее развитие проекта - vvip-68 "ссылка на репозиторий"

Изменения по справнению с исходным проектом:

  • Поддержка только контроллера с большим объемом памятии наличием WiFi на борту - NodeMCU
  • Другие типы контроллеров (Arduino Mega + WiFi, Wemod D1) - не тестировались.
  • Удалена поддержка управления с кнопок
  • Оставлена одна кнопка управления для переключения режимов, отключения работающего будильника
  • Удалена поддержка управления по Bluetooth
  • Удалена поддержка платы часов реального времени
  • Управление матрицей - через WiFi (локальная сеть)
  • Синхронизация времени с NTP сервером через интернет
  • Адаптированная программа управления матрицей на Andrioid
  • Изменены настройки режимов воспроизведения эффектов
  • Настройки режимов можно изменять из программы со смартфона
    • Яркость матрицы - единая для всех режимов
    • Скорость эффектов - индивидуально для каждого режима
    • Наличие наложения часов на эффекты - индивидуально для каждого режима
    • Включение/исключение режима из списка любимых режимов
  • Настройки сохраняются в энергонезависимой памяти EEPROM
  • К режиму часов добавлен календарь - кратковременное отображение текущей даты поверх эффекта
  • Настройка сервера синхронизации времени
  • Будильник "рассвет", настройки через программу на смартфоне, 7 будильников на каждый день
  • Поддержка звука будильника / звука рассвета звуковой платой MP3 DFPlayer
  • Настройки сетевого подключения (SSID и пароль, статический IP) задаются в программе и сохраняются в EEPROM
  • Если не удается подключиться к сети (неверный пароль или имя сети) - запускается режим SmartConfig, в течение 30 секунд контроллер пытается получить настройки от приложения ESPTOUCH SmartConfig, если этого не удается, то создается точка подключения с именем MatrixAP, пароль 12341234, IP 192.168.4.1. Подключившись к точке доступа из приложения можно настроить параметры сети. Если после задания параметиров сети WiFi соединение установлено - в приложении на смартфоне виден IP адрес подключения к сети WiFi.
  • Быстрое включение режимов лампы белого или заданного цвета из приложения (вся панель светится), выключение панели, комбинация лампы с отображением часов, ночные часы (пониженная яркость).
  • Автоматическая установка яркости матрицы в зависимости от уровня внешней освещенности.
  • Два программируемых по времени режима, позволяющие, например, настроить автоматическое выключение экрана матрицы в ночное время и автоматическое же включение матрицы утром.

От исходного проекта сохранены следующие возможности:

Режимы:

  • Рисование
  • Загрузка картинок
  • Бегущая строка

Эффекты:

  • "Дыхание" яркости
  • Смена цвета
  • Снегопад
  • Блуждающий кубик
  • Радуга
  • Огонь
  • The Matrix
  • Летающие частицы
  • Звездопад
  • Шумовые эффекты с разными цветовыми палитрами
  • Анимация
  • Часы

Игры:

  • Змейка
  • Tетриc
  • Лабиринт
  • Арканоид
  • Runner
  • Flappy bird

Возможности:

  • Автоподключение к матрице при запуске
  • Настройки яркости и скорости отображения
  • Использование акселерометра в играх

Кнопка управления режимами, последовательность переключения:

Будильник сработал, идет рассвет или мелодия пробуждения

  • Любое нажатие кнопки отключает будильник

Долгое удержание кнопки (более 3 секунд)

  • Если матрица включена, она будет выключена (черный экран)
  • Если матрица выключена (черный экран) - включается режим часов

Однократное нажатие кнопки

  • Если матрица включена в режиме часов, происходит переключение часов по циклу:
    • Часы на черном фоне
    • Часы на фоне огня (камин)
    • Ночные часы
  • Если матрица включена в режим лампы (белый экран) - вкл / выкл отображения часов.
  • Если работают демо-режимы - переход к следующему режиму

Двухкратное нажатие кнопки

  • Из любого режима включается режим часов на черном фоне
  • Из режима часов переключается в режим лампы

Трехкратное нажатие кнопки

  • Включается демо-режим

Четырехкратное нажатие кнопки

  • На экране матрицы в режиме бегущей строки отображается IP адрес матрицы, если подключение к локальной WiFi сети установлено

Сброс настроек

  • При включении матрицы или при нажатии Reset удерживайте кнопку более 5 секунд. При этом загрузятся настройки по-умолчанию, а также сбросятся настройки WiFi сети.

Папки

ВНИМАНИЕ! Если это твой первый опыт работы с Arduino, читай инструкцию

  • libraries - библиотеки проекта.
  • firmware - прошивки для NodeMCU
  • schemes - схемы подключения компонентов
  • sounds - звуковые файлы будильника для размещения на SD-карте
  • Android - файлы с приложениями, примерами для Android и Thunkable
  • image decoding - папка с инструментами для загрузки картинок и гифок

Схемы

SCHEME

Материалы и компоненты

Ссылки оставлены на магазины

Полный список компонентов есть в статье https://alexgyver.ru/matrix_guide/

Вам скорее всего пригодится

Как скачать и прошить

  • Первые шаги с 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;

FAQ

Основные вопросы

В: Как скачать с этого грёбаного сайта?
О: На главной странице проекта (где ты читаешь этот текст) вверху справа зелёная кнопка Clone or download, вот её жми, там будет Download ZIP

В: Скачался какой то файл .zip, куда его теперь?
О: Это архив. Можно открыть стандартными средствами Windows, но думаю у всех на компьютере установлен WinRAR, архив нужно правой кнопкой и извлечь.

В: Я совсем новичок! Что мне делать с Ардуиной, где взять все программы?
О: Читай и смотри видос http://alexgyver.ru/arduino-first/

В: Вылетает ошибка загрузки / компиляции!
О: Читай тут: https://alexgyver.ru/arduino-first/#step-5

Вопросы по этому проекту

В: Эй чувак! У тебя проект не компилится. Ты файл DFRobotDFPlayerMini.h в проект забыл включить. Выложи!
О: Это стандартная библиотека для MP3 DFPlayer. Идите в менеджер библиотек и установите ее. Или скачайте с сайта производителя

В: Собрал, использую NodeMCU. Ничего не работает! Мигает один или несколько светодиодов в начале матрицы. И всё.
О: NodeMCU v3 чрезвычайно требователен к источнику питания. Ему на вход VIN нужно подавать напряжение в диапазоне 4.7-5 вольт. И не более. Описанные эффекты возникают даже при питании в 5.25 (а тем более - 5.45) вольт. Для проверки - не подключайте +5 вольт от блока питания к NodeMCU совсем, питание подавайте на матрицу непосредственно. Землю NodeMCU и ленты соедините. Подключите сигнальный пин NodeMCU ко входу DIN ленты. Подключите NodeMCU к компьютеру через USB (питание будет поступать отсюда). Должно заработать. Далее регулируйте выходное напряжение своего блока питания.

В: Не компилируется. Выбрана плата "голая 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. Обновите библиотеки поддержки плат.

В: Что такое ESPTOUCH SmartConfig и как настроить устройство БЕЗ ручного подключения к SoftAP?
О: Данная технология позволяет передать настройки в устройство без создания программной точки достпуа, посредством специального протокола. Все, что необходимо сделать — это установить приложение EspTouch: SmartConfig for ESP8266, ESP32. Ваш телефон должен быть подключен к вашему домашнему роутеру. Запускайте приложение, вбивайте пароль от сети и нажимайте "confirm". При этом, матрица сканирует все пролетающие мимо пакеты (не важно, знает ли она SSID/Пароль) и хитро анализируя длину пакетов, расшифровывает настройки. После того, как матрица получит настройки, она автоматически переключится в режим DHCP

В: Как сбросить настройки?
О: Зажать кнопку и нажать Reset (или переподключить питание), чтобы матрица перезагрузилась. Держать кнопку не отпуская более 5 секунд. При этом, настройки Wi-Fi и всех эффектов сбрасываются, матрица 30 секунд попробует поискать SmartConfig а затем включит точку доступа.

Полезная информация

gyvermatrixwifi's People

Contributors

alexgyver avatar gyverlibs avatar archaron avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.