Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Dit project laat zien hoe je een realistisch kaarseffect kunt maken voor gebruik in bijvoorbeeld papieren lantaarns. Het gebruikt een NodeMCU-bord (ESP8266) om NeoPixels aan te sturen, ook bekend als WS2812 LED's. Bekijk de video's in de resultatensecties om een vergelijking met echte kaarsen te zien.
Stap 1: Hardware
WS2812 LED's zijn full-colour LED's die serieel zijn aangesloten, individueel adresseerbaar zijn en waarvan de rode, groene en blauwe componenten kunnen worden ingesteld tussen 0 en 255.
Van een vorig project had ik nog wat strips over, omdat er wat afstand tussen de LED's was, heb ik ervoor gekozen om 4 LED's in een kruis te gebruiken voor één lantaarn.
Zoals bij alle WS2812 projecten is het aan te raden om een kleine weerstand toe te voegen op het eerste datakanaal (middelste draad). En voeg bovendien een condensator toe in de buurt van de voeding. Power Amp is afhankelijk van het aantal LED's.
Stap 2: Software
In dit project worden de LED's niet aangestuurd door een Arduino, maar door een NodeMCU board (ESP8266) met MicroPython erop.
De eerste stap is om de micropython-firmware te flashen volgens deze handleiding: Aan de slag met MicroPython op de ESP8266
Het is dan mogelijk om het te gebruiken om de LED's aan te sturen zoals getoond in 11. NeoPixels aansturen
Op mijn bord staat Machine.pin(4) D2 (zoals te zien is op de afbeelding). Vergeet niet de gnd met de leds aan te sluiten.
Om de led te laten flikkeren als een echte kaars, heb ik een klein python-programma geschreven dat de individuele leds willekeurig bijwerkt volgens de Gauss-verdeling in de opmerkingen van dit artikel:
Het programma (main.py) maakt zoveel LED_light-objecten als gespecificeerd in de LED_COUNT constante.
Door willekeurig de lengte en intensiteit van het licht te veranderen, ontstaat er een leuk effect.
Waarschijnlijkheid Willekeurige LED-helderheid50% 77% – 80% (nauwelijks waarneembaar) 30% 80% – 100% (zeer merkbaar, sim. luchtflikkering) 5% 50% – 80% (zeer merkbaar, uitgeblazen vlam) 5% 40% – 50% (zeer merkbaar, uitgeblazen vlam) 10% 30% – 40% (zeer merkbaar, uitgeblazen vlam) dit alles met een Gaussiaanse actualisatietijd. Waarschijnlijkheid Willekeurige Tijd 90% 20 ms 3% 20 – 30 ms 3% 10 – 20 ms 4% 0 – 10 ms
bron: commentaar van Eric op
Stap 3: Resultaat
Het resultaat geeft een mooi effect alsof er wat wind staat waardoor de kaars gaat flikkeren.
In de tweede video zijn de lantaarns aan de achterkant op LED gebaseerd en die aan de voorkant zijn echte kaarsen ter vergelijking.