ОГНЕННАЯ WIFI ЛАМПА

ВНИМАНИЕ!!! Архив проекта обновлён, библиотека FastLED обновлена до версии 3.2.9. Данная версия поддерживает ядро esp версии 2.5.2. Так что ставим ядро для esp версии 2.5.2, свою версию FastLED удаляем и ставим новую FastLED 3.2.9 из архива проекта!

14.11.19 Версия 1.5.5:
– Поправлены глюки во время рассвета

Для WEMOS выбираем плату LOLIN(WEMOS) D1 R2 & mini
Для NodeMCU выбираем NodeMCU 1.0 (ESP-12E Module)

• Добавлено приложение под iPhone! (читай ниже)
• Добавлена прошивка от Whilser (читай ниже)
• Добавлена прошивка + приложение от gunner47 (читай ниже)
• Добавлена прошивка + вебморда от lakec (читай ниже)
• Добавлены корпуса под 3D печать (читай ниже)

подписаться на обновления

Представляю вашему вниманию светильник на адресных светодиодах с кучей эффектов, управлением по Wi-Fi и функцией будильник-рассвет!

Железо

  • Проект собран на базе микроконтроллера ESP8266 в лице платы NodeMCU или Wemos D1 mini (неважно, какую из этих плат использовать!).
  • Вместо адресной ленты используется гибкая адресная матрица 16×16, что выходит дешевле ленты (матрица 16×16 стоит 1500р, она состоит из 256 диодов с плотностью 100 штук на метр. Лента такой же плотности стоит 1000р за метр (за 100 светодиодов). Для склейки матрицы размером 16×16 понадобится 2.5 метра ленты, то есть 2500р. А готовая матрица стоит на 1000р дешевле!).
  • Система управляется со смартфона по Wi-Fi, а также “оффлайн” с кнопки на корпусе (сенсорная кнопка на TTP223).
    • Для прошивки от AlexGyver используется приложение GyverLamp для Android и GyLamp для iOS
    • Для прошивки от gunner47 используется приложение Led Lamp (.apk) для Android и Arduino Lamp для iOS

Фишки

  • 14 крутых эффектов
  • Настройка скорости, яркости и “масштаба” для каждого эффекта
  • Настройка эффектов со смартфона
  • Работа системы как в локальной сети, так и в режиме “точки доступа”
  • Встроенный Wi-Fi менеджер для удобной настройки сети
  • Система получает точное время из Интернета
  • Управление кнопкой: смена режима, настройка яркости, вкл/выкл
  • Режим будильник-рассвет: менеджер будильников на неделю в приложении

Корпус

  • Корпус выглядит очень презентабельно, несмотря на простоту и доступность материалов
  • Рассеиватель – матовый плафон из Леруа Мерлен
  • Остальные элементы корпуса – канализационные трубы, в лучших традициях жанра!

ПОДРОБНОЕ ВИДЕО ПО ПРОЕКТУ

  • В данном видео показан полный и максимально подробный процесс разработки и изготовления устройства, а также обзор его возможностей и функций.

  • Понятные схемы, OpenSource прошивки с комментариями и подробные инструкции это очень большая работа. Буду рад, если вы поддержите такой подход к созданию Ардуино проектов! Основная страница пожертвовать – здесь.

ЕЩЁ ВИДОСЫ

ЭПИЧНАЯ версия лампы!

Якубовичу подарили огненную лампу! 46:01

Видос с лампой на Алике =)

ПРОШИВКИ И ИНСТРУКЦИИ

Здесь собрано краткое описание и инструкции к прошивкам от разных авторов. На данный момент самой прогрессивной прошивкой является версия от gunner47, основанная на версии 1.4 от AlexGyver. Там очень много всего улучшено, доработано и добавлено, для управления используется отдельное приложение под iOS и Android (см. ниже).

  • Для прошивки от AlexGyver используется приложение GyverLamp для Android и GyLamp для iOS
  • Для прошивки от gunner47 используется приложение Led Lamp (.apk) для Android и Arduino Lamp для iOS

ВЕРСИЯ УСТАРЕЛА, СМОТРИТЕ V1.5+

Конфигурация прошивки


Перед загрузкой прошивки нужно настроить под себя некоторые моменты:

  • DAWN_BRIGHT – яркость рассвета в максимальной точке (перед отключением)
  • DAWN_TIMEOUT – время в минутах, которое рассвет будет жарить на максимум после указанного времени будильника
  • GMT – смещение по часовому поясу
  • ESP_MODE – режим работы WiFI системы (читай ниже)

Если вы используете не матрицу, а спираль из ленты, то нужно настроить под себя параметры матрицы:

  • WIDTH – ширина матрицы, она же количество светодиодов в одном витке спирали
  • HEIGHT – высота матрицы, она же количество витков спирали
  • MATRIX_TYPE – тип матрицы. Гибкая матрица 16×16 имеет тип 0, спиральная матрица из ленты – тип 1
  • Полный гайд по матрицам есть тут: https://alexgyver.ru/matrix_guide/

Настройка Wi-Fi


  • Перед подключением к ПК обязательно подключать внешнее питание!
  • В прошивке версии 1.2 и выше можно задать статический IP адрес лампы! Искать адрес, как показано в видео, не нужно
  • Для режима работы “Точка доступа“:
    • ВНИМАНИЕ! В этом режиме система не подключается в Интернету и не получает текущее время, т.е. режим будильника не работает!
    • В прошивке настройка ESP_MODE 0
    • Чуть ниже IP_AP[] = {192, 168, 4, 66}; – статический IP лампы для подключения
    • Загрузить прошивку по инструкции ниже
    • После загрузки прошивки открыть монитор порта, перезагрузить систему кнопкой Reset на плате, ожидать вывод информации в порт, там будет указан IP лампы для связи по UDP
    • Подключиться со смартфона к лампе по WiFi, название точки AP_SSID (по умолч. GyverLamp), пароль AP_PASS (по умолч. 12345678)
    • Открыть приложение, в настройках указать IP, подсмотренный два пункта ранее
  • Для режима работы “Локальная сеть“:
    • В прошивке ESP_MODE 1
    • Чуть ниже IP_STA[] = {192, 168, 1, 66}; – статический IP лампы для подключения
    • Загрузить прошивку по инструкции ниже
    • Подключиться к точке доступа с именем AC_SSID (по умолч. AutoConnectAP), пароль AC_PASS (по умолч. 12345678)
    • Должно автоматически открыться окно конфигурации точки доступа
    • Если не открылось: открыть монитор порта в Arduino IDE, перезагрузить плату, узнать IP точки доступа, открыть на смартфоне браузер, в строку адреса вписать полученный IP адрес, перейти. Должна открыться страница конфигурации WiFi Manager
    • Нажать Configure, откроется список точек доступа. Выбрать свой роутер, указать пароль
    • Перезагрузить плату, смотреть в монитор порта, узнать локальный IP лампы
    • Открыть приложение, в настройках указать IP
  • Всё должно работать!

Работа с приложением


  • Приложение есть под Android, скачать можно с PlayMarket’a, вот ссылочка
  • Также появилось приложение для iOS, ссылочка вот
  • В приложении можно настроить параметры текущего эффекта или сменить эффект на другой. После смены эффекта или изменения его параметров настройки сохраняются в энергонезависимую память через 30 секунд. При смене эффекта настройки сразу же сохраняются.
  • В приложении можно настроить 7 будильников на каждый день недели. При открытии окна будильников текущие параметры будильников подгружаются из лампы. После изменения состояния будильника или его времени настройки сразу же сохраняются в энергонезависимую память, т.е. лампе не страшна перезагрузка.
  • Логика работы рассвета такая: свет плавно включается за указанное время до будильника, разгорается до максимума ко времени будильника, и горит так ещё DAWN_TIMEOUT минут, затем отключается. Прервать рассвет можно кликом по кнопке на корпусе.

Управление кнопкой

  • Одиночный клик: выкл/выкл свет, также выключение рассвета
  • Двойной клик: смена режима
  • Тройной клик: смена режима назад
  • Удержание: смена яркости

Общая информация


“Официальная” прошивка проекта, описание возможностей есть в самом начале этой страницы

Версия 1.5

  • Исправлено непереключение кнопкой с первого на последний режимы
  • Добавлена настройка для отключения кнопки (для корректной работы схемы без кнопки)
  • Убран статический IP для локального режима (вызывал проблемы)
  • Добавлена возможность сброса настроек WiFi удержанием кнопки при включении лампы (~7 секунд)
  • Добавлен вывод IP адреса на лампу по пятикратному нажатию на кнопку

Версия 1.5.1

  • Оптимизировано обращение к серверу времени (нет подвисаний при отсутствии интернета)
  • Оптимизация под пины NodeMCU
  • ВНИМАНИЕ! Изменения в выборе платы (Инструменты/Плата) для загрузки прошивки!
    • Для WEMOS выбираем плату LOLIN(WEMOS) D1 R2 & mini
    • Для NodeMCU выбираем NodeMCU 1.0 (ESP-12E Module)

Версия 1.5.2

  • Исправлен незначительный баг с таймером
  • Исправлено падение по WDT при выводе IP
  • Исправлен баг с переназначением времени будильника
  • Исправлено переключение с первого на последний режимы
  • Приложение автоматически получает настройки с кнопки
  • Бегущая строка с текущим временем во время рассвета

Версия 1.5.3

  • Увеличена плавность рассвета
  • Поправлен баг с отображением времени рассвета

Версия 1.5.4:

  • Поправлены глюки во время рассвета

Версия 1.5.5:

  • Поправлены ещё глюки во время рассвета

Конфигурация прошивки


Перед загрузкой прошивки нужно настроить под себя некоторые моменты:

  • DAWN_BRIGHT – яркость рассвета в максимальной точке (перед отключением)
  • DAWN_TIMEOUT – время в минутах, которое рассвет будет жарить на максимум после указанного времени будильника
  • GMT – смещение по часовому поясу
  • ESP_MODE – режим работы WiFI системы (читай ниже)

Если вы используете не матрицу, а спираль из ленты, то нужно настроить под себя параметры матрицы:

  • WIDTH – ширина матрицы, она же количество светодиодов в одном витке спирали
  • HEIGHT – высота матрицы, она же количество витков спирали
  • MATRIX_TYPE – тип матрицы. Гибкая матрица 16×16 имеет тип 0, спиральная матрица из ленты – тип 1
  • Полный гайд по матрицам есть тут: https://alexgyver.ru/matrix_guide/

Настройка Wi-Fi


  • Перед подключением к ПК обязательно подключать внешнее питание!
  • В прошивке версии 1.5 и выше статический IP задать нельзя! Вы можете присвоить лампе IP по её MAC адресу в настройках роутера.
  • Для режима работы “Точка доступа“:
    • ВНИМАНИЕ! В этом режиме система не подключается в Интернету и не получает текущее время, т.е. режим будильника не работает!
    • В прошивке настройка ESP_MODE 0
    • Чуть ниже IP_AP[] = {192, 168, 4, 66}; – статический IP лампы для подключения
    • Загрузить прошивку по инструкции ниже
    • Подключиться со смартфона к лампе по WiFi, название точки AP_SSID (по умолч. GyverLamp), пароль AP_PASS (по умолч. 12345678)
    • Открыть приложение, в настройках указать IP, пользоваться
  • Для режима работы “Локальная сеть“:
    • В прошивке ESP_MODE 1
    • Загрузить прошивку по инструкции ниже
    • Подключиться к точке доступа с именем AC_SSID (по умолч. AutoConnectAP), пароль AC_PASS (по умолч. 12345678)
    • Должно автоматически открыться окно конфигурации точки доступа
      • Если не открылось: открыть монитор порта в Arduino IDE, перезагрузить плату, узнать IP точки доступа, открыть на смартфоне браузер, в строку адреса вписать полученный IP адрес, перейти. Должна открыться страница конфигурации WiFi Manager
    • Нажать Configure, откроется список точек доступа. Выбрать свой роутер, указать пароль
    • Перезагрузить плату
    • Открыть приложение, в настройках указать IP лампы
      • IP можно узнать из монитора порта в Arduino IDE
      • Или кликнув 5 раз по кнопке: адрес будет выведен на матрицу в виде бегущей строки
  • Всё должно работать!

Как узнать IP лампы?


  • Подключите плату к компьютеру, откройте монитор порта, перезагрузите плату (кнопка RST), адрес будет выведен в монитор
  • В версии прошивки от AlexGyver 1.5 и выше можно вывести IP адрес лампы на матрицу (пробегает строка с адресом), кликнув 5 раз по кнопке лампы.

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


В случае проблем с работой лампы можно выполнить сброс настроек WiFi, включив питание с зажатой кнопкой:

  • Подайте питание
  • Зажмите кнопку (убедитесь, что кнопка активировалась)
  • Подождите ~7 секунд
  • Настройки сброшены!

Работа с приложением


  • Приложение есть под Android, скачать можно с PlayMarket’a, вот ссылочка
  • Также появилось приложение для iOS, ссылочка вот
  • В приложении можно настроить параметры текущего эффекта или сменить эффект на другой. После смены эффекта или изменения его параметров настройки сохраняются в энергонезависимую память через 30 секунд. При смене эффекта настройки сразу же сохраняются.
  • В приложении можно настроить 7 будильников на каждый день недели. При открытии окна будильников текущие параметры будильников подгружаются из лампы. После изменения состояния будильника или его времени настройки сразу же сохраняются в энергонезависимую память, т.е. лампе не страшна перезагрузка.
  • Логика работы рассвета такая: свет плавно включается за указанное время до будильника, разгорается до максимума ко времени будильника, и горит так ещё DAWN_TIMEOUT минут, затем отключается. Прервать рассвет можно кликом по кнопке на корпусе.

Управление кнопкой

  • Одиночный клик: выкл/выкл свет, также выключение рассвета
  • Двойной клик: смена режима
  • Тройной клик: смена режима назад
  • Удержание: смена яркости

Общая информация


Модифицированная прошивка от gunner47 с форума сообщества.

Настройки


Подключение:

  • В режиме локальной сети с роутером (по умолчанию)
    • Имя сети: LedLamp
    • Пароль: 31415926 (число Пи. Можно изменить в Constants.h)
    • IP адрес для приложения: роутер выдаёт автоматически, в приложении нажмите “найти лампу”
  • В режиме точки доступа (связь напрямую со смартфоном):
    • Имя сети: LedLamp (можно изменить в Constants.h)
    • Пароль: 31415926 (число Пи. Можно изменить в Constants.h)
    • IP адрес для приложения: 192.168.4.1

Управление с кнопки:

  • Одиночный клик: включение/выключение
  • Двойной клик: следующий эффект лампы
  • Тройной клик: предыдущий эффект лампы
  • Два четверных клика: режим обновления прошивки по воздуху (ожидание второго четверного клика – 30 секунд; ожидание прошивки после двух четверных кликов – 5 минут)
  • Пятикратный клик: вывод IP бегущей строкой
  • Шестикратный клик: вывод текущего времени бегущей строкой, если время было синхронизировано
  • Семикратный клик: переключение рабочего режима лампы (ESP_MODE 0 -> 1 и 1 -> 0), сохранение в энергонезависимую память и рестарт
  • Удерживание кнопки: изменение яркости от меньшей к большей; при повторном удерживании – от большей к меньшей
  • Одиночный клик + удерживание кнопки: изменение скорости от меньшей к большей; при повторном клике + удерживании – от большей к меньшей
  • Двойной клик + удерживание кнопки: изменение масштаба от меньшего к большему; при повторном двойном клике + удерживании – от большего к меньшему
  • Удержание кнопки при запуске: сброс настроек WiFi (если активна настройка ESP_RESET_ON_START)

Настройки в файле Constants.h:

  • ESP_USE_BUTTON: если лампа собрана без физической кнопки, нужно закомментировать или удалить строку, иначе будут фантомные срабатывания кнопки, увеличение яркости и т.д.
  • ESP_RESET_ON_START: true – при старте с зажатой кнопкой все хранимые настройки стираются, false (по умолчанию) – не стираются
  • ESP_CONF_TIMEOUT: время ожидания ввода имени WiFi сети и её пароля при первом старте в секундах; если истекло – лампа меняет рабочий режим на ESP_MODE = 0 (точка доступа), сохраняет его и перезагружается; до принудительного переключения семикратным кликом будет работать в ESP_MODE = 0
  • MOSFET_PIN: номер пина esp модуля для подключения MOSFET транзистора, который отключает питание матрицы во время, когда лампа/будильник/вывод времени выключены; может быть использован для экономии энергии, если лампа питается от аккумуляторов
  • MOSFET_LEVEL: уровень сигнала для MOSFET транзистора, при котором на матрицу подаётся питание, по умолчанию HIGH
  • ALARM_PIN: номер пина esp модуля, на который подаётся сигнал во время срабатывания рассвета + будильника (может быть использован для подключения проигрывателя и т.д.)
  • ALARM_LEVEL: уровень сигнала, который выводится при срабатывании рассвета + будильника, по умолчанию HIGH
  • AP_PASS: пароль точки доступа для рабочего режима ESP_MODE = 0 И ПАРОЛЬ ДЛЯ ОБНОВЛЕНИЯ ПРОШИВКИ ПО ВОЗДУХУ
  • SUMMER_WINTER_TIME: для тех, кому нужен переход на зимнее/летнее время – оставить строку, остальным – закомментировать или удалить
  • LOCAL_OFFSET: смещение от начального меридиана в минутах (часовой пояс), ТОЛЬКО ДЛЯ ТЕХ, У КОГО НЕТ ПЕРЕХОДА НА ЗИМНЕЕ/ЛЕТНЕЕ ВРЕМЯ
  • SUMMER_OFFSET: смещение от начального меридиана в минутах (часовой пояс) для летнего времени, ТОЛЬКО ДЛЯ ТЕХ, У КОГО ЕСТЬ ПЕРЕХОД НА ЗИМНЕЕ/ЛЕТНЕЕ ВРЕМЯ
  • WINTER_OFFSET: смещение от начального меридиана в минутах (часовой пояс) для зимнего времени, ТОЛЬКО ДЛЯ ТЕХ, У КОГО ЕСТЬ ПЕРЕХОД НА ЗИМНЕЕ/ЛЕТНЕЕ ВРЕМЯ
  • PRINT_TIME: вывод текущего времени бегущей строкой по расписанию (если время было синхронизировано): 0U – не выводить время бегущей строкой; 1U – вывод времени каждый час; 2U – каждый час + каждые 30 минут; 3U – каждый час + каждые 15 минут; 4U – каждый час + каждые 10 минут; 5U – каждый час + каждые 5 минут; 6U – каждый час + каждую минуту
  • NIGHT_HOURS_START: начало действия “ночного времени” (в минутах от начала суток, 1380U = 23:00), текущее время бегущей строкой будет выводиться с яркостью NIGHT_HOURS_BRIGHTNESS
  • NIGHT_HOURS_STOP: конец действия “ночного времени” (в минутах от начала суток, 479U = 7:59)
  • DAY_HOURS_BRIGHTNESS: яркость для вывода текущего времени бегущей строкой днём; если -1, будет использована яркость текущего эффекта (она известна, даже когда матрица выключена), [0..255]
  • NIGHT_HOURS_BRIGHTNESS: яркость для вывода текущего времени бегущей строкой ночью; если -1, будет использована яркость текущего эффекта (она известна, даже когда матрица выключена), [0..255]
  • * константы DAY_HOURS_BRIGHTNESS и NIGHT_HOURS_BRIGHTNESS используются только, когда матрица выключена, иначе будет использована яркость текущего эффекта
  • USE_MQTT: true – используется управление по mqtt, false – нет, по умолчанию false; команды для mqtt подробно расписаны в MqttManager.h в комментариях, управление из приложения и по mqtt унифицировано

Основные изменения


  • Полный список изменений смотри в посте автора в сообществе
  • Более стабильная работа (исправлены ошибки, приводящие к циклической перезагрузке, к частым подтормаживаниям без доступа к интернету, к самопроизвольному изменению яркости в сборках без кнопки; исправлено выключение будильника, если он сработал при изначально выключенной лампе).
  • Разработано новое android приложение. Умеет сканировать сеть и искать лампы. Умеет запоминать несколько ламп и переключаться между ними. Позволяет более точно выставить все параметры. Раздел Избранные эффекты циклически переключает понравившиеся режимы по статическому/случайному таймеру.
  • Добавлено два новых эффекта: Светлячки со шлейфами и Белый свет.
  • Обновление прошивки по воздуху. (отдельная инструкция) Актуально для тех, кто уже собрал лампу, но всё ещё экспериментирует с прошивкой.
  • Включение (подача питания или перезагрузка модуля) при зажатой кнопке приводит к стиранию запомненных настроек WiFi сети.
  • При переносе лампы в новую WiFi сеть (при недоступности ранее запомненной) лампа разворачивает WiFi точку доступа для ввода имени и пароля новой WiFi сети. Не нужна перепрошивка, если не захардкожен статический IP.
  • В гитхаб репозитории выложены файлы прошивки, android приложение и файл thunkable проекта для желающих всё настроить/переделать под себя.

Приложение


Для прошивки от gunner47 используется отдельное приложение, с прошивкой от AlexGyver оно несовместимо!

  • Для Android: установочный .apk файл есть в архиве с проектом в папке Android, там же есть исходник (файл .aia) для Thunkable. Скачайте и запустите .apk файл из файлового менеджера смартфона.
  • Для iOS: юзер Stmf сделал приложение Arduino Lamp под iOS, скачать можно из App Store

Общая информация


Модифицированная прошивка от Whilser c форума сообщества.

Основные изменения


  • Поддержка работы с MQTT сервером
  • Нативная интеграция с Home Assistant методом Discovery
  • Интеграция с Home Assistant, Apple Home Kit, Алисой
  • Возможность ОТА обновления через сетевой порт с интересным эффектом “матрица” во время обновления
  • Возможность выбирать цвет из палитры Home Assistant либо через MQTT брокер
  • Автоматическое обнаружение подключенной сенсорной кнопки и корректная работа без нее
  • Корректная работа в случае недоступности MQTT брокера (адаптивное подключение)
  • Возможность настроить работу как с MQTT брокером, так и без него без повторной компиляции прошивки.
  • Добавлен веб интерфейс управления. Для управления нужно перейти по адресу http://ESP-ID.local/. Вместо ID нужно вписать ID чипа ESP8266. Он отображается в веб интерфейсе при начальной настройке
  • Управление по http – для интеграции с Яндекс Алисой через Домовенка Кузю

Инструкции


Все инструкции смотри на странице проекта на портале sprutAI

Общая информация


Модифицированная прошивка от lakec c форума сообщества.

Основные изменения


Веб-интерфейс для управления:

  • Изменение режимов, скорости, яркости, масштаба эффектов
  • Что не реализовано: выключение лампы, функция рассвет

Инструкции


  • Качаем библиотеку arduinoWebSockets версии 2.1.1
  • Качаем библиотеку ArduinoJson версии 5.13.5
  • Читаем как установить ESP8266 Sketch Data Upload, если он у вас не установлен (очень внимательно читать подзаголовок “Загрузка файлов в файловую систему”).
  • После установки ESP8266 Sketch Data Upload, качаем архив из этого сообщения и распаковываем в папку с вашими скетчами Arduino.
  • Редактируем файл config.json из папки GyverLamp_v2.0/data. Вместо dd-wrt пишем ваше название точки доступа. Пароль qwerty12345 также меняете на пароль от своей точки доступа.
  • Открываем файл GyverLamp_v2.0 в arduino ide. Идем в меню инструменты – выбираем flash size: 4M (3M SPIFFS).
    Загружаем скетч на еспшку.
  • Идем в меню инструменты – выбираем ESP8266 Sketch Data Upload и ждем пока все файлы загрузятся.
  • Открываем терминал и перезагружаем устройство.
  • Ищем строку что то вроде этой Connect to http://gyverlamp.local or http://192.168.1.57 HTTP server started
  • В браузере идем по адресу gyverlamp.local и управляем устройством в свое удовольствие
  • Если адрес gyverlamp.local не работает, то переходим по 192.168.1.57 или тому адресу, что высветится у вас в терминале.
  • Имейте ввиду, страница грузится не быстро, во время загрузки страницы индикация подтормаживает, но это не критично.

Скачать прошивку и всю актуальную информацию можно с гитхаб разработчика, вот прямая ссылка на архив. Описание с гитхаб:

Из оригинала было убрано:

  • будильник;
  • работа с Wi-Fi (у ардуинки его нет);
  • эффект “Светляки” – под него не хватило места в ОЗУ;

Что добавлено (как ни странно, но да, было что добавить):

  • эффект “Светляки” заменен на “Белая лампа”;
  • сохранение настроек всех эффектов, в т.ч. текущего режима в энергонезависимой памяти. Производится пятикратным нажатием кнопки, подтверждением будет выключение и включение лампы;
  • регулирование скорости (speed) эффектов путем двойного нажатия и удержания кнопки на втором нажатии;
  • регулирование масштаба (scale) эффектов путем тройного нажатия и удержания кнопки на третьем нажатии;
  • индикация уровня яркости/скорости/масштаба вертикальной полосой красного/ зеленого/синего цветов соответственно;

Регулировка уровня яркости/скорости/масштаба реверсивная, т.е. при повторном регулировании изменения будут производиться в обратную сторону (сначала в бОльшую, затем в мЕньшую).

Для работы всех режимов кнопки ОБЯЗАТЕЛЬНО нужно заменить у себя папку GyverButton на аналогичную с этого сайта (с гитхаб прошивки). Совместимость с оригиналом сохранилась.

Подключение ардуино производить к тем же пинам, что и esp8266.

ПОЧЕМУ НЕ РАБОТАЕТ?

  • ЕЩЁ РАЗ ВНИМАТЕЛЬНО ГЛАЗАМИ ПРОЧИТАТЬ ГАЙД ПО ЗАГРУЗКЕ В КОНЦЕ ЭТОЙ СТРАНИЦЫ. КАЖДЫЙ ПУНКТ, КАЖДУЮ БУКОВКУ!

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

  • Старая версия Arduino IDE – ставьте самую свежую версию, ниже 1.8.x скорее всего работать ничего не будет! Не ставьте IDE из магазина Windows 10 – делайте всё по инструкции, ставьте обычную как в инструкции.

  • Проверьте подключение и питание. Попробуйте запустить от хорошего USB зарядника на 5V 2A

  • Существует проблема с согласованием уровней: ESP выдаёт 3.3 вольта управляющий сигнал, а лента питается от ~5V и хочет приблизительно такой же сигнал принять. Лента/матрица перестаёт воспринимать сигнал от esp при напряжении питания ленты выше 5.0 Вольт. Если у вас наблюдаются артефакты и глюки при работе с лампой, особенно на низком уровне яркости – то нужно понижать напряжение БП (бывают БП с подстройкой) хотя бы до 4.8 Вольт. Либо использовать лампу на максимальной яркости – это частично решает проблему (БП проседает ниже 5V). Можно попробовать модуль для согласования логических уровней или использовать грязный хак с диодом по питанию первого светодиода (о нём позже).

  • Проверьте, не “зажата” ли кнопка сразу при запуске (на сенсорной кнопке горит лампочка, если она нажата)

  • Попробуйте прошивку от gunner47 (см. выше), она лучше по многим параметрам и в ней исправлены некоторые ошибки

  • Иногда китайцы паяют удешевлённые ESP чипы на плату, возможно вам не повезло с партией. Есть информация, что нужен чип ESP с памятью Winbond

  • Если ESP8266/ESP32/NodeMCU/Wemos D1/ESP-based устройство не прошивается, не подключается к точке доступа, самопроизвольно перезагружается, то скачиваем ESP Download Tool, запускаем для ESP8266, выбираем порт и очищаем чип микроконтроллера нажатием на кнопку Erase

  • Убедитесь, что для загрузки правильно выбрана плата:

    • Для WEMOS выбираем плату LOLIN(WEMOS) D1 R2 & mini
    • Для NodeMCU выбираем NodeMCU 1.0 (ESP-12E Module)

    Если нужная плата не появилась в списке после установки ядра ESP, удалите полностью Arduino IDE и папку C:\Users\юзернейм\AppData\Local\Arduino15, и установите заново свежую версию IDE и ядра

  • Убедитесь, что используете правильную версию приложения:

    • Для прошивки от AlexGyver используется приложение GyverLamp для Android и GyLamp для iOS
    • Для прошивки от gunner47 используется приложение Led Lamp (.apk) для Android и Arduino Lamp для iOS
  • Могут быть проблемы при питании от некачественного блока питания. По возможности добавляйте конденсатор по питанию платы, лучше всего электролит 470 мкФ и керамику 0.1 мкФ.

  • Если не подходит пароль для подключения к лампе (к WiFi менеджеру, для настройки доступа к роутеру) – неизвестная проблема, можно заставить точку менеджера работать без пароля.

    Прошивка от AlexGyver: главная вкладка прошивки, строка ~199, убрать параметр autoConnectPass

    wifiManager.autoConnect(autoConnectSSID, autoConnectPass);  // было
    wifiManager.autoConnect(autoConnectSSID);  // сделать так

    Прошивка от gunner47: главная вкладка прошивки, строка ~364, убрать параметр AP_PASS

    wifiManager.autoConnect(AP_NAME, AP_PASS); // было
    wifiManager.autoConnect(AP_NAME); // сделать так

    И можно будет подключиться к лампе без пароля для настройки роутера.

  • Лампа не сможет подключиться к роутеру с защитой WEP, в настройках роутера меняйте на любой WPA

  • Другое решение можно найти в теме нашего форума с обсуждением проблем с огненной лампой

СХЕМЫ, ПЕЧАТНЫЕ ПЛАТЫ

Схема с NodeMCU

Схема с Wemos mini

EPIC лампа

Схема матрицы

Заметки

Если вы не ставите кнопку – отключите её в прошивке! Это самая первая настройка. Если вместо матрицы используется лента – нужно ставить резистор как в гайде, на матрице резистор уже припаян.

ПИТАНИЕ ОТ АКБ

Всё работает =)

Заметки

Лампу можно питать напрямую от Li-Ion аккумуляторов (например 18650), она спокойно работает от 3 Вольт. От 2.5 уже откровенно уходит в красные тона и работает тускло, но всё ещё работает.

Схема

Заметки

Обязательно ставим модуль зарядки и защиты на TP4056 (ссылка). Он защитит аккумулятор от переразряда и короткого замыкания, а также позволит заряжать АКБ от USB. Аккумуляторы ставятся параллельно, можно поставить сколько угодно.

ВАРИАНТЫ КОРПУСА

Остальные варианты реализации корпуса смотри в теме проекта на форуме сообщества!

В моём проекте используется корпус из сантеха, но Евгений Пахтусов поделился своей 3D моделью стойки под плафон из Леруа, и владельцы 3D принтера могут себе его напечатать. Файлы для печати находятся в архиве проекта в папке 3D_print. Перекачайте архив, если у вас её нет.

Также недавно поступило предложение использовать подставку для стерилизации банок. неожиданно, правда? 😀

Версия на ленте 60шт/м. Всего 12х15 матрица. Крышка и основание – PLA, труба – sbs. 3D модели по ссылке https://yadi.sk/d/ogIBp9Ex-eTd1g. Также модели добавлены в архив проекта

Ссылка на пост в сообществе. Версия на матрице 16×16. Основа: 100-ая муфта разделенная пополам с 100-й заглушкой . Сердцевина 50 труба. Колба: ваза прозрачная 100 рублёвая, покрашенная изнутри белым баллончиком.

Ещё вариант: Леруашный плафон и подставка из вентиляционной муфты переходной 100х125 и 100 гладкой. Больше информации в записи на стене

Данным корпусом поделился Skrebnev Eugene, скачать можно с thingiverse

Комрад Радион предложил использовать квадратный плафон ГРЁНЕ из ИКЕИ с напечатанной подставкой. Скачать .stl файл можно с Яндекс.диска.

МАТЕРИАЛЫ И КОМПОНЕНТЫ

Ссылки на магазины, с которых я закупаюсь уже не один год

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

Первые ссылки по возможности оставлены на одного и того же продавца, чтобы сэкономить на доставке. Остальные ссылки – резервные. Нажимайте ссылки колёсиком мыши, чтобы открыть в новом окне!

КОМПЛЕКТ ДЛЯ СБОРКИ ЛАМПЫ! 1600 РУБЛЕЙ

NodeMCU или Wemos mini? Абсолютно не имеет значения, платы одинаковые. Отличаются по размеру и цене.

Плафоны и прочее для ЭПИЧНОЙ версии лампы

В Леруа плафончики завезли, налетай!

всё для пайки
аккумы, bms
arduino, модули
мультиметры
инструменты
бп и модули

ПРОШИВКА И НАСТРОЙКА

Изучить гайд для новичков, чтобы избавить окружающих от глупых вопросов.

Загружать прошивку желательно до подключения компонентов, чтобы убедиться в том, что плата рабочая. После сборки можно прошить ещё раз, плата должна спокойно прошиться. В проектах с мощными потребителями в цепи питания платы 5V (адресная светодиодная лента, сервоприводы, моторы и проч.) необходимо подать на схему внешнее питание 5V перед подключением Arduino к компьютеру, потому что USB не обеспечит нужный ток, если например лента его потребует. Это может привести к выгоранию защитного диода на плате.
В видео было сказано, что нужно ставить версию ядра esp 2.5.0, потому что что-то не работало.
Проблема была в библиотеке FastLED, точнее в её версии 3.2.0, которая показана в видео и в инструкции
На данный момент (вечер 15.06.2019) библиотеку FastLED я заменил на версию 3.2.9, которая работает с ядром esp версии 2.5.2 и выше

  1. Ставьте ядро ESP (инструменты/Плата/Менеджер плат) версии 2.5.2! Или выше, люди пишут что полёт нормальный
  2. Свою версию FastLED нужно удалить из c/Program Files…. libraries. Если вы уже успели её туда установить.
  3. Версию FastLED ставим 3.2.9, как в этом архиве

Зачем это всё: версия ядра esp 2.5.2 стабильнее

Заметка для ЭПИЧНОЙ версии лампы:

  • Для прошивки от AlexGyver конфигурация матрицы настраивается в главной вкладке прошивки (GyverLamp_v1.x.x) в строке ~53
  • Для прошивки от gunner47 конфигурация матрицы настраивается во вкладке Constants.h в строке ~86
    • WIDTH отвечает за количество светодиодов в одном витке ленты
    • HEIGHT отвечает за количество витков ленты
    • MATRIX_TYPE для спиральной намотки ставить 1
    • CONNECTION_ANGLE и STRIP_DIRECTION зависят от расположения точки подключения ленты:
      • Угол подключения: 0 – левый нижний, 1 – левый верхний, 2 – правый верхний, 3 – правый нижний
      • Направление ленты из угла: 0 – вправо, 1 – вверх, 2 – влево, 3 – вниз

Скачать и установить Arduino IDE. Нажать JUST DOWNLOAD на странице пожертвования. Согласиться на установку всех драйверов при установке программы
Скачать и установить пакет JRE

Скачать и установить драйвер для CH341

Скачать архив проекта, извлечь. Перетащить/скопировать библиотеки из папки libraries в папку библиотек Arduino

Открыть папку с актуальной версией прошивки, открыть главный файл прошивки. Остальные файлы откроются автоматически и образуют вкладки

Открыть Файл/Настройки, вставить ссылку http://arduino.esp8266.com/stable/package_esp8266com_index.json в текст-бокс для дополнительных ссылок

Открыть Инструменты/Плата/Менеджер плат…, найти esp8266 by ESP8266 Community, установить версию 2.5.2 или выше, говорят всё работает

Открыть Инструменты, настроить Плату, Порт и другие параметры как на скриншоте.
Для WEMOS выбираем плату LOLIN(WEMOS) D1 R2 & mini
Для NodeMCU выбираем NodeMCU 1.0 (ESP-12E Module)

Кнопка Загрузить находится здесь

После загрузки можно открыть Монитор порта, не забыть выставить скорость 115200, и получить ценную информацию в виде IP адреса модуля

Скачайте приложение:

  • Для прошивки от AlexGyver используется приложение GyverLamp для Android и GyLamp для iOS
  • Для прошивки от gunner47 используется приложение Led Lamp (.apk) для Android и Arduino Lamp для iOS

Содержимое папок в архиве

  • libraries – библиотеки проекта. Заменить имеющиеся версии
  • firmware – прошивки для Arduino
  • schemes – схемы подключения компонентов