Stap 9: Geleid animatie - RGB-Trail
Dit zijn de sniplets van code die wordt gebruikt voor diverse functie. Ik heb alle animaties maken voor het leren en begrijpen.
Logica erachter is:
Alle rode leds inschakelen door één (onder leiding van 8 tot en met 16 in mijn setup)
dan laatste leds starten uitschakelen en de snelheid toeneemt met everyloop
Zodra alle lussen klaar bent 8 toe te voegen, zodat het nieuwe bereik 16 wordt tot en met 23 die groene leds in mijn bereik
dan blauw en herstart van rood
Void loop () {}
GPcurrenttime = millis();
} / / einde lus
ongeldig led_Anima_Trail() {}
Bereken snelheid hier
int speed = 301 - (speeder * 25);
Na elke X tijd (die zal versnellen)
Als (GPcurrenttime - previous_case_seven > = snelheid)
{
previous_case_seven = GPcurrenttime;
LEDs gaan omhoog
Als (trailup == true) {}
led_wakeup_count = led_wakeup_count + 1;
ShiftPWM.SetOne (led_wakeup_count, 100); inschakelen
Als (led_wakeup_count > = (gestarte + 7))
{
led_wakeup_count = begonnen;
trailup = false;
} / / end als >
} / / Als tral omhoog
LED's gaan
Als (trailup == false) {}
led_wakeup_count = led_wakeup_count + 1;
ShiftPWM.SetOne (led_wakeup_count, 0); inschakelen
Als (led_wakeup_count > = (gestarte + 7)) {}
led_wakeup_count = begonnen;
trailup = true;
volgende tijd versnellen
speeder = speeder + 1;
Als (speeder > = 12)
{
speeder = 1;
started = gestart + 8;
Als (begon > = 31) {}
begon = 8; } / / als gestart
led_wakeup_count = led_wakeup_count + 8;
Als (led_wakeup_count > = 31) {}
led_wakeup_count = 8;
} / / Als led wakeup groter dan is
} / / Als speeder groter is dan
} / / end als >
} / / end als trail omhoog
} / / einde van de timer
} / / void trail end