Project: Lounge Ledjes | |
---|---|
Naam | Lounge Ledjes |
Door | BugBlue, dvanzuijlekom, SA007 |
Status | Uitvoer |
Madskillz | Plakken, Programmeren, Python |
Doel / Omschrijving | |
De lounge voorzien van verlichtering | |
Alle Projecten - Project Toevoegen |
De ledjes
Dit zijn ledstrips van het type WS2812, 1 per 10cm, 50 stuks per string.
Totaal zijn het ongeveer 790 ledjes
Installatie
Alle ledjes als 1 lange string ophangen in een leuk patroon, elke strip is voorzien bij de power-source van een kroonsteentje.
Dit is nodig omdat de meeste kabel van de ledjes van aluminium is en de voltagedrop over 5 meter teveel is om te zorgen dat er nog een beetje overblijft voor de ledjes. De weerstand van de kabel en de PCB's ertussen is te hoog. Dus elke strip krijgt netjes power toegevoerd.
Er is een voeding van 25A 5V boven het plafond die zit aangesloten op de lichtgroep, hiermee worden de ledjes gevoed.
Software
Op de ESP32 aan het begin draait micropython die op poort 4242 pakketten in het volgende formaat ontvangt:
Start << 8, Start, Data
De software in de micropython ontvangt deze data als UDP packet, en zet dan de databytes vanaf de startpositie in de bytearray van NeoPixel.buf
Als er:
0xFF 0xFF 0x00 als packet
is ontvangen wordt Neopixel.write() aangeroepen en die stuurt in ongeveer 33ms de data naar alle ledjes.
Inclusief overhead van het netwerk is dus een framerate van ongeveer 25 te halen, behalve dat wireless op 2.4Ghz eigenlijk best traag is. Overschakelen op Ethernet kan een optie zijn om het in de toekomst te verbeteren
Aansturing
Op kleintje in ~/lampjes draait een stukje software, in mods staan de mogelijke commando's die als generator een berg data teruggeven die naar de ledjes gaat. De module selecteren kan door de naam te sturen naar mqtt 'hack42/lampjes'. Wit flitslicht is bijvoorbeeld:
mosquitto_pub -t hack42/lampjes -m flash
Als de module een maximum heeft (zoals flash) of er gaat iets mis (niet bestaande module selecteren) of de spacestate gaat open selecteerd de software standaard 'rainbow'. (Op dit moment)
Welke led hangt waar?
Sourcecode
Staat op github:Hack42/loungeledjes