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

lesept:
Tu devrais mettre les gros blocs de codes de la loop dans des fonctions

C'est pas précisément ce qu'il a fait?

  delay(1000);
  fillItUp();                      //remplissage d'eau
  delay(1000);
  cycleLavage = millis();
  delay(1000);
  washTheDishes();                 //on fait la vaisselle
  delay(1000);
  drainItOut();                    //on vidange l'eau
  delay(1000);
  fillItUp();                      //remplissage d'eau
  delay(1000);
  preRinse();                      //on fait le pré rincage
  delay(1000);
  drainItOut();                    //on vidange l'eau
  delay(1000);
  fillItUp();                      //remplissage d'eau
  delay(1000);
  finalRinse();                    //on fait le rincage final
  delay(1000);
  drainItOut();                    //on vidange l'eau
  delay(1000);

Pour ma part je m'y serais pris autrement:
Pour commencer j'aurais fait un timer à la seconde par ex basé sur ton RTC.

Sur la bse de ce timer, j'aurais fait des switch(étape) case: séparés, mais partageant la variable (étape).

Un pour le programme principal et un autre pour l'affichage et eventuellement un troisième pour les messages de déboguage sur la liaison série.
En faisant attention de ne pas avoir de code bloquant.

Ca a l'avantage de clarifier le programme.

En + tu peux faire les moyennes sur les lectures brutes et normaliser la valeur après la moyenne.