Tabla de contenido:

Barras LED sincronizadas con malla WiFi: 3 pasos (con imágenes)
Barras LED sincronizadas con malla WiFi: 3 pasos (con imágenes)

Video: Barras LED sincronizadas con malla WiFi: 3 pasos (con imágenes)

Video: Barras LED sincronizadas con malla WiFi: 3 pasos (con imágenes)
Video: 🔴 El Futuro de las TIRAS LED - Govee Neon Rope / Mejor que Philips Hue ? 2024, Mes de julio
Anonim
Image
Image
Barras LED sincronizadas con malla WiFi
Barras LED sincronizadas con malla WiFi
Barras LED sincronizadas con malla WiFi
Barras LED sincronizadas con malla WiFi
Barras LED sincronizadas con malla WiFi
Barras LED sincronizadas con malla WiFi

Por CarlSTeleToyland Siga más por el autor:

Selector de color remoto para LED domésticos
Selector de color remoto para LED domésticos
Selector de color remoto para LED domésticos
Selector de color remoto para LED domésticos
LED sincronizados en todo el vecindario
LED sincronizados en todo el vecindario
LED sincronizados en todo el vecindario
LED sincronizados en todo el vecindario
Iluminación de vacaciones de casa LED digital permanente V2
Iluminación de vacaciones de casa LED digital permanente V2
Iluminación de vacaciones de casa LED digital permanente V2
Iluminación de vacaciones de casa LED digital permanente V2

Acerca de: Un creador desde la infancia con todos los síntomas clásicos, un constructor de robots y un CTO / Tech Product Manager de software de Internet. Más acerca de CarlS »

Este proyecto es una colección de barras LED con LED digitales controlables individualmente (WS2812b "Neopixels"). Permiten realizar animaciones a través de ellos sin conectarlos entre sí. Usan una malla WiFi para conectarse entre sí, y la animación se adapta a tener más o menos barras en la malla.

La inspiración fue que un par de tambores mayores decoraran mazas / bastones para un desfile de Navidad. La animación LED entre ellos está sincronizada. Los LED también pueden ser hebras en lugar de tiras.

El otro uso es para una instalación de arte LED en la que no desea colocar un cable de datos entre todos los LED de una habitación; todo lo que necesitan hacer es enchufarlos individualmente.

Para este proyecto, no están conectados a Internet. Establecieron sus propios puntos de acceso WiFi privados y servidores web. Por lo tanto, este proyecto no depende de redes externas y puede ejecutarse en ubicaciones remotas. Funcionan con 5v, por lo que se pueden alimentar fácilmente con baterías externas de teléfonos móviles.

Paso 1: Partes

Partes
Partes
Partes
Partes
Partes
Partes

Las siguientes partes se utilizaron en el proyecto para cada tira:

  • Una tira de LED WS2812b no impermeable. Usé 30 LED / metro. Los que no son impermeables generalmente tienen cinta de doble cara ya adherida para que sean fáciles de montar. Necesitará 1 metro por canal ya que los canales tienen un metro de largo. Más LED por metro está bien, solo asegúrese de obtener una fuente de alimentación correspondientemente grande. Cada LED (5050) en estas tiras puede usar hasta 60 mA cuando está completamente encendido.
  • Gabinete de plástico para proyectos electrónicos de 60x36x25 mm: este es lo suficientemente pequeño como para contener un D1 Mini.
  • Un conector de CC de 5,5 mm x 2,1 mm para montaje en panel

  • Una fuente de alimentación de 5v: una de 2 amperios debería estar bien con 30 LED a 0.06 amperios cada una cuando esté completamente encendida.
  • Un cable USB a 5,5 mm x 2,1 mm si desea alimentar este proyecto con una batería USB
  • Una placa D1 Mini ESP8266, también disponible por menos, pero con una espera más larga.
  • Canal de aluminio con tapa y tapones para tiras de LED. Hay muchos perfiles para elegir. Este es lo suficientemente ancho para las tiras de LED WS2812b (12 mm) y de perfil bajo.
  • Barra de aluminio: el canal tiene 17 mm de ancho, por lo que una barra de aluminio de 1/2 "de ancho es de buen tamaño. Debe tener un grosor de 1/16" y 6 "de largo por cada barra que haga.
  • Cinta de espuma de doble cara - 1/2 "de ancho.
  • Condensador de 1000uF: recomendado para cada tira, para ayudar a evitar que los picos de voltaje dañen los LED.
  • Conectar cable. Este cable de silicona de calibre 26 es muy flexible y ayuda a evitar que el cable tire de las almohadillas de soldadura de la tira de LED. Tampoco se derrite cuando lo tocas con el soldador. También he usado cable servo que también es muy flexible, pero el cable de silicona es mi nuevo cable favorito. Solo necesitará aproximadamente 6 "de cada color (rojo, negro, amarillo).
  • Cables de puente: el rojo, el negro y el amarillo hembra se utilizan para conectarse a la CPU. Puede omitir estos y soldar el cable de conexión directamente a la placa si es del tipo seguro.
  • Una resistencia de 330 ohmios para reducir el ruido en la línea de datos de la tira de LED.
  • Un diodo de señal 1N4448 o similar para permitir que el procesador de 3.3v controle de manera confiable la tira de LED de 5v.
  • Tubo termorretráctil de 3 mm: solo necesitará alrededor de 5 ".

Paso 2: construye las barras

Construye las barras
Construye las barras
Construye las barras
Construye las barras
Construye las barras
Construye las barras
Construye las barras
Construye las barras

La construcción de las barras es la misma que en este Instructable anterior. Aquí hay imágenes paso a paso similares de una compilación reciente, y la discusión se puede encontrar en ese otro Instructable.

Un nuevo consejo sobre cómo pegar los LED al canal de aluminio: a veces, la cinta de doble cara en las tiras de LED es un poco más corta que la placa de circuito de LED y verá una ligera hebilla en la tira de LED. Si simplemente corta la cinta en ese lugar, quedará plana.

También utilicé algunas gotas de pegamento UV para bloquear el cable de alimentación y cualquier parte de la tira de LED que no se quedara abajo.

En lugar de los controladores Particle Photon, este proyecto utilizó placas WeMos D1 Mini, basadas en el conjunto de chips ESP8266. Estos son agradables y pequeños para un proyecto de LED. Usé encabezados masculinos para dejar espacio para los saltadores femeninos. La inversión de los conectores no encajará en la carcasa. Este enfoque también es fácil de soldar. También he usado cable de núcleo sólido de calibre 20 con conectores hembra prensados, y eso también funciona, pero requiere más esfuerzo.

Estas barras utilizan el mismo enfoque de LED de sacrificio para el primer LED. En la práctica, realmente no se nota. Además, la pequeña brecha entre los dos primeros también es casi imperceptible.

Si tiene la intención de utilizar los clips para montar el canal de aluminio, la barra de aluminio que conecta el canal a la caja del proyecto puede interferir con el montaje directo de los clips en la pared, por lo que es posible que deba colocar algunas arandelas o una tuerca suelta debajo. allí para separarlos por 1/16.

Paso 3: Código de malla

Image
Image
Código de malla
Código de malla

Cada una de las barras LED está ejecutando el mismo código. La base de este proyecto es la biblioteca painlessMesh en https://gitlab.com/BlackEdder/painlessMesh. Esa biblioteca maneja la mayor parte del trabajo de bajo nivel de establecer puntos de acceso, servidores web, etc. Cada barra es un nodo de malla.

La malla tiene un controlador y los avisos de cambio de animación se transmiten a todos los nodos / barras LED. Para una malla grande, podría haber algo de latencia en la mensajería, pero para la escala en la que estaba trabajando, no se notaba.

En el inicio, el nodo asume que es el controlador, pero luego el mensaje ChangeNodes desencadena una evaluación. El número de identificación de chip más bajo de la malla se convierte en el controlador. Esto generalmente toma uno o dos segundos para que todos los nodos se estabilicen y asuman un solo controlador. Podría esforzarse más en volver a sincronizar más rápido (a mitad de la animación), pero esos mensajes de cambio son bastante conversadores, por lo que la red tarda un poco en establecerse de todos modos. En la práctica, una vez que se vuelven a sincronizar, se mantienen muy sólidos.

Para las animaciones que cruzan barras, el código obtiene una lista de los nodos, la ordena y luego solo dibuja si el nodo actual es el que se está dibujando. Se clasifican en orden de identificación de chip, por lo que puede hacer animaciones que serán consistentes, sin importar cuándo se inicien. Además, las animaciones se adaptarán a los nodos que se eliminen.

El código de animación aparece en tres lugares. La primera es la función SavedCallback, donde la barra ha recibido un nuevo comando de animación. Esto es bastante simple: simplemente establece el tamaño del paso de tiempo para la animación y restablece los contadores. El segundo lugar está en la función de bucle. Allí, el código verifica si la animación actual está lista y pasa al siguiente paso. El lugar final para el código de animación es la función stepAnimation, donde se realiza todo el dibujo.

El sistema usa el temporizador milis para actualizar, evitando el uso de la función de retardo ya que bloquea algunas de las bibliotecas. El código de milisegundos debería reiniciarse correctamente.

Tenga en cuenta que tuve problemas con la biblioteca NeoPixel y painlessMesh con más de un LED, así que cambié a FastLED.

Aquí está el código en GitHib, y también se adjunta aquí. ¡Prácticamente lo carga en todas las barras y está listo para continuar con la codificación de animación LED!

Recomendado: