Подключение:
В режиме локальной сети с роутером (по умолчанию) Имя сети: 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 унифицировано
- Описание проекта
- Папки проекта
- Схемы подключения
- Материалы и компоненты
- Как скачать и прошить
- FAQ
- Полезная информация
Представляю вашему вниманию светильник на адресных светодиодах с кучей эффектов, управлением по Wi-Fi и функцией будильник-рассвет!
- Проект собран на базе микроконтроллера ESP8266 в лице платы NodeMCU или Wemos D1 mini (неважно, какую из этих плат использовать!).
- Вместо адресной ленты используется гибкая адресная матрица 16×16, что выходит дешевле ленты (матрица 16×16 стоит 1500р, она состоит из 256 диодов с плотностью 100 штук на метр. Лента такой же плотности стоит 1000р за метр (за 100 светодиодов). Для склейки матрицы размером 16×16 понадобится 2.5 метра ленты, то есть 2500р. А готовая матрица стоит на 1000р дешевле!).
- Система управляется со смартфона по Wi-Fi (приложение GyverLamp для Android), а также “оффлайн” с кнопки на корпусе (сенсорная кнопка на TTP223).
- 14 крутых эффектов
- Настройка скорости, яркости и “масштаба” для каждого эффекта
- Настройка эффектов со смартфона
- Работа системы как в локальной сети, так и в режиме “точки доступа”
- Встроенный Wi-Fi менеджер для удобной настройки сети
- Система получает точное время из Интернета
- Управление кнопкой: смена режима, настройка яркости, вкл/выкл
- Режим будильник-рассвет: менеджер будильников на неделю в приложении
- Корпус выглядит очень презентабельно, несмотря на простоту и доступность материалов
- Рассеиватель – матовый плафон из Леруа Мерлен
- Остальные элементы корпуса – канализационные трубы, в лучших традициях жанра!
- Страница проекта на сайте: https://alexgyver.ru/GyverLamp/
ВНИМАНИЕ! Если это твой первый опыт работы с Arduino, читай инструкцию
- libraries - библиотеки проекта. Заменить имеющиеся версии
- firmware - прошивки для Arduino
- schemes - схемы подключения компонентов
- NodeMCU http://ali.ski/RgD5P http://ali.ski/_1FJZ
- Wemos D1 mini http://ali.ski/FuTgbO http://ali.ski/Z9feWU
- Матрица 16x16 http://ali.ski/BCKQT http://ali.ski/bRW14 http://ali.ski/X-tBrQ
- Адресная лента (для DIY матрицы) http://ali.ski/2dmOe_ http://ali.ski/rqgqdq http://ali.ski/4Ma9iH
- Сенсорная кнопка http://ali.ski/aWQBAa http://ali.ski/rsOrSB
- БП 5V (брать 3A минимум) http://ali.ski/K-CThT http://ali.ski/3UWXJ
- Проводочки http://ali.ski/JQRler http://ali.ski/_SuCF
- Плафон https://leroymerlin.ru/product/plafon-cilindr-18212968/
- Всё для пайки (паяльники и примочки)
- Недорогие инструменты
- Все существующие модули и сенсоры Arduino
- Электронные компоненты
- Аккумуляторы и зарядные модули
- Первые шаги с Arduino - ультра подробная статья по началу работы с Ардуино, ознакомиться первым делом!
- Скачать архив с проектом
На главной странице проекта (где ты читаешь этот текст) вверху справа зелёная кнопка Clone or download, вот её жми, там будет Download ZIP
- Установить библиотеки в
C:\Program Files (x86)\Arduino\libraries\
(Windows x64)
C:\Program Files\Arduino\libraries\
(Windows x86) - Подключить внешнее питание 5 Вольт
- Подключить плату к компьютеру
- Файл/Настройки, вставить ссылку http://arduino.esp8266.com/stable/package_esp8266com_index.json в в текст-бокс для дополнительных ссылок для менеджера плат
- Открыть Инструменты/Плата/Менеджер плат…, найти esp8266 by ESP8266 Community, установить версию 2.5.0
- Открыть Инструменты, настроить Плату, Порт и другие параметры как на скриншоте
- Загрузить прошивку
// -------- ВРЕМЯ -------
GMT 3 // смещение (москва 3)
NTP_ADDRESS "europe.pool.ntp.org" // сервер времени
// -------- РАССВЕТ -------
DAWN_BRIGHT 200 // макс. яркость рассвета
DAWN_TIMEOUT 1 // сколько рассвет светит после времени будильника, минут
// ---------- МАТРИЦА ---------
BRIGHTNESS 40 // стандартная маскимальная яркость (0-255)
CURRENT_LIMIT 2000 // лимит по току в миллиамперах, автоматически управляет яркостью (пожалей свой блок питания!) 0 - выключить лимит
WIDTH 16 // ширина матрицы
HEIGHT 16 // высота матрицы
COLOR_ORDER GRB // порядок цветов на ленте. Если цвет отображается некорректно - меняйте. Начать можно с RGB
MATRIX_TYPE 0 // тип матрицы: 0 - зигзаг, 1 - параллельная
CONNECTION_ANGLE 0 // угол подключения: 0 - левый нижний, 1 - левый верхний, 2 - правый верхний, 3 - правый нижний
STRIP_DIRECTION 0 // направление ленты из угла: 0 - вправо, 1 - вверх, 2 - влево, 3 - вниз
// при неправильной настрйоке матрицы вы получите предупреждение "Wrong matrix parameters! Set to default"
// шпаргалка по настройке матрицы здесь! https://alexgyver.ru/matrix_guide/
// --------- ESP --------
ESP_MODE 1
// 0 - точка доступа (192.168.4.1 или другой)
// 1 - локальный (192.168.1.232 или другой)
// -------- Менеджер WiFi ---------
AC_SSID "AutoConnectAP"
AC_PASS "12345678"
// -------------- AP ---------------
AP_SSID "GyverLamp"
AP_PASS "12345678"
AP_PORT 8888
В: Как скачать с этого грёбаного сайта?
О: На главной странице проекта (где ты читаешь этот текст) вверху справа зелёная кнопка Clone or download, вот её жми, там будет Download ZIP
В: Скачался какой то файл .zip, куда его теперь?
О: Это архив. Можно открыть стандартными средствами Windows, но думаю у всех на компьютере установлен WinRAR, архив нужно правой кнопкой и извлечь.
В: Я совсем новичок! Что мне делать с Ардуиной, где взять все программы?
О: Читай и смотри видос http://alexgyver.ru/arduino-first/
В: Вылетает ошибка загрузки / компиляции! О: Читай тут: https://alexgyver.ru/arduino-first/#step-5
В: Сколько стоит?
О: Ничего не продаю.