Fio de LED à prova d’água controlado por WiFi

6 minute read

Luzes decorativas adequadas para Halloween, Natal, festas, etc. Não apenas controladas na internet, mas também completamente reprogramadas sem fio usando OTA sobre WiFi. à prova d’água, à prova de poeira e resistentes. Ideal para projetos internos como planos de fundo interativos para youtubers / streamers controlados por sua audiência e para projetos externos como sinais de publicidade em paredes ou veículos.

Abertura da caixa mostrando componentes internos

Componente chave: WS2811 waterproof LED string.

Conceito:

Com o advento de LEDs endereçáveis, como WS2812, WS2812b, WS2811, etc., agora é possível para microcontroladores pequenos lidarem com grandes quantidades de LEDs com apenas um pino de E/S. Essa vantagem popularizou esse componente e muitas variantes surgiram: LED único montado na superfície, fitas flexíveis, cordas como as de Natal, etc. A última será usada neste artigo devido à sua flexibilidade e força e pode ser facilmente adaptada a projetos diferentes, desde enfeites de Natal até matrizes de LED, sem soldar ou outras modificações elétricas.

O microcontrolador escolhido foi o ESP8266, mais especificamente uma placa de desenvolvimento conhecida como “NODEMCU V3”, que possui todos os componentes adicionais necessários para começar a trabalhar na programação do MCU com um computador. O WiFi onboard do ESP8266 permite não apenas mudar as sequências de luz, mas também baixar um firmware totalmente diferente sem fio (OTA), usando uma combinação poderosa: Mongoose OS e sua central de gerenciamento de dispositivos remotos mDASH. O Mongoose OS usa uma versão reduzida do JavaScript conhecida como mJS. Este é um idioma atraente para desenvolvedores web que já trabalham com JS. O Mongoose OS é construído em cima do ESP-iDF do Espressif, então é possível escrever funções em C, o que também é atraente para programadores embarcados mais “tradicionais”.

O circuito é construído usando o sistema de prototipagem de hardware MISISTEMITA, que fornece diferentes tipos de módulos pré-construídos, permitindo construir um projeto eletrônico sem solda, mas tornando-o muito robusto e expansível. Todas as peças estão encerradas em uma caixa à prova de poeira e à prova d’água IP65. Esta caixa dá um “aspecto industrial” ao projeto e também adiciona força mecânica para suportar abusos. As conexões elétricas externas (CA e LED) foram equipadas com acessórios IP para fornecer uma boa vedação.

Recursos Chave:

  • Sistema operacional embarcado Mongoose OS executando no ESP8266. Proteção contra poeira, água e pode ser montado na parede.
  • Atualização remota de firmware sem fio, graças ao painel de gerenciamento mDASH do Mongoose OS.
  • Construído com blocos de prototipagem de hardware MISISTEMITA Alimentação AC de 110/220V

O circuito é composto por 4 elementos bem diferenciados: fonte de alimentação, CPU, conversor de nível lógico e LEDs. A fonte de alimentação é do tipo comutado, com potência de 20W, saída de 5V e entrada de 110/220V, de forma a ser utilizado em qualquer país do mundo. O ESP8266 foi usado como CPU (NODEMCU V3). Esta placa pode ser alimentada com 3,3V diretamente no pino de alimentação do processador ou com 5V usando o regulador embarcado. O nível lógico alto de saída do ESP8266 é de 3,3V, portanto, é necessário um conversor de nível lógico para trabalhar com sensores de 5V. O WS2812 funciona com níveis lógicos de 5V, então foi usado o conversor de nível lógico MISISTEMITA D06. Esta placa é baseada no MOSFET BSS138.

Diagrama de blocos simplificado

A corrente de saída da fonte de alimentação é de cerca de 3,8A máximo, e cada LED WS2811 consome 60 mA no máximo, então pelo menos 63 LEDs poderiam ser alimentados. Para ficar abaixo do máximo absoluto, apenas 50 LED é recomendado. Qualquer corda de LED que funcione com o protocolo compatível com WS2811 pode ser usada.

Mongoose OS:

O Mongoose OS é um sistema operacional para a Internet das Coisas, que pode rodar no ESP8266, ESP32 e em outros dispositivos. É uma mistura de facilidade e robustez. Ideal para prototipagem rápida de produtos IoT devido à sua conectividade nativa com a nuvem (AWS, Google, Azure).

Existem duas características que tornam o Mongoose OS tão versátil. Uma delas é a possibilidade de trabalhar “remoto/local”. A opção remota é a padrão e compila o código na nuvem, o que é bom para iniciantes, pois evita problemas relacionados à instalação de SDKs. A opção local é baseada em containers Docker e é boa para builds automáticos sem conexão à internet.

Outra característica importante é o uso de uma versão simplificada de JavaScript chamada mJS como linguagem de programação. Funcionalidades avançadas podem ser escritas com poucas linhas de código em comparação com outras linguagens (Assembler, C, Processing). No entanto, não há impedimento de chamar funções escritas em C, especialmente para controladores de dispositivos sensíveis ao tempo.

Software:

A amostra da aplicação apresentada aqui é composta por duas tarefas: Enviar dados de cor para cada LED na string e escutar dados de entrada vindos da nuvem.

Para enviar dados para cada LED, o código de cor é extraído aleatoriamente de uma tabela de cores predefinida. A comunicação com a corda de LED é feita usando a biblioteca NEOPIXEL que vem junto com o Mongoose OS.

Uma conexão MQTT é estabelecida com um corretor onde o aplicativo se inscreve em um tópico específico. Um aplicativo cliente de terceiros deve se conectar ao mesmo corretor MQTT e publicar dados no mesmo tópico para mudar a paleta de cores utilizada. Este é um jeito muito simples de mudar o padrão de luz na internet.

Montagem do circuito:

O circuito foi construído usando componentes da MISISTEMITA, como a placa de montagem removível, a placa de fonte de alimentação, a placa breakout NODEMCU, a placa de conversor de nível lógico e a placa borne de parafuso. Uma vez que o aplicativo é baixado pela primeira vez e as conexões elétricas são verificadas, a placa de montagem removível pode ser fixada ao caixa sem problemas. Basta desconectar os cabos externos dos terminais, fixar a placa de montagem removível ao caixa e reconectar os cabos novamente.

Montagem e fiação

É recomendável trocar os conectores da fita LED por conectores mais robustos e à prova d’água. Deve-se usar tubo termoretrátil com cola (parede dupla) para proteger as soldas do tempo.

Conectores à prova d'água e prensa cabos

Uma vez que a caixa está fechada, as atualizações de firmware podem ser feitas sem fio via OTA, usando o painel de gerenciamento de dispositivos mDASH do Mongoose OS.

Lista de materiais

Peças discretas necessárias
Componente Ligação do compra Folha de dados
ESP8266 NodeMCU V3 Compre aqui NodeMCUV3.pdf
Corda LED WS2811 à prova d’água Compre aqui WS2811_WATERPROOF_LED_STRING.pdf
Fonte de alimentação comutada 5V 3.8A 20W Compre aqui 5V_4A_switching_power.pdf
Caixa plástica à prova d’água 200x120x75mm (multiple options: transparent lid, wall mounting tabs) Compre aqui g373_g269.pdf
Prensa cabo PG7 or PG9 Compre aqui pg_7.pdf
Conector de cabo à prova d’água de 3 pinos para corda de LED. Compre aqui Waterproof_led_string_connector.pdf
3:1 tubo termoretrátil com cola Compre aqui 3_1_heatshrink_tube_glue.pdf
2:1 Tubo termoretrátil em múltiplas cores Compre aqui 2_1_heatshrink_tube_colors.pdf
Parafuso auto-rostante tipo B M2.6 Compre aqui M2.6x5-6-8-12mm.pdf

Componentes necessários para construir os módulos necessários de misistemita.

Componente Ligação do compra Folha de dados
Espaçador de Nylon de travamento reverso G228 Compre aqui G228.pdf
Parafuso cabeça chata Phillips M3 Compre aqui M2-M10_Stainless_steel_304_countersunk_screw_flat_head_phillips.pdf
Porca Flangeada M3 DIN6923 Compre aqui FLANGED_NUT_3MM_DIN6923.pdf
Borne de parafuso 3.5mm kf350 (2,3 pinos) para PCB. Compre aqui KF350.pdf
Barra De Pinos Fêmea 2.54mm Compre aqui FHA3-S1XX.pdf
BSS138 MOSFET Compre aqui BSS138.pdf
10K 0805 SMD resistor Compre aqui 0805-resistor-kit.pdf

Placas de circuito impressas necessárias para construir os módulos necessários do MISISTEMITA.

Placas de circuito impressas (PCB) Ligação do compra Arquivos de origem
A02 placa de montagem removível para o caixa de 200x120x75mm Compre aqui A02
A05 Placa adaptadora (10.16mm Distância entre furos) para o 5V 3.8A PSU Compre aqui A05
B01 2x4 3.5mm placa borne de parafuso Compre aqui B01
C08 Placa Borne De Expansão para NODEMCU V3 Compre aqui C08
D06 Placa de conversor de nível lógico Compre aqui D06

Software

Software Arquivos de origem
Firmware MOS_IOT_ADDRESSABLE_LEDS

Componentes opcionais:

Componente Ligação do compra Folha de dados
Broca Escalonada bit 3 a 20 mm Compre aqui 3_pc_set_3-20mm_drill_bit_incremental_center_punch.pdf
Broca Escalonada 10 a 45 mm Compre aqui 8_steps_10-45mm_incremental_drill_bit.pdf