allumage arduino

Ah oui ok, enfin on va se comprendre !!

Alors même si je comprends ton point de vue, c'est quand même une solution vraiment à l'arrache que de vouloir faire un reset, surtout que ton problème n'est pas insolvable, loin de la ! Quelques petits point "à la va vite" :

  heure = RTC.get(DS1307_HR,true);  
  minut = RTC.get(DS1307_MIN,false);
  seconde = RTC.get(DS1307_SEC,false);
  date = RTC.get(DS1307_DATE,false);
  mois = RTC.get(DS1307_MTH,false);
  annee = RTC.get(DS1307_YR,false);
  temps_perso = (heure * 100) + minut;  
  
    //Affichage heure******************************************************************************************
  lcd.setCursor(0,0);
  if (heure < 10)
  {
    lcd.print("0");
  }
  lcd.print(RTC.get(DS1307_HR,true));
  lcd.print("H");
  if (minut < 10)
  {
    lcd.print("0");
  }
  lcd.print(RTC.get(DS1307_MIN,false));
  lcd.print(" ");

  delay (100);

Pourquoi récupérer la date pour ensuite la redemander ?

Ensuite je sais pas si c'est la que ça bug mais il y a des trous dans ta programmation horaire : que se passe-t-il entre minuit et 8h30/9h ? Il vaut mieux par sécurité toujours prévoir un état de ton système.

Après quand une action a lieu, l'heure n'est affichée que 100 millisecondes, ça doit flashé !

Sinon ton bug est peut-être lié au fait que des fois essaye d'afficher plus de caractères que le LCD peut, par exemple " + POWER led + " = 17 caractères ! Utilise la fonction lcd.clear()