2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Este projeto mostra como fazer um efeito de vela de aparência realista para uso, por exemplo, dentro de lanternas de papel. Ele usa uma placa NodeMCU (ESP8266) para acionar os NeoPixels, também conhecidos como LEDs WS2812. Veja os vídeos nas seções de resultados para ver uma comparação com velas reais.
Etapa 1: Hardware
Os LEDs WS2812 são LEDs coloridos que são conectados em série, são endereçáveis individualmente e podem ter seus componentes vermelho, verde e azul definidos entre 0 e 255.
De um projeto anterior eu tinha algumas faixas restantes, como havia algum espaçamento entre os LEDs, optei por usar 4 LEDs em uma cruz para uma lanterna.
Como acontece com todos os projetos WS2812, é recomendado adicionar um pequeno resistor no primeiro canal de dados (fio central). Além disso, adicione um capacitor próximo à fonte de alimentação. O amplificador de potência depende do número de LEDs.
Etapa 2: Software
Neste projeto, os LEDs não são acionados por um Arduino, mas por uma placa NodeMCU (ESP8266) com MicroPython nela.
A primeira etapa é atualizar o firmware do micropython seguindo este guia: Introdução ao MicroPython no ESP8266
É então possível usá-lo para acionar os LEDs como mostrado em 11. Controle de NeoPixels
Na minha placa, Machine.pin (4) é D2 (como pode ser visto na foto). Não se esqueça de conectar o gnd com os LEDs.
Para fazer o led piscar como uma vela real, escrevi um pequeno programa python que atualiza aleatoriamente os leds individuais seguindo a distribuição gaussiana encontrada nos comentários deste artigo:
O programa (main.py) cria tantos objetos LED_light quantos forem especificados na constante LED_COUNT.
Ao alterar aleatoriamente o comprimento e a intensidade da luz, ele cria um belo efeito.
Probabilidade Random LED Brightness50% 77% - 80% (quase imperceptível) 30% 80% - 100% (muito perceptível, sim. Cintilação de ar) 5% 50% - 80% (muito perceptível, chama apagada) 5% 40% - 50% (muito perceptível, chama apagada) 10% 30% - 40% (muito perceptível, chama apagada) tudo isso com um tempo de atualização Gaussiano. Probabilidade Tempo Aleatório 90% 20 ms 3% 20 - 30 ms 3% 10 - 20 ms 4% 0 - 10 ms
fonte: comentário de Eric em
Etapa 3: Resultado
O resultado fornece um efeito agradável, como se houvesse algum vento fazendo a vela tremular.
No segundo vídeo, as lanternas traseiras são baseadas em LED e as da frente são verdadeiras velas para comparação.