Uit Hack42
Ga naar: navigatie, zoeken
Project: Lounge Ledjes
Schroefje24.png
Schroefje24.png
Schroefje24.png
Schroefje24.png
NoProjectPicture.jpg

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

Add your picture plz.

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

Daarna 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)

Todo

Pixelmapping, zodat er ook lounge-brede en -lange patronen verstuurd kunnen worden op een makelijke manier.

Pixelmapping kan op kleintje in software worden geimplementeerd zodat de ESP hier geen cycles voor hoeft te verbranden.

Refresh commando, dit om te zorgen dat er niet halverwege de datastroom elke keer refreshed wordt. Dit om de 25fps te halen.