1. OpzetDe opzet van wat is gaan heten 'de randverlichting' is bedoeld om gebouwen, bossen etc. aan te lichten in combinatie met het fase van de dag. Dat gebeurt niet in zijn geheel op de baan, maar toegesneden op het gebied waar er licht wordt uitgestraald. Dat gebeurt dan ook met een lichtstrip, waar elke led individueel aanstuurbaar is. Zo'n LED is een zgn. RGB led, dus die kan op elke kleur ingesteld worden. De praktijk is dat warm wit niet zo lekker in te stellen is, dat is al snel veel te geel, maar alle overige kleuren is prima te doen.
Onderstaande geeft een indruk hoe dat er 's avonds' uitziet

De praktijk is dat het 'overdag' niet zo heel veel doet of hoeft te doen. Het komt echt tot zijn recht in de avondschemering en ochtendgloren.
2. UitvoeringAnders dan alle andere componenten, heb ik hier geen letter code voor geschreven. Er bestaat namelijk zoiets als WLED, wat erg populair is onder de mensen wereldwijd, die hun huis (het 1:1 huis wel te verstaan...) rond kerst vol hangen met dit soort led strips en laten besturen door de Arduino die ik ook gebruik.
Dus waarom het wiel uitvinden, want WLED is bijzonder goed. En zonder enorme inspanning kan ik dat wiel niet zo mooi rond krijgen dan dat het nu al is.
De Arduino wordt eenvoudig gekoppeld aan de genoemde ledstrip, nadat de software geladen is. Daarna kan het feest beginnen...
Het printje is zeer eenvoudig en gewoon bij Ali te bestellen, net als de genoemde Arduino.

Het doet overigens niets anders dan luisteren of het bedienpaneel tegen hem praat. En zo ja, dan wordt dat wat er gepraat wordt, overgezet op de desbetreffende LED met daarmee de juiste kleuren.
Heel veel ingewikkelder dan dit is het eigenlijk niet..
3. Instellen3.1. DMXIk maak gebruik van een standaard beschikbaarte optie op de WLED: de E131 ondersteuning. Dat biedt de mogelijkheid om ieder led goed aan te sturen.
Het werkt min of meer als een pyrmamide: het bedienpaneel stuurt een of meer zgn. universes aan. Die hebben allen een nummer. ik houd het eenvoudig: iedere ESP01 die een stuk van de ketting voor zijn rekening neemt, heeft een eigen nummer. Elk univers op zijn beurt kan 512 kanalen aan sturen. Dat klinkt als veel, maar elke RGB led, snoept al 3 leds, dus het gaat hard: iedere universe kan 170 leds aansturen. Ook dat klinkt best weer als een behoorlijk aantal, maar bij een ledstrips met 60 leds per meter, gaat het ook daar hard: na 2 meter 83 centimeter ben je er al overheen..
3.2. BroadcastHet genoemde protocol werkt op basis van UDP. Mag je weer snel vergeten, maar het betekent dat de informatie verstuurd wordt alsof het een radio-uitzending is. Maar luister je even niet, niks aan de hand, je hebt alleen wel de informatie gemist. Middels het genoemde protocol wordt er wel uitgezonden: Henk, doe ff lampie 127 op blauw, maar er is geen terugmelding dat Henkie niet zat te suffen en de boodschap gemist heeft. Overigens horen alle andere ook dat er tegen Henk gebabbeld wordt, maar doen niks met die informatie. Tis net als overal: als je iets van me wil, moet je even mijn naam noemen.
Deze eigenschap komt me overigens erg goed uit in het bedienpaneel, want ook al gebruik ik een krachtige Arduino, het is nou eenmaal geen router of switch en dus is het aantal gelijktijdige 1:1 netwerk verbindingen beperkt tot 5. Normaal ook geen enkel probleem, nu ook niet, maar het wordt wel krap. Juist door de UDP te gebruiken, red ik me er goed mee.
3.3. Verlloop lichtbeeldenOok hier zit er weer geen uitgebreide instelling in van de lichtbeelden. Ook hier heb ik in excel de lengte van de ledstrip vertaald in wat waar staat (bos, stad, haven etc.) en er per cycle van de dag een kleur aan gegehangen. Het bedienpaneel rekent netjes per pixel de 'van/naar' kleur door en stuurt deze door, net als met de verlichting boven de baan.
4. Kleine tegenvallerIn het arduino hoekje zal ik er wat nader op ingaan, maar ik had toch een tegenvaller in het besturen van de RGB leds. Het is niet bijster goed beschikbaar als broncode hoe een DMX/E1.31 pakket te maken en te versturen. De code die ik gevonden hebt en goed werkt op de ene Arduino, werkt niet op zijn grotere broer, in dit geval die in het bedienpaneel zit. ik heb er 2 dagen aan besteed en voorlopig daar de handoek in de ring gegooid, want loop even vast: de Arduino crasht bij een UDPwrite die in de RTOS kernel gebeurt. Inmiddels zat ik zo diep in never neverland, dat ik het over een ander boeg gegooid heb, en op mijn lijstje gezet heb 'voor later als ik groot en sterk ben'. Wie niet sterk is, moet slim zijn, dus ik laat nu de Arduino van de DMX lamp, die toch stond te lanterfanten, de berichten versturen. ik stuur ze dus vanaf het bedienpaneel mee en de DMX Arduino vertaalt het goed in DMX/E1.31. Hij blij, en ik ook
5. Ter afrondingDaarmee zijn we aan het eind van het beschrijven van de functionaliteit. Zal de komende tijd nog wat meer plaatjes maken en een filmpje, die deze droge woorden wat kracht bijzetten en hopelijk ter inspiratie zijn.
Groet,
Leendert