Stap 4: Overzicht van de controller code
De code beheert LED clusters van ofwel wit of RGB. De bar of nachtclub toont een mix van beide.
De RGB-LEDs volgen een sinusgolf. De code oorspronkelijk berekend van de waarde voor de LED "lead" en het vervolgens herhaald tot de andere RGBs. De berekeningen waren ongelooflijk traag. Verbetering van de snelheid vereist de hele sinusgolf berekenen en statisch op te slaan in een array. De code wordt hierdoor aanzienlijk sneller uitgevoerd en laat ons toe om zweep door alle de LEDs.
De LED's zijn gebundeld in de code. De RGBs zijn een cluster. Één set vensters zijn een andere en zo verder. Elke LED heeft start en eind tijd-velden die hoeveel milliseconden dat aangeven moet worden gewacht voordat een actie uitvoert zoals veranderen van de kleur, inschakelen of uitschakelen.
De loop-functie zal doorlopen elke LED-cluster en u lichte vertragingen kan opmerken aangezien de code moet doorlopen alle de LEDs en voer een update als u wilt instellen van hun staat. Een kleine vertraging is één van die bugs thats een functie. Het voegt sommige variabiliteit aan de duur van de LED's, de verlichting een beetje realistischer te maken.
Merk op dat alle tijden hard-coded zijn. U kan dit veranderen, zodat de lichten worden uitgevoerd gedurende een willekeurige periode.
Wees voorzichtig met de witte LEDs en de helderheid instellingen die u kiest. De TLC5940 heeft stappen die gaan van 0 (uit) tot 4096 (bladeren vlekken in uw ogen). Ik heb de standaard LED helderheid iets zeer laag om te zien de LED werk na dwaas de LEDs tot hun maximum instellen en having te zwaar tijd allesbehalve plekken achteraf zien verlaagd. Hebt u de LED's op een hogere waarde eenmaal geïnstalleerd in het model omdat windows en andere items kunnen diffuus of blokkeren van het licht.