Оглавление:

Световой будильник своими руками: 7 шагов
Световой будильник своими руками: 7 шагов

Видео: Световой будильник своими руками: 7 шагов

Видео: Световой будильник своими руками: 7 шагов
Видео: ⏰Будильник рассвет своими руками на Arduino 2024, Июль
Anonim
DIY световой будильник
DIY световой будильник
DIY световой будильник
DIY световой будильник
DIY световой будильник
DIY световой будильник

Вы когда-нибудь хотели попробовать один из тех модных будильников, которые имитируют восход солнца, чтобы разбудить вас? Вы хотите добавить в свою комнату несколько цветных светильников? Вы хотите управлять всем этим с любого устройства с помощью интернет-браузера? Тогда ознакомьтесь с этим будильником, который я сделал, используя то, что я узнал, создавая автоматическую кормушку для рыбы.

Основная цель светового будильника - следить за тем, чтобы в моей комнате было светло, когда я просыпаюсь, особенно зимой, когда обычно еще темно. Свет гаснет на заданный промежуток времени, который заканчивается на полной яркости в установленное время будильника. Но это только первый режим, есть еще 7 режимов освещения, с которыми можно поиграть!

Управление световой сигнализацией осуществляется через HTML-страницу, размещенную на плате ESP-8266-12e. Доступ к нему можно получить из домашней сети или настроить для доступа из любого места в Интернете с переадресацией портов.

Шаг 1: Материалы:

  • Плата ESP-8266-12e (NodeMCU)
  • Последняя версия Arduino IDE
  • Библиотеки, необходимые для установленного кода
  • Блокнот ++ (для редактирования HTML, если хотите)
  • Браузер (я использовал хром, но любой должен работать, особенно если он позволяет увидеть, как работает html-код)
  • 3D-принтер с площадью сборки не менее 150 x 150 мм
  • Белая или прозрачная пластиковая нить (для абажура крепление может быть любого цвета)
  • 4-значный 7-сегментный дисплей с чипом TM1637, я использовал один из них
  • Адресная светодиодная лента RGBW длиной 1 метр, sk6812. Моя полоса имеет 60 светодиодов на метр, но больше не продается. Код arduino настроен для RGBW, поэтому вам придется переписать его, если вы хотите использовать полосу RGB. Я бы порекомендовал ленту с минимум 60 светодиодами.
  • ЕСЛИ лента не имеет липкой основы: скотч и суперклей.
  • Протоборд для крепления доски
  • Провод 24AWG (рекомендую несколько цветов)
  • Не менее 6 футов провода для питания. Я рекомендую использовать то, что продается в вашем местном хозяйственном магазине, для настольных ламп.
  • Блок питания 5В, я использовал этот
  • Не забудьте переходники для блока питания
  • Паяльник
  • USB-кабель для программирования платы
  • горячий клей
  • Контакты заголовка (папа и мама)
  • Терпение

Шаг 2: программирование платы

На плате будет два набора кода: обычный исполняемый код Arduino и HTML-код, который он отправляет в ваш браузер. Вы загружаете код Arduino, как и на любую другую плату. Однако для HTML требуется подключаемый модуль для загрузки в память SPIFF на плате.

Учебное пособие по использованию SPIFF см. На

Чтобы узнать, как загрузить HTML-код, см. Https://www.esp8266.com/viewtopic.php?f=32&t=10081, для этого вам нужно будет установить плагин для arduino.

HTML-код необходимо сохранить в папке в папке проекта Arduino, которая называется просто «данные».

Загрузка HTML занимает пару минут, пока я ждал, я смог поиграть в онлайн-гонку или две в Mario Kart 8. Из-за этого, если вы вносите изменения в HTML, используйте блокнот ++ для редактирования и перетащите файл в браузер, например Chrome, чтобы проверить его.

Шаг 3. Как работает код

Как работает код
Как работает код
Как работает код
Как работает код

Код в этом проекте разделен на два файла: код, выполняемый доской, и HTML-код, хранящийся в памяти доски, который он отправляет браузеру, когда вы переходите на веб-страницу.

Когда вы подключаете плату к источнику питания, запускается код платы, как и у любого ардуино. Он подключается к вашему домашнему Wi-Fi, а затем связывается с сервером NIST, чтобы узнать текущее время и установить внутренние часы. После установки часов запускается веб-сервер, и вы можете подключиться через свой любимый браузер.

Вы должны подключаться по IP-адресу платы, поэтому обязательно зарезервируйте статический IP-адрес на своем маршрутизаторе. Я также изменил порт на своей лампе, поэтому для подключения перехожу к 192.168.0.170:301/. Если вы хотите подключиться к своей лампе из любой точки мира, вам необходимо настроить переадресацию портов на своем маршрутизаторе. Затем вам нужно будет подключиться к IP-адресу, который вы видите при подключении к https://www.whatsmyip.org/, и к порту, который вы настроили для включения локального IP-адреса лампы.

После подключения доска отправляет HTML-файл в ваш браузер, который декодирует его и отображает страницу. Внесенные вами изменения не влияют на доску, пока вы не нажмете одну из кнопок. на веб-странице. Когда вы нажимаете кнопку, ваш браузер отправляет на доску html-форму с текущими настройками, и доска принимает эти настройки и устанавливает отображение.

Настройки довольно просты. Страница масштабируется по ширине вашего браузера и выглядит немного лучше на мобильных устройствах. Чтобы изменить внешний вид страницы настроек, вам нужно будет отредактировать HTML, и в Интернете есть множество других руководств по этому поводу. Поскольку я впервые использовал HTML, я учился в основном с помощью

Когда страница загрузится, вы увидите четыре кнопки, ползунок и раскрывающееся меню. Верхняя кнопка - это основная кнопка «войти» или «задействовать». Следующие две кнопки переключают цифровой дисплей времени и его отображение в 12-часовом или 24-часовом формате. Ползунок управляет яркостью цифровых часов, и она обновляется всякий раз, когда вы переключаете режим отображения или включаете часы. Предполагается, что последняя кнопка выключит все огни, но по какой-то причине это не работает с этой версией кода. Вместо этого нажатие кнопки «Включить» без выбранных настроек приведет к выключению света.

Выпадающее меню содержит 7 системных режимов, при выборе одного из них ниже отображаются необходимые настройки.

  • Режим 1: Тревога. Введите время, в течение которого свет достигнет полной яркости, и продолжительность постепенного исчезновения в целых минутах. По умолчанию 6:00:00 и 15 минут. Свет будет оставаться на полной яркости столько же времени, сколько гаснет, прежде чем автоматически выключится. Значение по умолчанию можно изменить в HTML-коде.
  • Режим 2: аналоговые часы. Выберите три цвета для обозначения часовой, минутной и секундной стрелок на аналоговых часах. Ползунок над тремя палитрами цветов автоматически вставит предустановленные холодные или теплые цвета, если их установить влево или вправо, соответственно. Если ползунок установлен влево или вправо, а затем возвращается в центр, тогда все палитры цветов устанавливаются на черный (0, 0, 0, 0) [R, G, B, W]. Когда на доску отправляется полностью нулевой цвет, он выбирается случайным образом. * Это может привести к чрезмерному миганию света. * Если вы хотите, чтобы свет оставался выключенным, установка любого значения на 1 приведет к `` черному '' (все значения по умолчанию равны 1 (01, 01, 01, 01), когда палитры цветов выключены). инициализировано). Палитра цветов и ползунки RGB связаны, а ползунок W независим.
  • Режим 3: Цвет. Выберите один цвет для подсветки. Это будет оставаться до тех пор, пока пользователь не изменит его.
  • Режим 4: Цикл цвета. Выберите три цвета для циклического перехода и введите время удержания каждого цвета. Для выбора цветов применяются те же методы, что и в режиме 2. В этом режиме лучше всего работают случайные цвета.
  • Режим 5: Цветной цилиндр. Выберите три цвета (такие же, как и предыдущие) и число оборотов цилиндра. Индикаторы будут отображаться в виде полос, вращающихся вокруг оси. при выбранных вами оборотах. По умолчанию частота вращения составляет 60 или 1 об / сек. Случайные цвета могут привести к миганию света!
  • Режим 6: Цветной вихрь. Установите три цвета и число оборотов в минуту. Этот режим не идеален, но идея состоит в том, что огни кружатся круглосуточно. В нем встроена случайность, поэтому лучше всего использовать ползунок температуры, чтобы выбрать, начинается ли вихрь теплым или холодным.
  • Режим 7: Радуга. Установите скорость цикла, обороты здесь бесполезны. Это был готовый пример из библиотеки Neopixel с некоторыми изменениями, позволяющими доске по-прежнему реагировать на ввод пользователя.

После выбора настроек нажатие любой кнопки отправит на доску HTML-форму, которая использует значения в форме для изменения настроек отображения. Кнопка «Включить» отправляет все настройки, а две кнопки часов отправляют только яркость часов. Кнопка «выключить» должна просто выключать светодиодную ленту, однако есть ошибка, которая мешает ей работать. Похоже, что вместо этого работает нажатие «Engage» без изменения каких-либо настроек. Как только доска проанализирует настройки, она перенаправит ваш браузер на исходную HTML-страницу.

Примечание. Установка времени будильника изменяет режим системы на 1, что останавливает любой ранее работавший режим и сбрасывает все настройки. Однако запуск другого режима после установки времени будильника не изменяет установленное вами время, поэтому вы можете установить будильник, а затем запустить новый режим. Если не выключить новый режим до того, как сигнал тревоги начнет исчезать белым светом, это может вызвать мигание. Чтобы предотвратить это, на плате жестко запрограммировано выключение всех источников света и установка режима системы на 1 (будильник) в 2 часа ночи без изменения установленного времени будильника. Это время жесткого отключения можно изменить в коде Arduino.

Шаг 4. Настройка сети и подключение

Настройка сети и подключение
Настройка сети и подключение

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

Вам необходимо войти в свой маршрутизатор и, возможно, включить расширенный режим. На моем маршрутизаторе мне нужно перейти на DHCP-сервер, чтобы зарезервировать IP-адрес. Найдите MAC-адрес вашего ESP8266; это будет тот из списка клиентов DHCP (или эквивалент вашего маршрутизатора), который исчезает всякий раз, когда вы отключаете ESP.

Используйте MAC-адрес, чтобы зарезервировать IP-адрес лампы. Убедитесь, что запись включена, если в вашем маршрутизаторе есть такая настройка.

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

Шаг 5: детали, напечатанные на 3D-принтере

Напечатанные детали подходят для большинства принтеров. Есть две части: крепление и штора.

Крепление - это то, вокруг чего оборачивается светодиодная лента по спирали, а его диаметр таков, что полоса длиной 1 метр из 60 светодиодов должна оборачиваться 3 раза, а все светодиоды должны выровняться по оси. Если вы используете полосу, на которой светодиоды расположены по-разному и не выравниваются на креплении, как должны, измените диаметр в соответствии с предоставленными моделями. Диаметр равен C / pi, где C - длина окружности и составляет 1/3 длины полосы. Полукруглые отверстия на стене крепления позволяют пропускать силовой кабель и воздушный поток. Поперечные распорки обеспечивают жесткость и поверхность для крепления командных планок.

Абажур плотно прилегает к оправе, а также есть выемка для совмещения абажура с креплением. При установке на стене выемка должна находиться в положении «12 часов» или «6 часов», а 7-сегментный дисплей часов должен быть совмещен с выемкой. Абажур действует как рассеиватель света и в результате становится очень тонким. Я напечатал его с помощью сопла 0,5 мм, а большинство коммерческих принтеров поставляются с соплами 0,4 мм, поэтому проблем должно быть немного, но обязательно проверьте слайсер, чтобы убедиться, что оттенок будет печататься правильно. Также обязательно используйте белый или другой полупрозрачный пластик для оттенка. Другие цвета будут искажать цвета источников света или блокировать слишком много света.

Убедитесь, что цифровые часы, которые вы используете, подходят к тени. Он предназначен для фиксации на месте с достаточным зазором для проводов часов. Используйте модели, чтобы изменить крепление часов. При смене модели абажура убедитесь, что толщина лицевой панели не превышает 1 мм, чтобы часы были видны сквозь нее с небольшим рассеиванием.

Шаг 6: Монтаж проводки и платы

Электромонтаж и сборка платы
Электромонтаж и сборка платы
Электромонтаж и сборка платы
Электромонтаж и сборка платы
Электромонтаж и сборка платы
Электромонтаж и сборка платы

Плата и проводка намного проще, чем моя кормушка для рыбы. Просто припаяйте пару рядов штырьков с гнездовой головкой к макетной плате, чтобы ESP-8266-12e поместился в нее, а также два ряда штырьков с штыревой головкой для подключения питания. Я припаял два провода данных часов и провод данных светодиодной ленты к соответствующим контактам на макетной плате, а все провода питания и заземления были припаяны к соответствующим шинам питания, которые я сделал на задней стороне платы.

На другой стороне этих проводов должны быть гнездовые разъемы для часов и разъем для светодиодной ленты. Возможно, вам придется припаять штыри к часам, и я рекомендую для этого угловые штыри. Провода светодиодной ленты и провода питания должны быть проложены к стене со стороны платы (сторона с ESP), а провода часов должны быть проложены к передней стороне (где находятся все паяные соединения).

Для линии электропередачи я использовал многожильный медный провод диаметром 16-26 футов длиной 6 футов. Он был немного толстым, поэтому я разделил каждый провод между тремя гнездовыми контактами для подключения к шинам питания и заземления. Другой стороной должен быть тот же разъем, который у вас есть для источника питания.

Склейте горячим клеем все открытые паяные соединения (особенно на кабеле питания и, ОСОБЕННО, если есть оголенная медь, как у меня), чтобы изолировать все от случайных коротких замыканий. Вы также можете приклеить часы к плате горячим способом (задняя часть часов, чтобы припаять сторону платы), но я обнаружил, что это слабое соединение и не все, что нужно, когда все было установлено.

Оберните светодиодную ленту вокруг крепления. ОБЯЗАТЕЛЬНО проверьте полосу в режиме 2, чтобы убедиться, что аналоговые часы идут в правильном направлении. Обязательно оставьте зазор ~ 5 мм от переднего края для тени. Первый светодиод полосы (светодиод цвета секунд появляется вверху каждой минуты на одном конце полосы) находится в положении «12 часов». когда светильник крепится к стене. Когда у вас есть светодиодная лента, используйте ее клейкую основу (если она есть) или клей, чтобы приклеить ее к креплению. Лучше всего использовать суперклей, если на ленте нет клейкой основы. Используйте скотч, чтобы удерживать полоску на месте во время тестирования и пока клей сохнет.

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

Шаг 7: Монтаж

Для крепления к стене просто используйте 3-4 планки управления 3M или любое их количество. Используйте выемку в креплении, чтобы убедиться, что она ровная. После установки крепления подключите кабель питания и провода светодиодов к плате и вставьте часы в тень. Затем просто установите шторку на крепление и подключите кабель питания к источнику питания!

Рекомендуемые: