Tabla de contenido:

Reloj de animación LED SMART conectado a la web con panel de control basado en la web, servidor de tiempo sincronizado: 11 pasos (con imágenes)
Reloj de animación LED SMART conectado a la web con panel de control basado en la web, servidor de tiempo sincronizado: 11 pasos (con imágenes)

Video: Reloj de animación LED SMART conectado a la web con panel de control basado en la web, servidor de tiempo sincronizado: 11 pasos (con imágenes)

Video: Reloj de animación LED SMART conectado a la web con panel de control basado en la web, servidor de tiempo sincronizado: 11 pasos (con imágenes)
Video: Si tienes UNA TABLET ANTIGUA, DEBES activar estas opciones! 2024, Mes de julio
Anonim
Image
Image
Reloj de animación LED SMART conectado a la web con panel de control basado en la web, servidor de tiempo sincronizado
Reloj de animación LED SMART conectado a la web con panel de control basado en la web, servidor de tiempo sincronizado
Reloj de animación LED SMART conectado a la web con panel de control basado en la web, servidor de tiempo sincronizado
Reloj de animación LED SMART conectado a la web con panel de control basado en la web, servidor de tiempo sincronizado

La historia de este reloj se remonta a mucho tiempo atrás: más de 30 años. Mi padre fue pionero en esta idea cuando yo tenía solo 10 años, mucho antes de la revolución del LED, cuando los LED eran 1/1000 del brillo de su brillo cegador actual. Un verdadero innovador, codificó en lenguaje ensamblador y conectó manualmente cada LED individual (¡una impresionante hazaña de paciencia y determinación)! Su versión original todavía funciona hasta el día de hoy.

Quería retomarlo donde lo dejó y aprovechar los avances en tecnología para hacer un hermoso reloj conectado a la web, colorido, divertido de jugar y lleno de interés. Ha avanzado hasta el punto en que nos gustaría lanzar el reloj al público como un proyecto de código abierto, pero también proporcionar productos terminados a aquellos interesados en comprar. ¡Vea nuestra campaña de indiegogo si está interesado en apoyar!

El reloj tal como está hoy tiene una serie de características y es un producto completamente terminado y funcional. Estamos muy satisfechos con el resultado tanto en términos de calidad y funcionalidad como en términos de conjunto de características y estabilidad. El reloj se sincroniza cada minuto con un servidor de tiempo, lo que garantiza que la hora siempre sea perfecta. Los usuarios solo necesitan configurar la zona horaria una vez, habilitar el modo de horario de verano y nunca más tendrán que preocuparse por configurar el reloj nuevamente.

52 animaciones diferentes con color, velocidad y brillo ajustables brindan al usuario un control preciso y una variación infinita. Los modos favoritos se guardan en la memoria. Se pueden configurar temporizadores de luz y eventos diarios que permiten a los usuarios ser notificados visualmente a la hora seleccionada. Los modos especiales de vacaciones pueden agregar festividad a su casa durante Halloween, Año Nuevo o Navidad. Incluso tenemos un modo especial para el día pi donde el reloj anima los dígitos de pi por 100 dígitos cada hora.

El reloj funciona con un Node MCU ESP8266 conectado a la web y está programado utilizando el lenguaje arduino y las populares bibliotecas c ++ que vienen de serie en la plataforma arduino. ¿Quieres hacer uno? Así es cómo:

Paso 1: Reúna los materiales

Reúna los materiales
Reúna los materiales
Reúna los materiales
Reúna los materiales

Aquí hay una lista completa de todo lo que necesitará con precios y enlaces.

  • Pieza en blanco de madera circular de 18 "de diámetro y 1" de grosor - $ 10,40 - Lowes
  • Acrílico difusor de luz - $ 5.79 + $ 6.55 Envío = $ 12.34 de Amazon
  • (2) Cadenas de LED precableadas de 50 - $ 11,67 x 2 = $ 23,34 de eBay
  • Emisión lateral de LED - $ 26.62 de Adafruit
  • MCU de nodo ESP 8266 - $ 8.39 de Amazon
  • Coleta de 2.5 mm - $ 6.99 (paquete de 10) de Amazon
  • Placa de circuito de creación de prototipos de 4 cm x 6 cm - $ 9,99 (paquete de 10 - necesitará 1) de Amazon
  • Bloques de terminales - $ 7.99 (paquete de 20 - necesitará 5)
  • 1x8 pieza de pino - $ 4.79 de Lowes
  • 1/4 pieza de material para pisos de madera dura (para el soporte) Número de artículo 422633 - $ 10.48 de Lowes
  • (1) fuente de alimentación de 5v, 5a - $ 14.99 de Amazon
  • Material de respaldo de utilidad de 2.7 mm (artículo 757295000023) - $ 10.98 de Home Depot
  • (20) Tornillos para madera negros # 6 - $ 6.83 - Amazon
  • Tinte y capa transparente. ¡Se recomiendan acabados generales! - aproximadamente $ 20 de Woodcraft
  • (2) Tuercas negras de 1 / 4-20 (artículo 755801) - $ 1.38 de Lowes
  • (2) Tornillos negros de cabeza plana de 1 / 4-20 (artículo 755806) - $ 1.49

Precio total de los artículos enumerados aquí: $ 177.38

Herramientas necesarias:

  1. máquina CNC
  2. Pistola de silicona
  3. Soldador
  4. Dremel o lima manual
  5. Pelacables

Paso 2: familiarícese con la página web

Image
Image
Familiarícese con la página web
Familiarícese con la página web
Familiarícese con la página web
Familiarícese con la página web

Esta parte es lo que hace que el reloj sea divertido y genial. La página web está dividida en cuatro secciones: Configuración general, Color, Animaciones de anillo y Animaciones de números.

  • Configuración general: esta sección incluye ajustes como el horario de verano, la zona horaria, etc. También está presente en esta página una opción para guardar y recuperar tres configuraciones de reloj diferentes. Esto permite al usuario guardar escenas favoritas. Todas las configuraciones se guardan en eeprom (memoria no volátil); Además, la configuración actual siempre se guarda para que, en caso de un corte de energía, el reloj se recupere donde lo dejó.
  • Opciones de color: todos los aspectos del reloj se pueden personalizar. Para cambiar el color de cualquier elemento, simplemente haga clic en el botón correspondiente al elemento que desea cambiar y luego haga clic en la rueda de colores. Dentro de la rueda de colores hay un blanco puro. Fuera de la rueda de colores apaga el LED.
  • Animaciones de anillo: las animaciones de anillo son eventos que ocurren cada minuto (es decir, animaciones que avanzan el minutero) o actividades interesantes como un péndulo. Elija entre una variedad de opciones aquí
  • Animaciones numéricas: las animaciones numéricas son pantallas de luz que no están vinculadas a un evento temporal. Más bien crean estados de ánimo o interés. Hay 52 opciones diferentes aquí y se pueden hacer aún más interesantes ajustando el brillo o la velocidad usando las barras deslizantes.

El html y javascript de esta página están incluidos en el código fuente que está alojado en github. Llegaremos a eso en un momento.

Paso 3: preparar los archivos CNC

Prepare los archivos CNC
Prepare los archivos CNC
Prepare los archivos CNC
Prepare los archivos CNC
Prepare los archivos CNC
Prepare los archivos CNC
Prepare los archivos CNC
Prepare los archivos CNC

El trabajo de construcción de la máquina CNC está presionando continuar en su máquina CNC. Pero como todo el mundo sabe, ¡el trabajo con CNC es un 95% de preparación y un 5% de corte! Algunas palabras sobre la configuración son importantes aquí.

En primer lugar, es fundamental conseguir una luminaria sólida. Elijo mantener presionada la pieza en bruto de madera con estas abrazaderas de leva. ¡Funcionan increíble y son muy fuertes! Para que no dañen la madera, coloco unos pequeños trozos de goma entre la zona de contacto y la madera (esto no reducirá la fuerza de sujeción). Más allá de ser increíblemente fuertes, otra gran ventaja de estas abrazaderas es el hecho de que la altura total de la abrazadera está por debajo de la superficie de trabajo, por lo que nunca hay peligro de colisión. Si no tiene estas abrazaderas disponibles, la cinta de doble cara puede funcionar. Cualquiera que sea su método, asegúrese de tener fuertes sujeciones y una alineación adecuada de la veta.

Nota importante: Tendrá que girar el reloj y el CNC a ambos lados de la máquina, así que asegúrese de indexar su pieza de madera. Asegúrate de poder darle la vuelta y estar EXACTAMENTE en el mismo lugar. ¡Esto es esencial para hacer un buen reloj!

Ahora, algunas notas sobre el trabajo CAD y CAM.

El archivo Cad (ProductionClockMaster.3dm) es un archivo Rhino3d y tiene todas las capas CAD necesarias para el reloj. Si necesita un formato más genérico, también he incluido una exportación * dxf de las capas frontal y posterior del reloj. Esta debería ser toda la información que necesita.

El trabajo de CNC CAM se divide en 9 operaciones CNC independientes. Los archivos de gcode de Mach3 reales se incluyen en el repositorio de GitHub, así como en los archivos de VCarve que los produjeron (si necesita abrirlos y exportarlos con un postprocesador diferente).

Todos los archivos del proyecto están disponibles en GItHub. A continuación se explica cómo interpretar los archivos. Son relativamente autoexplicativos, pero aquí hay algo de ayuda adicional para aclarar cualquier posible confusión. Los primeros cinco archivos se enumeran en orden de operación de corte. El nombre del archivo termina entre paréntesis con el tamaño de la herramienta de corte. Entonces, por ejemplo, 01_Rear Pockets_v1.8_ (1-2 pulgadas)

  • Este nombre de archivo comienza con 01, por lo que es la primera operación.
  • Recortará los bolsillos traseros.
  • Esta es la versión 1.8 (comencé con 0.0, ¡así que te dice cuántos errores cometí!)
  • Use una herramienta de corte de 1/2 pulgada

Además de estas cinco operaciones de bloques de madera, hay dos operaciones de soporte, una operación de elemento acrílico y una operación de placa de cubierta trasera.

Una operación que es única es la operación de CNC con ranura en T. Esto proporciona un canal para que se deslicen los pernos del soporte de escritorio. Necesitará una broca para ranura en T como la que se muestra en la fotografía de arriba.

Nuevamente, si necesita algo que no sea el postprocesador estándar de Mach3, abra los archivos VCarve y expórtelos en su formato local. El siguiente paso es el de cortar el núcleo e ilustrar paso a paso cómo debería verse el reloj en cada etapa.

Paso 4: corte el núcleo del reloj, el soporte de escritorio, las baldosas acrílicas y el material de respaldo

Corte el núcleo del reloj, el soporte de escritorio, las baldosas acrílicas y el material de respaldo
Corte el núcleo del reloj, el soporte de escritorio, las baldosas acrílicas y el material de respaldo
Corte el núcleo del reloj, el soporte de escritorio, los azulejos acrílicos y el material de respaldo
Corte el núcleo del reloj, el soporte de escritorio, los azulejos acrílicos y el material de respaldo
Corte el núcleo del reloj, el soporte de escritorio, las baldosas acrílicas y el material de respaldo
Corte el núcleo del reloj, el soporte de escritorio, las baldosas acrílicas y el material de respaldo

Aquí hay algunas fotos de cada una de las piezas terminadas a medida que salen de la máquina. El acrílico es el corte más desafiante ya que el acrílico tiende a derretirse si se calienta demasiado y también se agita y se levanta si no se sujeta de forma segura. Una cortadora láser sería ideal si tiene una. Como puede ver en la foto, hice una plantilla especial que sujeta firmemente los cuatro lados. La cinta de doble cara probablemente sería la mejor opción para esta operación, pero llevaría un poco más de tiempo quitarla.

Paso 5: personalizar con el diseño y el acabado de la esfera del reloj

Personalizar con arte y acabado de la esfera del reloj
Personalizar con arte y acabado de la esfera del reloj
Personalizar con arte y acabado de la esfera del reloj
Personalizar con arte y acabado de la esfera del reloj
Personalizar con arte y acabado de la esfera del reloj
Personalizar con arte y acabado de la esfera del reloj

El reloj se puede utilizar sin problemas sin este paso, pero es divertido personalizarlo según sus necesidades o gustos. Hemos probado muchos diseños diferentes y el cielo es el límite aquí. ¡Nos encantaría ver ejemplos de cosas que se te ocurran!

En términos de acabado, hemos probado muchas cosas diferentes, pero nos encanta la simplicidad y facilidad de tinción. ¡También nos encanta la capa de acabado General Finishes, ya que es particularmente fácil de instalar, duradera y se ve muy bien! Ahora es el momento de hacer eso antes de que comencemos a instalar la electrónica.

Consejo: no olvide teñir también el soporte del escritorio, el conector de la placa posterior y la placa posterior al mismo tiempo. ¡Es fácil dejarse llevar y olvidarse de estos accesorios!

Paso 6: Azulejos acrílicos y montaje del soporte

Azulejos acrílicos y montaje de soporte
Azulejos acrílicos y montaje de soporte
Azulejos acrílicos y montaje de soporte
Azulejos acrílicos y montaje de soporte
Azulejos acrílicos y montaje de soporte
Azulejos acrílicos y montaje de soporte
Azulejos acrílicos y montaje de soporte
Azulejos acrílicos y montaje de soporte

Después de aplicar el acabado a las piezas de madera, es hora de presionar las baldosas acrílicas y montar el soporte. Las baldosas acrílicas tienen tolerancias de ajuste a presión y no requieren ningún adhesivo en general. Algunas de las baldosas pueden necesitar pequeñas cantidades de lijado o limado, pero en general, solo presionan en su lugar y está listo para comenzar. Si encuentra que algunos de ellos están demasiado sueltos y se caen, usamos unas gotas de pegamento escolar blanco de Elmers ya que es fácil de aplicar, se seca perfectamente transparente y proporciona mucha adherencia. ¡El frente de su reloj ahora está COMPLETO! Retroceda y disfrute.

También en este momento también puede presionar en el soporte las tuercas de 1 / 4-20 y atar los pernos que se deslizan hacia abajo por los canales de la ranura en T. Coloque el soporte en la base con un poco de pegamento y su soporte de escritorio estará listo.

Paso 7: instale los LED precableados en el núcleo del reloj

Image
Image
Instale los LED precableados en el núcleo del reloj
Instale los LED precableados en el núcleo del reloj

¡Bien, nos estamos acercando! Probablemente, la parte del reloj que consume más tiempo es presionar los LED individuales. Hay un total de 100 LED en esta parte del reloj y, dado que los LED vienen en tiras de 50, necesitará dos tiras que estén conectadas de un extremo a otro. Las tolerancias de las cavidades LED son tales que básicamente se ajustan a presión. A pesar de que las tolerancias de ajuste a presión mantienen los LED en su lugar, usamos un poco (un toque muy pequeño) de pegamento caliente para brindar seguridad adicional. Demasiado pegamento y el exceso se escurrirá y bloqueará los LED.

Después de este paso, tendrá muchos bucles saliendo de la parte posterior del reloj que deberá presionar hacia abajo para que el panel posterior encaje en su lugar. Un poco de aire caliente de un secador de pelo hace que los cables sean más flexibles y fáciles de doblar. Nuevamente, el uso de pegamento caliente mantiene estos cables asegurados.

En total, este proceso tarda entre 45 minutos y una hora. Vea las imágenes de arriba para ver cómo debería verse este paso. ¡Mire también el divertido video de lapso de tiempo! ¡Si tan solo pudiéramos cablear tan rápido!

Paso 8: ensamble la electrónica

Ensamblar la electrónica
Ensamblar la electrónica
Ensamblar la electrónica
Ensamblar la electrónica
Ensamblar la electrónica
Ensamblar la electrónica

El cableado eléctrico es fácil, pero aquí hay una explicación detallada. Descubrimos que la forma más fácil de cablear es usar una placa proto de 4 cm x 6 cm (del tamaño de la cavidad del CNC) e instalar terminales de tornillo que recibirán las tiras de LED, así como el adaptador de corriente CC. Intentamos soldar de una manera más directa y no solo es engorroso y difícil, sino que hace que sea imposible quitar o reemplazar las tripas del reloj en caso de que el ESP8266 se rompa o necesite una actualización. El uso de encabezados es más flexible y, creemos, más fácil.

Una vez instalados los terminales de tornillo, simplemente siga el diagrama de cableado para conectar los terminales a los pines correctos. No hay componentes reales en la PCB, solo rastros desde los encabezados hasta los pines ESP8266 apropiados.

El pin 4 es el pin para los LED de anillo y el pin 2 es el pin para los números. Positivo va a VSS y Negativo va a tierra.

Lo único que se necesita es una resistencia de 300 ohmios en el pin de datos de la tira de LED. En cada tira de WS2812b que he visto (y he visto muchas), este es el pin central. Esta resistencia protege la tira de picos de voltaje peligrosos y sobretensiones que podrían causar daños o un comportamiento impredecible. Me he olvidado de instalar esta resistencia y he quemado el primer LED de la tira (otras veces no pasó nada y funcionó perfectamente). La resistencia debe agregarse en línea, lo que significa que funciona como un eslabón en la cadena que conecta la placa al cable del LED. Algunas tiras de LED ya tienen estas resistencias instaladas y otras no. Si no está seguro de si su tira de LED tiene una, continúe y agregue una de todos modos. No hay nada de malo en hacerlo. Asegúrese de agregar esta resistencia en línea lo más cerca posible del lado del LED del cable de conexión, NO del lado de la PCB.

La cavidad en la parte posterior del reloj está diseñada para dos propósitos. Puede recibir el cuerpo de un transformador de 5v para montaje en la pared o puede contener una batería opcional. Aquí se ilustra una batería común de 5 V que se utiliza para ampliar el alcance de los dispositivos inalámbricos. Simplemente compre un adaptador USB a 2.5 mm y su reloj ahora funciona con batería.

Deberá perforar un orificio desde la cavidad central hasta la PCB para recibir el cable flexible hembra de CC. Esto se hace fácilmente simplemente inclinando la broca. ¡Asegúrate de mantenerte superficial para no perforar la esfera del reloj! Se muestra la operación de perforación completada con el cable flexible envuelto cuidadosamente en la cavidad.

Paso 9: Cargue el código

Sube el código
Sube el código
Sube el código
Sube el código
Sube el código
Sube el código

El código del reloj se puede encontrar en la página de github de brightlightart. El código se mejora constantemente y está bien comentado. Si no está familiarizado con los archivos *.ino, este es un formato de archivo Arduino y debe compilarse con el IDE de arduino. Una vez compilado, lo carga a través del conector microUSB estándar en el ESP8266. Si necesita ayuda sobre cómo hacer esto usando el ESP 8266, aquí hay un excelente tutorial sobre cómo programarlo con esta popular interfaz. Está bastante cerca de salir de la caja, ¡pero no del todo!

¿Qué hacen estos diferentes archivos? Aquí hay un desglose de la estructura de estos archivos y lo que hacen en el panorama general.

Carpeta del servidor web

Index.htm -Cuando el código se carga inicialmente en el ESP8266, se le presentará una página de carga que le pedirá que cargue un archivo. Sube el archivo index.htm. Este archivo sirve a la página web; los otros archivos de la carpeta están alojados en brightlightart.com, pero están aquí para su referencia en caso de que desee cambiar las hojas de estilo / javascript y alojarlos usted mismo

Carpeta principal

  • enLIGHTen-LED-Clock.ino: este es el archivo principal y se origina en el excelente proyecto McLighting. El guión ha sido muy modificado de su estado original, pero estamos en deuda con este proyecto como un excelente punto de partida para nuestro proyecto.
  • colormodes.h: maneja la mayoría de las animaciones de luz en el anillo. También maneja funciones de tiempo.
  • definitions.h: define la mayoría de las variables globales.
  • request_handlers.h: se comunica con el ESP8266 y maneja las solicitudes entrantes y envía información al ESP8266.
  • spiffs_webserver.h: ayuda a presentar e interpretar la página web. Este es el único archivo sin cambios del proyecto McLighting.
  • WS2812FX.cpp: maneja las animaciones ligeras en los números. Esto se ha extraído casi en su totalidad de la excelente biblioteca kitsurfer WS2812B. El cambio principal aquí es agregar funcionalidad para que la manecilla de la hora permanezca encendida
  • WS2812FX.h: archivo de encabezado que acompaña a la biblioteca WS2812fx. Esto prácticamente no ha cambiado.

Archivos de inclusión adicionales

Además de los archivos incluidos aquí, necesitará las siguientes bibliotecas. Estas son bibliotecas estándar y se incluyen fácilmente buscando dentro del IDE.

  • NtpClientLib.h
  • DNSServer.h
  • FS.h
  • ESP8266mDNS.h
  • EEPROM.h
  • WiFiClient.h
  • Ticker.h
  • WiFiUdp.h
  • WiFiManager.h
  • WebSocketsServer.h
  • WebSockets.h
  • ESP8266WiFi.h
  • ESP8266WebServer.

Paso 10: Configuración inicial del reloj y demostración EnLIGHTen

Configuración inicial del reloj y demostración EnLIGHTen
Configuración inicial del reloj y demostración EnLIGHTen
Configuración inicial del reloj y demostración EnLIGHTen
Configuración inicial del reloj y demostración EnLIGHTen
Configuración inicial del reloj y demostración EnLIGHTen
Configuración inicial del reloj y demostración EnLIGHTen
Configuración inicial del reloj y demostración EnLIGHTen
Configuración inicial del reloj y demostración EnLIGHTen

Después de cargar el código fuente y encender la energía por primera vez, todas las luces serán de color azul estático. Esta es su indicación de que el reloj está transmitiendo un punto de acceso y está esperando que se conecte. Usando un teléfono, computadora portátil o cualquier dispositivo inalámbrico, escanee las redes cercanas (como lo haría si estuviera tratando de conectarse a Internet en una cafetería). En la lista de redes disponibles debería ver una titulada "reloj". Conéctese a él.

Una vez que se conecte a esa red, se cargará automáticamente una página web (nuevamente, como una redirección que experimentaría en una cafetería). Tenga paciencia, ya que a veces esto puede tardar hasta 30 segundos. La página web le pedirá que busque redes cercanas. Seleccione la red de su hogar u oficina y proporcione la contraseña de WiFi. Una vez que haga clic en enviar, la contraseña inalámbrica de su red local se guardará en la memoria. Solo tendrás que hacer esto una vez. El reloj se reiniciará.

Cuando comience de nuevo, verá que muestra una serie de números en orden. Los números que muestra son la dirección IP de la página web a la que necesita conectarse. Por ejemplo, podría mostrar 1, 9, 2,., 1, 6, 8,., 0,., 3, 1. Esto se traduce en https://192.168.0.31. Escriba esta dirección en la página web y ahora debería estar conectado a su reloj. ¡Configura y diviértete! Nuevamente, el reloj utiliza tecnología websocket, por lo que cualquier cambio que realice debe reflejarse de inmediato sin necesidad de presionar guardar o actualizar la página web. ¡Es muy interactivo y divertido en este sentido!

Si por alguna razón pierde la conexión, simplemente actualice su página web. La mayoría de los enrutadores mantienen la misma dirección IP para los dispositivos conectados, pero de vez en cuando tienden a cambiar, así que preste atención al inicio. Si necesita que le recuerden la dirección IP de la página web, simplemente reinicie el reloj.

Una vez que se sienta cómodo con el funcionamiento del código, ¡no olvide instalar el material de respaldo! Los orificios pretaladrados facilitan la alineación. ¡Presione hacia abajo cualquier cable que esté orgulloso y ahora su cableado está seguro y el reloj se ve muy terminado!

Paso 11: Construya, desarrolle, apoye y disfrute

Image
Image

Nos encantaría ver a tantas personas construir y disfrutar de este reloj como sea posible. ¡Nos ha encantado este proyecto y queremos que otros compartan la experiencia! Nos divertimos mucho resolviendo problemas, superando obstáculos, eliminando errores y siendo recompensados con una luz divertida y significativa. El beneficio que hemos recibido de la comunidad creativa de código abierto no tiene precio y nos ha animado a publicar este material fuente para el aprendizaje compartido, la mejora continua y el disfrute técnico. Nos encantaría saber sobre las compilaciones exitosas y las formas en que ha mejorado el reloj enLIGHTen. ¡Envíenos un mensaje y háganoslo saber!

No todo el mundo tiene tiempo, habilidades, herramientas o recursos para construir uno de estos relojes desde cero, así que si está interesado en comprar un reloj completo, ya sea como producto terminado o como base para un desarrollo continuo, por favor apóyenos en indiegogo.

Recomendado: