Paso 9: LED animación - sendero de RGB
Se trata de sniplets de código utilizado para la función de varios. Hice todas las animaciones desde cero para aprender y comprender.
La lógica detrás de esto es:
Todos los leds rojo encender uno por uno (led 8 a 16 en mi setup)
que el último LED Inicio apagar y la velocidad aumenta con la everyloop
una vez terminados todos los bucles de añadir 8 para la nueva gama 16 a 23, que son los LED verdes en mi rango
que azul y reinicio de rojo
Void loop () {}
GPcurrenttime = millis();
} / / fin de bucle
void led_Anima_Trail() {}
calcular velocidad aquí
int velocidad = 301 - (speeder * 25);
Después de cada X tiempo (acelere)
Si (GPcurrenttime - previous_case_seven > = velocidad)
{
previous_case_seven = GPcurrenttime;
LEDs IR
Si (trailup == true) {}
led_wakeup_count = led_wakeup_count + 1;
ShiftPWM.SetOne (led_wakeup_count, 100); encender
Si (led_wakeup_count > = (inicio + 7))
{
led_wakeup_count = iniciar;
trailup = false;
} / / fin si >
} / / Si tral hasta
LEDs ir abajo
Si (trailup == false) {}
led_wakeup_count = led_wakeup_count + 1;
ShiftPWM.SetOne (led_wakeup_count, 0); encender
Si (led_wakeup_count > = (inicio + 7)) {}
led_wakeup_count = iniciar;
trailup = true;
siguiente tiempo acelerar
reductor de velocidad = velocidad + 1;
Si (reductor de velocidad > = 12)
{
reductor de velocidad = 1;
Iniciado = Inicio + 8;
Si (iniciado > = 31) {}
Iniciado = 8; } / / Si
led_wakeup_count = led_wakeup_count + 8;
Si (led_wakeup_count > = 31) {}
led_wakeup_count = 8;
} / / Si el led de activación es mayor que
} / / Si deslizadora superior
} / / fin si >
} / / fin si camino hasta
} / / fin de temporizador
} / / fin sendero vacío