Оглавление:
- Шаг 1. Требования
- Шаг 2: 3D-печать
- Шаг 3: Электронная схема
- Шаг 4: Программирование ESP-12E
- Шаг 5: Код
- Шаг 6: соберите
- Шаг 7: планы на будущее
Видео: Волновая лампа - Погода и предупреждения: 7 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Просматривая вселенную вещей, я увидел эту совершенно потрясающую волновую лампу, и мне пришлось ее построить.
www.thingiverse.com/thing:774456
Лампа очень хорошо спроектирована и печатается без каких-либо опор (необходимо напечатать сбоку)
Также есть цоколь лампы, на который идут светодиодные ленты
И, конечно, я не мог просто оставить это прикроватной лампой. Пришлось сделать вайфай и погоду показывать. Итак, я использую вездесущий модуль ESP8266 со светодиодами WS2812B для управления цветом огней на основе сегодняшнего прогноза. Кроме того, свет автоматически выключается в 22:00 и включается в 6:00.
Шаг 1. Требования
Для создания волновой лампы вам понадобятся следующие предметы:
Инструменты:
- 3D-принтер - тот, который может печатать не менее 30-35 см.
- Модуль USB-TTL для программирования ESP-12E
- Пистолет для горячего клея
- Паяльник
Расходные материалы:
- PLA - белый для лампы и другой цвет для цоколя
- 30 адресуемых светодиодов RGB WS2812B
- ESP8266 - 12E
- 74HCT245N
- Источник питания 5 В
- Преобразователь мощности 5В-3,3В
- Несколько выводов и резисторов
- Припой
Шаг 2: 3D-печать
3D-печать следующих частей
Лампа
- Печать с использованием белого PLA, повернутого сбоку
- Опоры и плоты не требуются.
- Хотя я использовал край 5 мм, чтобы он оставался прилипшим к кровати во время печати.
-
Я использовал следующие настройки:
- Сопло вулкана 0,8 мм и высота слоя 0,3 мм.
- 2 периметра
- 100% заполнение (это не имеет особого значения, поскольку детали такие тонкие, они все равно заполняются)
- Будьте осторожны - это ОГРОМНЫЙ отпечаток и занимает много времени. Так что, если вам неудобно оставлять принтер на ночь (или на несколько ночей), это не для вас. Распечатайте его с помощью 3Dhubs. Моя заняла ~ 30 часов
Стойка
- Я модифицировал подставку с помощью TinkerCAD, чтобы создать в основании полость для электроники. Вы можете скачать его здесь:
-
Распечатайте цветным PLA (я использовала шпатлевку):
- Сопло вулкана 0,8 мм и высота слоя 0,3 мм.
- 2 периметра
- 20% заполнение
- Однако будьте осторожны - созданная мною полость не имеет опор, и внутренняя часть становится немного грязной (особенно с PLA с древесной набивкой, которая плохо соединяется)
Вершина
Это необязательная деталь. Я создал его в TinkerCAD, чтобы скрыть отверстие в верхней части лампы. Ничего особенного, но работает.
- https://www.tinkercad.com/things/5aD6V4O0jpy
- Опоры и плоты не требуются.
-
Я использовал следующие настройки:
- Сопло вулкана 0,8 мм и высота слоя 0,3 мм.
- 2 периметра
- 30% заполнение
Шаг 3: Электронная схема
Схема, используемая для этой лампы, чрезвычайно проста, и если ваши WS2812B (некоторые работают, некоторые нет) работают с сигналом 3,3 В, это еще проще, поскольку вы можете избежать 74HCT245N.
Основная схема (см. Схему выше):
-
ESP-12E (вы можете пропустить эти шаги, если используете один из готовых модулей от Adafruit, Sparkfun и т. Д.):
- Подключите контакты 3 и 8 к 3,3 В
- Подключите контакты 1, 11 и 12 к 3,3 В через резистор 10 кОм.
- Подключите контакты 9 и 10 к GND.
- Подключите контакт 12 к GND через открытый 2-контактный разъем. Эти контакты можно соединить вместе для программирования ESP-12E.
- Подключите контакты 15 и 16 к контактам заголовка (это контакты RX и TX, используемые для программирования ESP-12E).
-
74HCT245N (игнорируйте это, если ваши светодиоды WS2812B работают напрямую от 3,3 В)
- Подключите контакты 1 и 20 к + 5В.
- Подключите контакты 10 и 19 к GND.
- Подключите контакт 2 к контакту 13 ESP-12E.
-
WS2812B
- Подключите + 5V и GND к контактам + 5V и GND соответственно.
- Подключите DIN к контакту 18 на 74HCT245N.
- Если вы пропускаете 74HCT245N, подключите DIN к контакту 13 ESP-12E.
Убедитесь, что все GND соединены вместе. Убедитесь, что вы не подключаете +5 или +3,3 к GND.
У меня была пара досок из более раннего проекта, и я просто использовал их (изображения выше)
github.com/dushyantahuja/ESP8266-RGB-W-LED…
Шаг 4: Программирование ESP-12E
Я использовал IDE Arduino для загрузки кода в ESP-12E. Прежде чем вы сможете это сделать, потребуется некоторая настройка.
Настройка IDE Arduino
Последняя версия Arduino IDE упростила программирование этих плат, и вам больше не нужно проходить через несколько обручей, чтобы заставить его работать с платами ESP8266.
Шаги следующие:
- Загрузите последнюю версию IDE с
- Откройте IDE и перейдите в Инструменты -> Платы -> Диспетчер плат…
- Найдите ESP8266 и нажмите «Установить» (см. Изображение выше).
Программирование модуля
Этот модуль не имеет интерфейса USB, поэтому вам необходимо использовать модуль USB-TTL / arduino для обработки USB-связи с компьютером. Вы можете купить любой из дешевых модулей, доступных на ebay (https://www.ebay.com/sch/i.html?_from=R40&_sacat=0&…) - все работают одинаково - только будьте осторожны при поиске правильных драйверов, поэтому что ваш компьютер обнаруживает модуль.
Подключения довольно простые:
- Подключите GND от USB-TTL к контакту с пометкой GND на ESP-12E.
- Подключите 3,3 В от USB-TTL к контакту с маркировкой VCC на ESP-12E.
- Подключите TX от USB-TTL к контакту с маркировкой RX на ESP-12E.
- Подключите приемник от USB-TTL к контакту с маркировкой TX на ESP-12E.
- Закоротите заголовок программы, чтобы PIN-код 12 подключался к GND.
Теперь модуль готов к программированию.
Шаг 5: Код
Код в значительной степени зависит от учебника по Random Nerd Tutorials https://randomnerdtutorials.com/esp8266-weather-fo… - на самом деле биты погоды полностью скопированы оттуда.
-
Установите следующие библиотеки:
- FastLED (https://fastled.io)
- ArduinoOTA (https://github.com/esp8266/Arduino/tree/master/libraries/ArduinoOTA)
- ArduinboJSON (https://github.com/bblanchon/ArduinoJson)
- Получите API OpenWeatherMap (https://openweathermap.org/api)
- Загрузите код с гитхаба:
-
Сделайте следующие изменения:
- Wi-Fi и пароль в строках 56 и 57
- Город и ключ API в строках 23 и 24
- Загрузить в ESP-12E
Если все прошло успешно, код загружен, ваш модуль подключается к Wi-Fi роутеру и показывает погоду. В настоящее время я настроил так, чтобы:
- Если будет пасмурно / дождь - синий
- Если будет снег / гроза - красно-синий
- Если ясно - зеленый
- Else Rainbow - для учета особых условий / ошибок
Вы можете внести изменения в строки 365-377, чтобы изменить их. Используемые палитры находятся в строках 70-82.
Шаг 6: соберите
Соберите следующие детали:
- Оберните светодиодную ленту к светодиодной подставке и приклейте горячим клеем
- Вставьте модуль схемы снизу и приклейте горячим клеем.
- Наденьте волновую лампу на верхнюю часть светодиодной подставки.
- Поместите верх сверху
Подключите к источнику питания 5 В и наслаждайтесь
Шаг 7: планы на будущее
На данный момент он работает, однако я планирую добавить следующие функции:
- Включите MQTT, чтобы его можно было связать с OpenHAB
- Может быть, создать какую-нибудь функцию уведомления о пропущенных звонках / сообщениях
- Просыпайся свет
Предложения приветствуются. И если вы его создадите, обязательно разместите здесь изображение.
Рекомендуемые:
Макей Макей - Система раннего предупреждения о сильном ветре: 5 шагов
Макей Макей - Система раннего предупреждения о сильном ветре: эта «система раннего предупреждения»; Задача дизайна будет дана группе студентов. Задача состоит в том, чтобы группа студентов (по двое или трое в группе) разработала систему, предупреждающую людей искать убежище от ветра, который становится опасным для вас
HaptiGuard - Система предупреждения о боковом движении: 3 шага (с изображениями)
HaptiGuard - Система бокового предупреждения: быстрая и быстрая боковая система предупреждения как побочная идея Personal Photonics группы Media Computing в Аахене, финансируемой министерством образования и науки Германии. Всякий раз, когда к вам приходит что-то более близкое, чего вы не слышите (либо потому, что
Ночник предупреждения о зарядке Arduino: 11 шагов
Ночной светильник для предупреждения о заряде Arduino: Класс и название: 9A Vivian Ting Введение: Предупреждающий индикатор заряда представляет собой комбинацию двух различных устройств, которые объединяют устройство предупреждения о заряде и ночник. Поскольку многие люди, которых я знал в моем окружении, беспокоились о п
Система предупреждения о пожарной безопасности с ЖК-дисплеем Arduino: 9 шагов
Система предупреждения о пожарной безопасности с ЖК-дисплеем Arduino: это разработанный студентом проект, который сочетает в себе функции ЖК-экрана, зуммера, RGB и датчика температуры DHT. Текущая температура окружающей среды отображается и обновляется на ЖК-экране. Сообщение, выводимое на ЖК-экран, информирует
Кинетическая волновая скульптура: 5 шагов
Кинетическая волновая скульптура: этот проект представляет собой кинетическую скульптуру, интегрированную с динамиками Bluetooth. Механизм проекта зависит от движения множества связанных между собой проводов, поэтому, если с проводами произошло особое вращение, то частицы начнут двигаться