Suponiendo que el control de velocidad es independiente.
Comenzaria:
- Haciendo circulos. Esto evita pensar en el cruce por 0, y podes tranquilamente probar todos los leds, es decir podes hacer que el circulo vaya decrementando poco a poco su radio.
- Tratar de hacer pasos, volviendo al circulo, tomar desde el cruce por 0, activar un led, y luego desactivarlo luego de cierto tiempo. Esto es para tener una referencia temporal, interesante seria poder hacer 1/4 de vuelta, 1/2 vuelta, 3/4 y luego entero Y que cambie a cada segundo.
De aca pienso que lo que se trata es crear una funcion que me transforme una "imagen" plana facil de editar, por un array que sea facil de mostrar.
Entonces vos te dedicas unicamente a actualizar esta imagen plana (array ), para el texto seria simple de hacer, lo mas complejo es esa funcion que transforme lo que uno quiere respecto al tiempo y velocidad de giro.
Espero haberme hecho entender.