Cykel bakljus med en twist (4 / 9 steg)
Steg 4: Du måste ha några kod!
I PWM mode färg är inställd genom att tillämpa en pulsbreddsmodulerad signal den 3 GPIO stiften och multiplexing 8 lysdioder. Detta minskar totala ljusstyrka, men nu enskilda färgkontroll är möjligt. Detta görs i bakgrunden av en avbrott rutin. Grundläggande funktioner är tillgängliga för inställning lysdioderna ett visst färgvärde, antingen med en RGB triplett eller nyans värde.
Enheten programmeras i C med Arduino IDE för bekvämlighet. Jag har bifogat den aktuella koden jag använder. Uppdaterade versioner finns på min blogg. Du kan bläddra i GIT-förrådet i gitweb gränssnittet. Många dumma programmering misstag kommer att visa upp, jag är säker på det ;-)
Den andra siffran visar PWM generation. En hårdvara räknare räknar från botten till toppen. När räknaren är större än ett visst antal som motsvarar en önskad färg, ska utdata växlas. När disken har nått sin topp värde, är allt återställt. Upplevd ljusstyrka LED är något proportionell mot den i tid av signalen. Strängt taget är det en lögn, men lättare att förstå.