Stap 4: You got sommige code hebben!
In de modus van de PWM de kleur is ingesteld door het toepassen van een puls breedte gemoduleerde signaal de de 3 GPIO pinnen en multiplexing van de 8 LEDs. Dit vermindert de algehele helderheid, maar nu individuele kleur controle mogelijk is. Dit wordt gedaan op de achtergrond door een interrupt routine. Basisfuncties zijn beschikbaar voor het instellen van de LED's een bepaalde kleurwaarde, hetzij met behulp van een triplet RGB of een HUE-waarde.
Het apparaat is geprogrammeerd in C met behulp van de Arduino IDE voor gemak. Ik heb toegevoegd de huidige code die ik gebruik. Up-to-date versies zijn beschikbaar op mijn blog. U kunt de GIT repository met behulp van de interface gitweb bladeren. Veel domme programmeer fouten zal verschijnen, ik ben er zeker van ;-)
De tweede figuur illustreert PWM generatie. Een hardware-teller telt van beneden naar boven. Zodra de teller groter dan een bepaald getal een gewenste kleur is, is de uitvoer een knevel gevoorzid. Zodra de teller haar hoogste waarde bereikt, wordt alles teruggesteld. De waargenomen helderheid van de LED is enigszins evenredig aan het op tijd van het signaal. Strikt genomen is dat een leugen, maar makkelijker te begrijpen.