installation chauffe eau solaire

C'est désormais quasiment tout bon, effectivement l'utilisation d'un vieux pc portable pour vérifier avec le moniteur série est parfait pour trouver les erreurs.
Désormais la dernière étape avec l'ajout d'un petit écran afin d'afficher la température de la piscine et des panneaux solaires... la commande est passée, je vais chercher quelques sites, si vous avez des conseils...
Voici la partie nécessitant des boucles if non bloquantes :

 unsigned long dateCourante = millis();
  unsigned long intervalle = dateCourante - dateDernierChangement;
  
  // Si état pompe est off && intervalle > 3600000
    if (tempPanel <= tempBottom + paramDeltaTempStart && intervalle > 360) {
                      
            // Alors on ecrit sur la carte sd
                myFile = SD.open("test.txt", O_RDWR | O_APPEND);
                if (myFile) {    
                myFile.print(rtc.getDateStr());
                myFile.print(";");  
                myFile.print(rtc.getTimeStr());
                myFile.print(";"); 
                myFile.print("Ts:");     
                myFile.print(tempPanel);
                myFile.print(";");
                myFile.print("Tp:");
                myFile.print(tempBottom);
                myFile.print(";");
                myFile.print("Pompe:");
                myFile.println(etat);
                myFile.close(); // close the file
              }
              // if the file didn't open, print an error:
              else {
                Serial.println("error opening test.txt");
                delay(3000);
                              }
         
     dateDernierChangement = dateCourante;      
                         
        }
         
    
// Si état pompe est on && intervalle > 120000
    if (tempPanel <= tempBottom + paramDeltaTempStart && intervalle > 120000) {
             
                // Alors on ecrit sur la carte sd
                myFile = SD.open("test.txt", O_RDWR | O_APPEND);
                if (myFile) {    
                myFile.print(rtc.getDateStr());
                myFile.print(";");  
                myFile.print(rtc.getTimeStr());
                myFile.print(";"); 
                myFile.print("Ts:");     
                myFile.print(tempPanel);
                myFile.print(";");
                myFile.print("Tp:");
                myFile.print(tempBottom);
                myFile.print(";");
                myFile.print("Pompe:");
                myFile.println(etat);
                myFile.close(); // close the file
              }
              // if the file didn't open, print an error:
              else {
                Serial.println("error opening test.txt");
                delay(3000);
                              }
         
     dateDernierChangement = dateCourante;      
                         
        }