[arduino uno]Probléme Loop qui ne se termine pas et reprend a zéro

Oui, pour bien y arriver, surtout si tu débutes, le plus simple est de faire un schéma pour définir les états et les actions liées. Par exemple :

Un automate fini est une construction mathématique abstraite, susceptible d'être dans un nombre fini d'états, mais étant un moment donné dans un seul état à la fois ; l'état dans lequel il se trouve alors est appelé l'« état courant ». Le passage d'un état à un autre est activé par un événement ou une condition ; ce passage est appelé une « transition ». Un automate particulier est défini par l'ensemble de ses états et l'ensemble de ses transitions. (Wikipedia)

Il faut bien définir sur ce schéma les transitions et les conditions associées, ainsi que les actions éventuelles à faire en entrée et en sortie de chaque état : c'est les fonctions du genre

void on_led1_on_enter() {
void on_led1_off_enter() {

Ensuite tu déclares les états

State state_led1_on(&on_led1_on_enter, NULL, NULL);
State state_led1_off(&on_led1_off_enter, NULL, NULL);

et les machines :

Fsm fsm_led1(&state_led1_off);
Fsm fsm_led2(&state_led2_off);

Dans le setup, tu définis les transitions "timées"

fsm_led1.add_timed_transition(&state_led1_off, &state_led1_on, 1000, NULL);
fsm_led1.add_timed_transition(&state_led1_on, &state_led1_off, 3000, NULL);

et la loop ne fait que lancer les machines : le déroulement se fait tout seul.
fsm_led1.run_machine();C'est magique...

Le seul truc à travailler un peu dans ton cas : si tu as des transitions qui dépendent d'un capteur (température par exemple), il faut voir comment les mettre en oeuvre (moi je n'ai fait que des transitions timées pour l'instant). Ça doit se faire avec des interruptions...