Saltar al contenido

Lámpara Wave – Clima y alertas

julio 11, 2021
FQWJ8SLJBQU8NMV

Mientras navegaba por el universo, vi esta lámpara Wave absolutamente increíble y TENÍA que construirla.

https://www.thingiverse.com/thing:774456

untitled.21 preview featured

La lámpara está muy bien diseñada y se imprime sin ningún soporte (debe imprimirse en el lateral)

Además, hay una base de lámpara que lleva tiras de LED. https://www.thingiverse.com/thing:904653

LED Fixture wlamp 45 low preview featured

Y, por supuesto, no podía dejarlo simplemente como una lámpara de noche. Tuve que hacerlo wifi y mostrar el clima. Entonces, estoy usando un módulo ESP8266 omnipresente con LED WS2812B para controlar el color de las luces según el pronóstico de hoy. Además, la luz se apaga automáticamente a las 10:00 p.m. y se enciende a las 6:00 a.m.

Paso 1: requisitos

RequisitosRequisitos

Necesitará los siguientes elementos para crear esta lámpara de ondas:

Herramientas:

  1. Impresora 3D: una que puede imprimir al menos 30-35 cm
  2. Módulo USB-TTL para programar el ESP-12E
  3. Pistola de silicona
  4. Soldador

Consumibles:

  1. PLA – blanco para la lámpara y otro color para la base
  2. 30 LED RGB direccionables WS2812B
  3. ESP8266 – 12E
  4. 74HCT245N
  5. Fuente de alimentación 5V
  6. Convertidor de potencia 5V-3.3V
  7. Algunos pines de encabezado y resistencias
  8. Soldar

Paso 2: Impresión 3D

Impresión 3DImpresión 3DImpresión 3D

Imprime en 3D las siguientes piezas

La lámpara

  1. Imprima utilizando el PLA blanco girado en el lateral
  2. No se requieren soportes ni balsas
  3. Aunque usé un borde de 5 mm para asegurarme de que permanezca pegado a la cama mientras imprime
  4. Usé la siguiente configuración:
    • Boquilla volcánica de 0,8 mm y altura de capa de 0,3 mm.
    • 2 perímetros
    • Relleno al 100% (esto realmente no importa ya que las piezas son tan delgadas que se rellenan de todos modos)
  5. Tenga cuidado: esta es una impresión ENORME y lleva mucho tiempo. Por lo tanto, si no se siente cómodo dejando su impresora durante la noche (o durante varias noches), esto no es para usted. Consígalo impreso usando 3Dhubs. La mía tomó ~ 30 horas

El soporte

  1. Modifiqué el soporte usando TinkerCAD para crear una cavidad en la base para la electrónica. Puedes descargarlo aquí: https://www.tinkercad.com/things/aYns42p1j8Q
  2. Imprima usando el PLA de color (usé relleno de madera):
    • Boquilla volcánica de 0,8 mm y altura de capa de 0,3 mm.
    • 2 perímetros
    • 20% de relleno
  3. Sin embargo, tenga cuidado: la cavidad que he creado no tiene ningún soporte y el interior se ensucia un poco (especialmente con el relleno de madera PLA que no se cierra bien)

La parte superior

Esta es una pieza opcional. Lo creé en TinkerCAD para ocultar el agujero en la parte superior de la lámpara. No es nada genial, pero funciona.

  1. https://www.tinkercad.com/things/5aD6V4O0jpy
  2. No se requieren soportes ni balsas
  3. Usé la siguiente configuración:
    • Boquilla volcánica de 0,8 mm y altura de capa de 0,3 mm.
    • 2 perímetros
    • 30% de relleno

Paso 3: circuito electrónico

Circuito electrónicoCircuito electrónicoCircuito electrónico

El circuito utilizado para esta lámpara es extremadamente simple y si sus WS2812B (algunos lo hacen, otros no) funcionan con una señal de 3.3V, es aún más simple, ya que puede evitar el 74HCT245N.

El circuito principal (ver esquema arriba):

  1. ESP-12E (puede omitir estos pasos si usa uno de los módulos prediseñados de Adafruit, Sparkfun, etc.):
    • Conecte los pines 3 y 8 a 3.3V
    • Conecte los pines 1, 11 y 12 a 3.3V a través de una resistencia de 10k
    • Conecte los pines 9 y 10 a GND
    • Conecte el pin 12 a GND a través de un conector de 2 pines abierto. Estos pines se pueden conectar juntos para programar el ESP-12E
    • Conecte los pines 15 y 16 a los pines del cabezal (estos son los pines RX y TX que se usan para programar el ESP-12E)
  2. 74HCT245N (ignore esto si sus LED WS2812B funcionan directamente a 3.3V)
    • Conecte los pines 1 y 20 a + 5V
    • Conecte los pines 10 y 19 a GND
    • Conecte el pin 2 al pin 13 del ESP-12E
  3. WS2812B
    • Conecte + 5V y GND a los pines + 5V y GND respectivamente
    • Conecte el DIN al pin 18 en el 74HCT245N
    • Si se saltea el 74HCT245N, conecte el DIN al pin 13 del ESP-12E

Asegúrese de que todos los GND estén conectados entre sí. Asegúrese de no conectar +5 o +3.3 a GND.

Tenía un par de tablas de un proyecto anterior y simplemente las usé (imágenes de arriba)

https: //github.com/dushyantahuja/ESP8266-RGB-W-LED …

Paso 4: Programación del ESP-12E

Programando el ESP-12E

Usé el IDE de Arduino para cargar el código en el ESP-12E. Necesita alguna configuración antes de que pueda hacer esto.

Configuración del IDE de Arduino

La última versión de Arduino IDE ha facilitado la programación de estas placas y ya no tiene que pasar por varios aros para que funcione con las placas ESP8266.

Los pasos son los siguientes:

  1. Descargue el IDE más reciente de https://www.arduino.cc/en/Main/Software
  2. Abra el IDE y vaya a Herramientas -> Tableros -> Administrador de tableros …
  3. Busque ESP8266 y haga clic en instalar (vea la imagen de arriba)

Programación del módulo

Este módulo no viene con una interfaz USB, por lo que debe usar un módulo / arduino USB-TTL para manejar la comunicación USB con la computadora. Puede comprar cualquiera de los módulos baratos disponibles en ebay (http: //www.ebay.com/sch/i.html? _from = R40 & _sacat = 0 & …) – todos funcionan de la misma manera, con la única salvedad de encontrar los controladores correctos para que su computadora detecte el módulo.

Las conexiones son bastante simples:

  1. Conecte el GND de USB-TTL al pin marcado GND en el ESP-12E
  2. Conecte los 3.3V del USB-TTL al pin marcado VCC en el ESP-12E
  3. Conecte el TX del USB-TTL al pin marcado RX en el ESP-12E
  4. Conecte el RX del USB-TTL al pin marcado TX en el ESP-12E
  5. Haga un corto en el encabezado del programa para que el PIN 12 se conecte a GND

El módulo ahora está listo para ser programado.

Paso 5: el código

El código depende en gran medida del tutorial de Random Nerd Tutorials https: //randomnerdtutorials.com/esp8266-weather-fo … – de hecho, los fragmentos meteorológicos se copian puramente de allí.

  1. Instale las siguientes bibliotecas:
  2. Obtenga una API OpenWeatherMap (https://openweathermap.org/api)
  3. Descarga el código del github: https: //github.com/dushyantahuja/Wave-Lamp-with-we …
  4. Realice los siguientes cambios:
    • Wifi y Password en las líneas 56 y 57
    • City y API Key en las líneas 23 y 24
  5. Subir a ESP-12E

Si todo salió bien, se carga el código, su módulo se conecta al enrutador wifi y muestra el clima. Actualmente, lo configuré para que:

  1. Si va a estar nublado / lloviendo – Azul
  2. Si va a nevar / tormentas eléctricas: rojo-azul
  3. Si está claro – Verde
  4. Else Rainbow: para tener en cuenta condiciones / errores especiales

Puede hacer cambios en las líneas 365-377 para cambiarlas. Las paletas utilizadas están en las líneas 70-82.

Paso 6: Ensamblar

Armar

Ensamble las siguientes piezas:

  1. Envuelva la tira de LED en el soporte de LED y péguela con pegamento caliente
  2. Inserte el módulo de circuito en la parte inferior y péguelo con pegamento caliente
  3. Deslice la lámpara de ondas en la parte superior del soporte LED
  4. Coloque la parte superior en la parte superior

Conéctelo a una fuente de alimentación de 5 V y disfrute

Paso 7: planes futuros

Está funcionando por ahora, sin embargo, planeo agregar las siguientes características:

  1. Incorporar MQTT para que pueda vincularse a OpenHAB
  2. Tal vez cree algún tipo de función de notificación para llamadas / mensajes perdidos
  3. Despierta la luz

Sugerencias bienvenidas. Y si crea uno, asegúrese de publicar una imagen aquí.

Sé el primero en compartir

    8 comentarios

    0
    pepperm
    pepperm

    hace 3 años

    Hola, bien hecho en un gran proyecto pero tengo problemas para compilar el código …

    En primer lugar, está la biblioteca TimeLib.h que debe encontrarse e instalarse, posiblemente algunas bibliotecas más (lo olvido después de agregar bibliotecas adicionales que no están enumeradas en Instructable pero que no están presentes en una instalación básica del IDE de Arduino ) luego obtengo errores con la biblioteca FastLed: pin no válido especificado con todas las placas ESP8266 desde Generic ESP8266 hasta Huzzar.

    Habiendo solucionado todos los problemas de la biblioteca que tuve, parece que no puedo superar el error de pin no válido.

    ¿Hay alguna sugerencia o algo que deba agregarse para que pueda compilar el código, por favor?

    0
    pepperm
    pepperm

    Responder hace 3 años

    Ooooh, espera … Acabo de elegir el NodeMCU 1.0 (Módulo ESP-12E) y el código se compila con éxito … Brillante. Por qué no probé ese hardware antes está más allá de mi comprensión, probablemente porque no tengo uno de esos módulos …

    Entonces, ¿alguna idea de por qué el código no se compilará con, por ejemplo, un WEMOS D1 R2 & Mini?

    0
    lovronix
    lovronix

    hace 3 años

    ¡Se ve muy bien!

    0
    dushyantahuja
    dushyantahuja

    Responder hace 3 años

    Gracias

    0
    XTL
    XTL

    hace 3 años

    Puedes perder el 245 usando un truco de línea eléctrica.
    Conéctese directamente (pin13) al data_in del primer LED 2812. Pero maneje ese LED cortando su conexión de 5V al resto de la tira.
    Coloque un diodo (cualquier cosa funcionará, por ejemplo, IN4148) entre la línea de 5V y la línea de alimentación de 5V del primer LED. Esto reducirá el voltaje lo suficiente para garantizar que el nivel de la unidad de salida ESP funcione en el primer LED. Para los LED posteriores, la línea de datos se regenera y, por lo tanto, es lo suficientemente fuerte como para impulsar el resto.
    Ese primer LED será una pequeña cantidad de atenuador.

    0
    dushyantahuja
    dushyantahuja

    Responder hace 3 años

    Sí, ese es uno de los trucos que he probado; pero el 245 facilita mucho las cosas y apenas cuesta nada.

    0
    inconcebible1
    inconcebible1

    hace 3 años

    ¡parece increíble!

    0
    dushyantahuja
    dushyantahuja

    Responder hace 3 años

    Muchas gracias

    close