Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Мой 5-летний сын продолжал будить нас по ночам, и мы продолжали отчитывать его о том, как разрешать маме и папе спать, пока я не понял, что он фактически не может сам определить, пора ли это спать или играть.
Кроме того, он просил нас включить свет. Он всегда суетится из-за того, чтобы выключить свет, но я немного беспокоюсь о том, чтобы оставить свет включенным на всю ночь, из-за того, что это повлияет на мелатонин и качество сна.
Мне действительно не нравился какой-либо ночник, который можно было купить за деньги: некоторые из них можно было зажечь прикосновением, но не выключить сами; некоторые были милыми и мягкими, но никто не мог уделить время пятилетнему ребенку.
Итак, я собрал быстрый способ ночного освещения, который:
-
дает цветовые коды времени ночи:
- желтый (вечер): время рассказа
- красный: время сна
- желтый (утро): можно вставать и играть, не разбудив маму или папу
- ярко-белый: пора вставать
- выключено в течение дня.
- Когда вы нажимаете на нее ночью, она начинает излучать обнадеживающее желтоватое свечение. Затем он тускнеет и через полчаса снова становится красным. (Нажмите утром, чтобы выключить)
- светится мягко с частотой, близкой к скорости дыхания моего ребенка в состоянии покоя (около 2,5 ~ 3 с на вдох). Это известный трюк со снотворным.
- устраняет синий свет, который, как известно, нарушает работу мелатонина в ночное время. По утрам излучает голубовато-белый свет, излучающий мелатонин.
- Берет время из интернета, через NTP.
Запасы
- Разъемная плата ESP32 без разъемов. Я купил это по дешевке (25 юаней).
-
Чехол, напечатанный на 3D-принтере.
Я заказал его профессионально напечатанный в этом магазине, сделанный из белой смолы стоимостью 8000 фунтов стерлингов, процесс SLA, примерно за 30 юаней. Красиво вышла верхняя крышка (толщина 1мм); и прозрачность хорошая
- кнопка. У меня пуговица 12 * 12 мм, высота 7,5 мм, сквозное отверстие. Я согнул булавки, чтобы он лежал ровно.
- два неопиксельных светильника (отрезаны от полосы, купленной здесь за 70 юаней)
-
если вам нужен аккумулятор:
- модуль зарядного устройства. Я использую TP4056, как этот, менее чем за 1 юань.
- Li-Po аккумулятор. Я купил эти батареи на 1000 мА, которые были немного меньше моей платы и имели размер 45 * 26 * 8,5 мм, за 14 юаней.
- диод Шоттки, чтобы предотвратить зарядку USB 5V и разрушение аккумулятора. Я кое-что валял.
- Очевидно, сделайте корпус достаточно большим, чтобы в нем поместились аккумулятор, зарядное устройство и кабели. Дох!
- какой-то двусторонний скотч, изолента, провод, проволока для пайки.
- паяльные инструменты и навыки.
Отказ от ответственности: я не связан с перечисленными поставщиками и перечисляю их только для удобства читателя.
Шаг 1. Подготовьте доску
При необходимости удалите заголовки.
Приклейте кнопку и светодиоды к задней части ESP32 с помощью горячего клея или двустороннего скотча.
Я припаял неопиксели к GND и 3V3, а также к выводу 12 для данных, а затем соединил их вместе проводом.
Я припаял кнопку между контактом 25 (установлен как выход, значение = 0, поэтому он действует как сток) и контактом 26 (установлен как вход с подтягиванием). Это было проще припаять, чем провести линию заземления.
Я наклеил кусок черной изоленты на светодиод питания на плате, чтобы он не просвечивал через корпус. Я оставил индикатор сигнала непокрытым, так как использую его для индикации успешной инициализации (и установки часов через NTP), а затем выключил его.
Шаг 2: закажите корпус
Сначала измерьте размеры вашей платы ESP32. Я подготовил корпуса для плат размером 29x52 или 26x49 мм.
Затем измерьте высоту вашей кнопки относительно поверхности доски (при нажатии). Мои конструкции предполагают 7 мм.
Если ваша плата совпадает, вы можете напрямую загрузить соответствующий файл. STEP из репозитория githup. Если нет, вам нужно изменить дизайн в Fusion360. Я использую "личную некоммерческую" бесплатную лицензию. Спасибо Autodesk!
Я не буду учить вас, как использовать Fusion360 здесь, но вот несколько шагов, которые нужно выполнить, когда вы разберетесь:
- Дизайн параметрический. Изменение одного измерения в нужном месте должно заставить все остальное встать на свои места естественным образом.
-
Чтобы изменить размеры платы:
- отредактировать эскиз "печатной платы",
- дважды щелкните внешние размеры, чтобы изменить их.
- Подтвердите, затем нажмите «Завершить эскиз».
-
Чтобы изменить высоту кнопки:
- установите вид, чтобы отображать только печатную плату
- перейдите, чтобы найти верхнюю часть кнопки (материализованной в виде цилиндра)
- использовать инструмент "пресс-тяга",
- выберите эту поверхность и введите правильную новую высоту (отрицательную).
- высота штифта внутри верхней крышки должна регулироваться автоматически
-
Чтобы заказать детали, напечатанные на 3D-принтере:
- Убедитесь, что видны только верхняя и нижняя оболочки; спрятать корпус печатной платы
- Перейдите в File-> Export, затем выберите формат STEP.
- Fusion 360 экспортирует 3D-файл. STEP, который содержит оба тела и должен быть доступен для чтения в вашем магазине 3D-печати.
Шаг 3: программа
Установите Micropython на свою доску, следуя этим инструкциям.
Загрузите три файла.py из этого репозитория Github и скопируйте их на доску с помощью MU или Thonny:
-
main.py: файл запуска. Он будет вызывать два других файла по очереди, если кнопка не нажата. Это полезно, если вы используете MU, иначе произойдет тайм-аут и плата не распознается.
вам необходимо отредактировать этот файл, если вы использовали разные пины из примера для подключения кнопки или светодиодов
-
do_connect.py: скрипт для подключения к вашей сети Wi-Fi и получения времени.
вам необходимо отредактировать его и ввести свой SSID и пароль Wi-Fi
-
handheld_night_light.py: скрипт, который пульсирует ночник в соответствии с временем суток.
- вам нужно отредактировать его, если вы использовали разные пины из примера для подключения кнопки или светодиодов
- вам также необходимо отредактировать его, чтобы настроить цвета и время сна по своему вкусу
- наконец, вам нужно установить часовой пояс в этом файле
Как только 3 файла будут загружены на вашу плату, перезагрузите ее, и вы должны увидеть, как светодиодный индикатор сигнала мигнет дважды: один раз при подключении к Wi-Fi и второй раз при получении времени из NTP. Оба могут занять несколько секунд.
Нажатие кнопки включает или выключает свет в зависимости от времени суток.
Шаг 4: Питание от батареи
Пришло время спаять все вместе. Я запитал свою плату от аккумулятора, а также добавил небольшой модуль зарядного устройства. Таким образом, подключение ESP32 к источнику питания зарядит аккумулятор, а отключение - питание платы от аккумулятора. Для простоты нет переключателя ВКЛ / ВЫКЛ.
Питание платы от аккумулятора происходит через небольшой диод. Без этого диода ваша батарея будет питаться напрямую от источника USB с напряжением 5 В и, вероятно, перегреется и выйдет из строя. Я был осторожен при выборе диода Шоттки, который снижает падение напряжения, тем самым увеличивая эффективный срок службы батареи.
Ночник - это управление освещением. Больше - не лучше, особенно если он синий (поскольку синий свет имеет тенденцию подавлять секрецию мелатонина и мешать сну). Поэтому я прикрыл нежелательные сигнальные светодиоды на ESP32 и модуле зарядного устройства черной изолентой.
Шаг 5: Окончательная сборка
Корпус довольно прост в сборке. Есть 2 небольших крючка для удержания верхней крышки внутри нижней крышки и отверстие для порта USB.
Перед закрытием обязательно проверьте, не защемлен ли провод. Вне типографии верхняя крышка будет лежать ровно вдоль верхней поверхности платы ESP32. Я сделал вмятину на верхней крышке, чтобы осталось место для проводов.
Шаг 6: советы для родителей
И вы сделали!
Вот несколько советов при разговоре с ребенком:
- Я вовлек своего ребенка в процесс на раннем этапе, показывая ему дизайн корпуса на моем компьютере и спрашивая, хочет он этого или нет. Это вызвало интерес и принятие.
- Я несколько раз репетировал с ним цветовую кодировку, прежде чем подарить ему ночник. Он очень сотрудничал.
- Я бы посоветовал протестировать и зарядить, прежде чем отдавать ему конечный продукт. Во-первых, его трудно вернуть. Кроме того, он решил «оставить его включенным на ночь, чтобы он не отключился внезапно», и не сдвинулся с места …
- Наконец, мой ребенок очень восприимчив к световым кодам. Во время рассказа он внимательно наблюдает за светом, ожидая, когда он станет красным. Однажды вечером мы начали ритуал перед сном немного поздно, и через несколько минут после начала рассказа свет стал красным. Вместо того, чтобы вести переговоры, как обычно, он искренне огорчился и сразу же заплакал, как будто не было возможности изменить время сна … (Я дал ему 5 минут отсрочки и нажал кнопку, чтобы снова включить желтый цвет в это время., иначе он бы даже не слушал).
Шаг 7. Дальнейшие действия
Ночник сам по себе работает и приносит удовлетворение.
Есть несколько вещей, которые вы, возможно, захотите продвинуть вперед, если откроете свои собственные:
- световые приборы Neopixel время от времени излучают короткие вспышки, вероятно, из-за сбоев синхронизации. Некоторые другие типы светодиодов могут быть менее требовательными. Это происходит, несмотря на то, что они питаются от 3,3 В (одинаковое напряжение на выводах питания и сигнала).
- Было бы интересно записывать время нажатия кнопок, чтобы увидеть, действительно ли ребенок использовал свет ночью.
- Срок службы батареи можно значительно увеличить, если для питания платы использовать насос постоянного и постоянного тока.
- Я проверил время автономной работы, и его хватит на одну ночь, но не до следующего вечера.
- Изначально я думал о создании отдельного источника света вне кровати с большим количеством неопиксельных светодиодов, которым можно было бы управлять дистанционно через Bluetooth. Пока в этом нет необходимости.