(Nieuwe pagina aangemaakt met '{{Project |Naam=Lounge Ledjes |Eigenaar=BugBlue, dvanzuijlekom, SA007 |Status=Uitvoer |Skills=Plakken, Programmeren, Python |Samenvatting=De lounge voorzien van ver...') |
k (Lurwah heeft pagina Hack42:Lounge Ledjes hernoemd naar Gebruiker:Hack42/Lounge Ledjes) |
||
(4 tussenliggende versies door een andere gebruiker niet weergegeven) | |||
Regel 5: | Regel 5: | ||
|Skills=Plakken, Programmeren, Python | |Skills=Plakken, Programmeren, Python | ||
|Samenvatting=De lounge voorzien van verlichtering | |Samenvatting=De lounge voorzien van verlichtering | ||
+ | |Picture=Image:LoungeLedjes.svg | ||
}} | }} | ||
== De ledjes == | == De ledjes == | ||
Dit zijn ledstrips van het type WS2812, 1 per 10cm, 50 stuks per string. | Dit zijn ledstrips van het type WS2812, 1 per 10cm, 50 stuks per string. | ||
− | Totaal zijn het ongeveer | + | Totaal zijn het <s>ongeveer</s> 790 ledjes |
== Installatie == | == Installatie == | ||
Regel 22: | Regel 23: | ||
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 | 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 | 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 | ||
Regel 31: | Regel 34: | ||
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) | 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? == |
− | + | Kijk maar hier: [[Bestand:LoungeLedjes.svg]] | |
− | + | == Sourcecode == | |
− | + | Staat op [https://github.com/Hack42/loungeleds github:Hack42/loungeledjes] | |
− | |||
− |
Huidige versie van 17 mei 2024 om 14:28
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