Árbol de Navidad inteligente en ESP8266 y ws2811

El año pasado, comencé a recoger el árbol de Navidad muy tarde. Por lo general, el régimen de cierre estándar para cada fin de año para proyectos en diciembre fue especialmente estresante. En general, el niño y yo comenzamos a decorar el árbol un par de días antes del año nuevo. Y la primera sorpresa al decorar el árbol de Navidad fue con una guirnalda de Año Nuevo, comprada hace muchos años, ya sea en el OBI o en Castorama. Uno de los tres canales de color se apagó por completo y el otro funcionó con bajo brillo. Era domingo, y al principio quería ir rápido y comprar un reemplazo. Pero luego recordé la guirnalda de sus 25 LED RGB controlados, que habían sido comprados una vez en Ali "para ver", y estaban desempolvando en una caja.

Simplemente conectar la guirnalda al arduino y completar los algoritmos estándar me pareció demasiado aburrido. Por lo tanto, decidí traer algo nuevo, de moda. Para que sea interesante complacer al niño mismo.

Por lo tanto, se decidió conectar esta guirnalda a un hogar inteligente. Mi casa inteligente funciona principalmente en microcontroladores de la familia ESP8266 utilizando las bibliotecas ESP / arduino y blynk . El servidor blynk, local, se implementa en RaspberryPi 3.

Como escribí anteriormente, no tenía mucho tiempo, así que me limité a algunos ejemplos estándar de la biblioteca NeoPixel. El cambio entre modos se lleva a cabo utilizando un teléfono inteligente. Pondré un enlace a los bocetos al final del artículo.

Conectar una cadena tipo margarita al ESP8266 es muy simple, pero estrictamente para ciertos GPIO, dependiendo del modelo del módulo y la velocidad de transferencia deseada.

La biblioteca ha hecho comentarios sobre este tema:
// three element pixels, in different order and speeds NeoPixelBus<NeoGrbFeature, Neo800KbpsMethod> strip(PixelCount, PixelPin); //NeoPixelBus<NeoRgbFeature, Neo400KbpsMethod> strip(PixelCount, PixelPin); // For Esp8266, the Pin is omitted and it uses GPIO3 due to DMA hardware use. // There are other Esp8266 alternative methods that provide more pin options, but also have // other side effects. //NeoPixelBus<NeoGrbFeature, Neo800KbpsMethod> strip(PixelCount); // // NeoEsp8266Uart800KbpsMethod uses GPI02 instead // You can also use one of these for Esp8266, // each having their own restrictions // // These two are the same as above as the DMA method is the default // NOTE: These will ignore the PIN and use GPI03 pin //NeoPixelBus<NeoGrbFeature, NeoEsp8266Dma800KbpsMethod> strip(PixelCount, PixelPin); //NeoPixelBus<NeoRgbFeature, NeoEsp8266Dma400KbpsMethod> strip(PixelCount, PixelPin); // Uart method is good for the Esp-01 or other pin restricted modules // NOTE: These will ignore the PIN and use GPI02 pin //NeoPixelBus<NeoGrbFeature, NeoEsp8266Uart800KbpsMethod> strip(PixelCount, PixelPin); //NeoPixelBus<NeoRgbFeature, NeoEsp8266Uart400KbpsMethod> strip(PixelCount, PixelPin); // The bitbang method is really only good if you are not using WiFi features of the ESP // It works with all but pin 16 //NeoPixelBus<NeoGrbFeature, NeoEsp8266BitBang800KbpsMethod> strip(PixelCount, PixelPin); //NeoPixelBus<NeoRgbFeature, NeoEsp8266BitBang400KbpsMethod> strip(PixelCount, PixelPin); 


Aquí está el video del año pasado de lo que salió de él.


Un niño de 6 años estaba encantado, especialmente del RGB Zebra. Me parece que a los desarrolladores se les ocurrió este elemento solo para tal caso.

El árbol estuvo de pie durante mucho tiempo y complacido, hasta el mes de marzo (la niña cumple años a fines de febrero y quería alardear frente a sus amigos).

Dado que el "barco despegó con tanto éxito", en el futuro se decidió agregar más luces. Se compró otra guirnalda de 50 diodos. Al conectar, tuve que agregar 5V de energía desde el extremo opuesto de la guirnalda, porque ella brilló tenuemente y parpadeó. Además, hace un par de semanas, mi hija y su madre decidieron comprar una estrella para el árbol de Navidad. Compraron algunos de los chinos más deshmansky en precio fijo, que tampoco funcionó. Me entregaron con las palabras "¡aquí, papá, arréglalo y cuélgalo en el árbol de Navidad!" Dentro de la estrella había un solo diodo, una batería y un interruptor, que resultó estar funcionando, pero con contactos cerrados. Abrí los contactos, pero toda esta casa parpadeaba tristemente en diferentes colores (están integrados en bolas de silicona saltando). Por cierto, me alegraría si alguien me explica cómo funciona este diodo sin una resistencia y ningún circuito. El diodo LED es, con mucho, el chip único más común, tiene un cátodo y ánodo en una bombilla transparente. Se ve algo como esto .

En general, se decidió eliminar el diodo de tiempo completo y en su lugar insertar 5 piezas. de la guirnalda ws2811. En consecuencia, el boceto y el perfil de blynk se modificaron ligeramente para admitir más luces y estrellas. La estrella recibió una cebra personal y fue excluida de todos los algoritmos de animación. Con la animación, a nadie de la casa le gustó la estrella.


El año que viene agregaré animación coordinada y tal vez algunos de los lectores ofrecerán algo.

Enlace a la biblioteca

Enlaces de croquis:

tiempos
dos

PD: Si es interesante, en los siguientes artículos hablaré sobre mi visión de una casa inteligente económica . Por el momento, estoy configurado para controlar la iluminación, el acuario, el clima, el cine en casa usando un teléfono inteligente, control remoto IR, sensores de movimiento, botones de pared y voz.

Source: https://habr.com/ru/post/es409459/


All Articles