Оглавление:

Волновая лампа - Погода и предупреждения: 7 шагов (с изображениями)
Волновая лампа - Погода и предупреждения: 7 шагов (с изображениями)

Видео: Волновая лампа - Погода и предупреждения: 7 шагов (с изображениями)

Видео: Волновая лампа - Погода и предупреждения: 7 шагов (с изображениями)
Видео: Думали что станцует лезгинку,но когда задвигалась все офигели #wedding #weddingdance 2024, Ноябрь
Anonim
Image
Image
Изображение
Изображение

Просматривая вселенную вещей, я увидел эту совершенно потрясающую волновую лампу, и мне пришлось ее построить.

www.thingiverse.com/thing:774456

Лампа очень хорошо спроектирована и печатается без каких-либо опор (необходимо напечатать сбоку)

Также есть цоколь лампы, на который идут светодиодные ленты

Изображение
Изображение

И, конечно, я не мог просто оставить это прикроватной лампой. Пришлось сделать вайфай и погоду показывать. Итак, я использую вездесущий модуль ESP8266 со светодиодами WS2812B для управления цветом огней на основе сегодняшнего прогноза. Кроме того, свет автоматически выключается в 22:00 и включается в 6:00.

Шаг 1. Требования

Требования
Требования
Требования
Требования

Для создания волновой лампы вам понадобятся следующие предметы:

Инструменты:

  1. 3D-принтер - тот, который может печатать не менее 30-35 см.
  2. Модуль USB-TTL для программирования ESP-12E
  3. Пистолет для горячего клея
  4. Паяльник

Расходные материалы:

  1. PLA - белый для лампы и другой цвет для цоколя
  2. 30 адресуемых светодиодов RGB WS2812B
  3. ESP8266 - 12E
  4. 74HCT245N
  5. Источник питания 5 В
  6. Преобразователь мощности 5В-3,3В
  7. Несколько выводов и резисторов
  8. Припой

Шаг 2: 3D-печать

3D печать
3D печать
3D печать
3D печать
3D печать
3D печать

3D-печать следующих частей

Лампа

  1. Печать с использованием белого PLA, повернутого сбоку
  2. Опоры и плоты не требуются.
  3. Хотя я использовал край 5 мм, чтобы он оставался прилипшим к кровати во время печати.
  4. Я использовал следующие настройки:

    • Сопло вулкана 0,8 мм и высота слоя 0,3 мм.
    • 2 периметра
    • 100% заполнение (это не имеет особого значения, поскольку детали такие тонкие, они все равно заполняются)
  5. Будьте осторожны - это ОГРОМНЫЙ отпечаток и занимает много времени. Так что, если вам неудобно оставлять принтер на ночь (или на несколько ночей), это не для вас. Распечатайте его с помощью 3Dhubs. Моя заняла ~ 30 часов

Стойка

  1. Я модифицировал подставку с помощью TinkerCAD, чтобы создать в основании полость для электроники. Вы можете скачать его здесь:
  2. Распечатайте цветным PLA (я использовала шпатлевку):

    • Сопло вулкана 0,8 мм и высота слоя 0,3 мм.
    • 2 периметра
    • 20% заполнение
  3. Однако будьте осторожны - созданная мною полость не имеет опор, и внутренняя часть становится немного грязной (особенно с PLA с древесной набивкой, которая плохо соединяется)

Вершина

Это необязательная деталь. Я создал его в TinkerCAD, чтобы скрыть отверстие в верхней части лампы. Ничего особенного, но работает.

  1. https://www.tinkercad.com/things/5aD6V4O0jpy
  2. Опоры и плоты не требуются.
  3. Я использовал следующие настройки:

    • Сопло вулкана 0,8 мм и высота слоя 0,3 мм.
    • 2 периметра
    • 30% заполнение

Шаг 3: Электронная схема

Электронная схема
Электронная схема
Электронная схема
Электронная схема
Электронная схема
Электронная схема

Схема, используемая для этой лампы, чрезвычайно проста, и если ваши WS2812B (некоторые работают, некоторые нет) работают с сигналом 3,3 В, это еще проще, поскольку вы можете избежать 74HCT245N.

Основная схема (см. Схему выше):

  1. 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).
  2. 74HCT245N (игнорируйте это, если ваши светодиоды WS2812B работают напрямую от 3,3 В)

    • Подключите контакты 1 и 20 к + 5В.
    • Подключите контакты 10 и 19 к GND.
    • Подключите контакт 2 к контакту 13 ESP-12E.
  3. 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

Программирование ESP-12E
Программирование ESP-12E

Я использовал IDE Arduino для загрузки кода в ESP-12E. Прежде чем вы сможете это сделать, потребуется некоторая настройка.

Настройка IDE Arduino

Последняя версия Arduino IDE упростила программирование этих плат, и вам больше не нужно проходить через несколько обручей, чтобы заставить его работать с платами ESP8266.

Шаги следующие:

  1. Загрузите последнюю версию IDE с
  2. Откройте IDE и перейдите в Инструменты -> Платы -> Диспетчер плат…
  3. Найдите ESP8266 и нажмите «Установить» (см. Изображение выше).

Программирование модуля

Этот модуль не имеет интерфейса USB, поэтому вам необходимо использовать модуль USB-TTL / arduino для обработки USB-связи с компьютером. Вы можете купить любой из дешевых модулей, доступных на ebay (https://www.ebay.com/sch/i.html?_from=R40&_sacat=0&…) - все работают одинаково - только будьте осторожны при поиске правильных драйверов, поэтому что ваш компьютер обнаруживает модуль.

Подключения довольно простые:

  1. Подключите GND от USB-TTL к контакту с пометкой GND на ESP-12E.
  2. Подключите 3,3 В от USB-TTL к контакту с маркировкой VCC на ESP-12E.
  3. Подключите TX от USB-TTL к контакту с маркировкой RX на ESP-12E.
  4. Подключите приемник от USB-TTL к контакту с маркировкой TX на ESP-12E.
  5. Закоротите заголовок программы, чтобы PIN-код 12 подключался к GND.

Теперь модуль готов к программированию.

Шаг 5: Код

Код в значительной степени зависит от учебника по Random Nerd Tutorials https://randomnerdtutorials.com/esp8266-weather-fo… - на самом деле биты погоды полностью скопированы оттуда.

  1. Установите следующие библиотеки:

    • FastLED (https://fastled.io)
    • ArduinoOTA (https://github.com/esp8266/Arduino/tree/master/libraries/ArduinoOTA)
    • ArduinboJSON (https://github.com/bblanchon/ArduinoJson)
  2. Получите API OpenWeatherMap (https://openweathermap.org/api)
  3. Загрузите код с гитхаба:
  4. Сделайте следующие изменения:

    • Wi-Fi и пароль в строках 56 и 57
    • Город и ключ API в строках 23 и 24
  5. Загрузить в ESP-12E

Если все прошло успешно, код загружен, ваш модуль подключается к Wi-Fi роутеру и показывает погоду. В настоящее время я настроил так, чтобы:

  1. Если будет пасмурно / дождь - синий
  2. Если будет снег / гроза - красно-синий
  3. Если ясно - зеленый
  4. Else Rainbow - для учета особых условий / ошибок

Вы можете внести изменения в строки 365-377, чтобы изменить их. Используемые палитры находятся в строках 70-82.

Шаг 6: соберите

Image
Image
Конкурс Arduino 2017
Конкурс Arduino 2017

Соберите следующие детали:

  1. Оберните светодиодную ленту к светодиодной подставке и приклейте горячим клеем
  2. Вставьте модуль схемы снизу и приклейте горячим клеем.
  3. Наденьте волновую лампу на верхнюю часть светодиодной подставки.
  4. Поместите верх сверху

Подключите к источнику питания 5 В и наслаждайтесь

Шаг 7: планы на будущее

На данный момент он работает, однако я планирую добавить следующие функции:

  1. Включите MQTT, чтобы его можно было связать с OpenHAB
  2. Может быть, создать какую-нибудь функцию уведомления о пропущенных звонках / сообщениях
  3. Просыпайся свет

Предложения приветствуются. И если вы его создадите, обязательно разместите здесь изображение.

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