Árvore de Natal inteligente nos ESP8266 e ws2811

No ano passado, comecei a colecionar a árvore de Natal muito tarde. Normalmente, o regime de fechamento padrão para cada final de ano para projetos em dezembro era especialmente estressante. Em geral, eu e a criança começamos a decorar a árvore alguns dias antes do ano novo. E a primeira surpresa ao decorar a árvore de Natal foi com uma guirlanda de Ano Novo, comprada há muitos anos, no OBI ou em Castorama. Um dos três canais de cores saiu completamente e o outro funcionou com baixo brilho. Era domingo, e no começo eu queria ir rapidamente e comprar um substituto. Mas então me lembrei da guirlanda de seus 25 LEDs RGB controlados, que haviam sido comprados uma vez em Ali "para ver" e estavam espanando uma caixa.

Apenas conectar a guirlanda ao arduino e preencher os algoritmos padrão me pareceu muito chato. Por isso, decidi trazer algo novo, elegante. Para que seria interessante agradar a criança.

Portanto, foi decidido conectar esta guirlanda a uma casa inteligente. Minha casa inteligente trabalha principalmente em microcontroladores da família ESP8266 usando as bibliotecas ESP / arduino e blynk . O servidor blynk, local, é implantado no RaspberryPi 3.

Como escrevi acima, como não tinha muito tempo, limitei-me a alguns exemplos padrão da biblioteca NeoPixel. A alternância entre os modos é realizada usando um smartphone. Vou colocar um link para os esboços no final do artigo.

A conexão de uma ligação em série ao ESP8266 é muito simples, mas estritamente a determinados GPIOs, dependendo do modelo do módulo e da taxa de transferência desejada

A biblioteca fez comentários sobre este assunto:
// 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); 


Aqui está o vídeo do ano passado sobre o que aconteceu.


Uma criança de 6 anos ficou encantada, principalmente da RGB Zebra. Parece-me que os desenvolvedores criaram esse elemento apenas para esse caso.

A árvore ficou em pé por muito tempo e satisfeita, até o mês de março (a criança fez aniversário no final de fevereiro e queria se gabar na frente de suas amigas).

Desde que o “navio decolou com tanto sucesso”, decidiu-se futuramente adicionar mais luzes. Outra guirlanda de 50 diodos foi comprada. Ao conectar, tive que adicionar 5V de potência do lado oposto da guirlanda, porque ela brilhou vagamente e piscou. Além disso, há algumas semanas, minha filha e sua mãe decidiram comprar uma estrela para a árvore de Natal. Eles compraram alguns dos chineses mais deshmansky em preço fixo, o que também não funcionou. Eles me entregaram as palavras "aqui, pai, conserte e pendure na árvore de Natal!" Dentro da estrela havia um único diodo, uma bateria e um interruptor, que estavam funcionando, mas com contatos fechados. Abri os contatos, mas toda a família estava piscando tristemente em cores diferentes (elas são construídas para pular bolas de silicone). A propósito, ficarei feliz se alguém me explicar como esse diodo funciona sem um resistor e nenhum circuito. O diodo LED é de longe o chip único mais comum, possui um cátodo e um ânodo em uma lâmpada transparente. Parece algo assim .

Em geral, foi decidido remover o diodo em tempo integral e, em vez disso, inserir 5pcs. da guirlanda ws2811. Consequentemente, o esboço e o perfil do blynk foram ligeiramente modificados para suportar mais luzes e estrelas. A estrela recebeu uma zebra pessoal e foi excluída de todos os algoritmos de animação. Com animação, nenhum membro da família gostou da estrela.


No próximo ano, adicionarei animação coordenada e talvez alguns dos leitores ofereçam algo.

Link para a biblioteca

Esboço Links:

vezes
dois

PS: Se for interessante, nos artigos a seguir vou falar sobre a minha visão de uma casa inteligente e barata . No momento, estou configurado para controlar a iluminação, aquário, clima, home theater usando um smartphone, controle remoto por infravermelho, sensores de movimento, botões de parede e voz.

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


All Articles