Beschrijving: dit stukje code bezielt de LEDs tijdens de animatie heen-en-weer:
for(int i=0; i<4; i++){ //animate going up (half of mode 2) digitalWrite(ledPins[i], HIGH); sleep(128); if(debounce()) incMode(); //switch modes if the button is pressed digitalWrite(ledPins[i-1], LOW); sleep(128); if(debounce()) incMode(); //switch modes if the button is pressed }
Verdeling
for(int i=0; i<4; i++)
- for() is een verklaring van een lus met een bepaalde hoeveelheid recursions
- int i = 0 initialiseert een beginwaarde van de teller
- ik < 4 is de limiet van de teller (hoeveel recursions)
- i ++ ik verhoogt met 1 telkens wanneer het programma wordt uitgevoerd
if(debounce()) incMode(); //switch modes if the button is pressed digitalWrite(ledPins[i-1], LOW); sleep(128);
- debounce() is een functie die verklaarde eerder in de code (zie hierboven). Dit ligt hier gewoon om te controleren als de armband modi moet overschakelen
- incMode() is een functie die de variabele modus gewoon toegevoegd
- digitalWrite (ledPins [i-1], lage) schakelt de LED na de vóór het (ledPins[i]) is ingeschakeld
- Sleep(128) zet de ATtiny85 in een diepe, diepe slaap alleen gewekt door een watchdog-timer of een externe interrupt