Stap 2: De code
Ik 6 verschillende structs gebruikt ter bestrijding van de LED's. Terwijl ik heb 8 steken in het dak dat heb ik besloten te houden met de inheemse PWM-mogelijkheden van de ATMega328. Ik heb overwegen met behulp van de SoftPWM-bibliotheek, maar besloot te laat dat voor latere projecten.
Ik gebruik een seriële kanaal voor wat basis commando's en om resultaten weer te geven. De afgewerkte versie heeft sommige pinnen op het bord, maar ze zijn niet verbonden met om het even wat op dit moment.
DUS een code doorlopen
De eerste sectie is het definiëren van constanten & variabele, evenals de 6 structs waarmee de LED strings.
Het gedeelte setup wordt de seriële kanaal geopend en het definiëren van de LED strings structs vooruitgangsbalk
De hoofdlus:
Controleert het seriële kanaal voor input;
Als de bewerkingsmodus normaal is
Stelt elk van de LED-kanalen op een helderheid op basis van tijd, elke één cycli helderder en dimmer tegen verschillende tarieven, waardoor een effect van redelijk willekeurige 'oogwenk'.
Als de bewerkingsmodus in ON, allemaal onder leiding van zijn ingesteld op het volledige
Als de bewerkingsmodus is uit, wordt de LED's zijn uitgeschakeld.
De definitieve procedures beheren het seriële kanaal, op zoek naar eventuele ingangen, de operationele modus indien nodig wijzigen en het weergeven van de status van sommige variabelen.
Alle het wetboek betreffende het seriële kanaal kon worden verwijderd als de seriële interface wordt niet gebruikt wanneer in gebruik, maar ik liet het in in het geval dat ik wilde veranderen van dingen in de toekomst.