Увидел я как-то световой будильник в продаже и мне захотелось такой, но с разными mp3 мелодиями и без красного света.
На протяжении нескольких лет я сделал несколько версий светового будильника. Были разные корпуса, кнопки, энкодер, RTC, ATmega328P, ШИМ и/или с RGB светодиодами, галогенной лампой, без рассеивателя и они мне не понравились. Хотелось утром просыпаться без пульсаций света, как при восходе солнца.
Тогда я нашёл уже готовые светодиоды близкого к восходу солнца цвета и решил их включать по одному, 100 шт подряд. Сначала оранжевым, потом жёлтым и белым цветом. Пульсаций не было, проверил прибором собранным по публикации Народный измеритель пульсации света.
После многих переделок часы синхронизируются с сервером времени, а будильник с восходом солнца редко когда меняется и настраивается со смартфона в локальной сети Wi-Fi на собственном сайте будильника. Остался только простой способ выключить будильник. Теперь это датчик жестов. Его не касается статическое электричество. Хотя и это не обязательно, т.к. будильник сам выключится через 7 минут. Это время для того чтобы дойти и включить свет в комнате или выйти из комнаты.
Код я разрабатывал множество раз, под разные способы управления светом и контроллеры. Выкладываю последнюю версию для ESP32-C6. Она самая успешная получилась.
Основные возможности будильника:
Рандомное включение mp3 мелодий даже если выключили электричество
Плавный рассвет с меняющимися цветами восхода искусственного солнца
Автоматическое переключение источника питания: сеть-аккумулятор
Настраиваемый будильник, рассвет, громкость и отключение устройства
Перенос будильника на следующий день. Если проснулся раньше, например
Автоматическое отключение будильника через 7 минут после срабатывания
Примечания:
Отключение устройства нужно для поездки в отпуск, например
Без электричества в сети не будет имитации рассвета, только музыка включится
Корпус для будильника нашёлся случайно - настольная лампа
Всего цветов: оранжевый 1 оттенок, оранжево‑жёлтый 99 оттенков, жёлтый 1 оттенок, жёлто‑белый 99 и белый 1 оттенок = 201 цветов солнца
100 лампочек включаются по очереди. Сначала оранжевым, затем жёлтым и потом белым цветами. Итого 300 раз
Восход солнца в ясный день (окружающее освещение) 400 Люкс. В пасмурный день 40 Люкс. У лампы Philips для пробуждения 300 Люкс
Всем mp3 мелодиям я сделал нормализацию их громкости через ffmpeg. Возможно в будущем сделаю им ещё плавное увеличение громкости.



Используемые компоненты:
Светодиоды SK6812 WWA
Держатель аккумулятора 18650 и аккумулятор с защитой
Модуль mp3 оригинальный DFRobotDFPlayerMini, иначе не будет работать рандомное воспроизведение
Динамик 1 Вт, 8 Ом
Модуль лазерного измерителя расстояния GY-530 VL53L0X
Провод USB-A Type-C
Блок питания 5V 2.1A
Нейлоновые стяжки
Карта памяти microSD до 32 Гб
Максимальный ток почти 1.1 А при 100 LEDs, музыке и зарядке аккумулятора. Три светодиода в одной лампочке не включаются одновременно, т.к. они разных цветов. Светодиод в лампочке включается один на 100% яркости чтобы не было пульсаций света.

Далее следуют фотки готового будильника. 100 светодиодов держатся на прозрачных крючках от штор. Провод USB я проложил там же где провод светильника.









Теперь утром моя комната наполняется светом и цветом плавно, а затем включается музыка)
Первую версию публикации я разместил здесь.
gsaw
Тоже думал о таком, но меня супруга бы убила за такое. Просыпался бы не только под свет и музыку, но и ворчание. Потому пока я включаю свет сам, что бы окончательно сбросить сон, но для начала убедившись, что я в комнате один припозднился.
Leonardoo Автор
https://mysku.club/blog/diy/105535.html#comment4773667