Sparrow - my assistant (9 / 14 steg)
Steg 9: Ledde Animation - RGB Trail
Detta är sniplets av kod som används för olika funktion. Jag gjorde alla animationer från grunden för lärande och förståelse.
Logiken bakom det är:
Alla röda lysdioder slå på ett (ledde 8 till 16 i min setup)
än förra lysdioderna börja stänga av och hastigheten ökar med everyloop
När alla loopar är klar Lägg till 8 så det nya området blir 16-23 som är gröna lysdioderna i mitt sortiment
än blått och starta om från rött
Ogiltig loop () {
GPcurrenttime = millis();
} / / end loop
void led_Anima_Trail() {
Beräkna hastighet här
int hastighet = 301 - (speeder * 25);
Efter varje X tid (vilket kommer att påskynda)
om (GPcurrenttime - previous_case_seven > = hastighet)
{
previous_case_seven = GPcurrenttime;
lysdioder gå upp
om (trailup == true) {
led_wakeup_count = led_wakeup_count + 1.
ShiftPWM.SetOne (led_wakeup_count, 100); slå på
om (led_wakeup_count > = (började + 7))
{
led_wakeup_count = började;
trailup = false;
} / / end om >
} / / om torns upp
lysdioder gå ner
om (trailup == false) {
led_wakeup_count = led_wakeup_count + 1.
ShiftPWM.SetOne (led_wakeup_count, 0); slå på
om (led_wakeup_count > = (började + 7)) {
led_wakeup_count = började;
trailup = sant;
nästa tid påskynda
speeder = speeder + 1.
om (speeder > = 12)
{
speeder = 1;
började = började + 8;
om (startade > = 31) {
började = 8. } / / om började
led_wakeup_count = led_wakeup_count + 8.
om (led_wakeup_count > = 31) {
led_wakeup_count = 8;
} / / om led wakeup är större än
} / / om speeder större än
} / / end om >
} / / end om trail upp
} / / end timer
} / / end void trail