   
 void setSunRise(uint8_t * when){
       HSR = when[2];
-      MSR = when[1];}
+      MSR = when[1];
+      }
 void setSunSet(uint8_t * when){
       HSS = when[2];
       MSS = when[1];}
-      
+
+void startRamping(){
+  unsigned long rampingCounter = millis();
+  if(rampingCounter - lastCount > rampingInterval) {
+    // save the last time you blinked the LED 
+    lastCount = rampingCounter;
+    TEMP_CIBLE += 0,5;   
+  } 
+}
+
+void convertDecimalToTime(){
+
+  if ((MP1 > 59) && (MP1 < 120)){
+    HP1 += 1;
+    MP1 = MP1 - 60;
+  }
+  else if ((MP1 < 0) && (MP1 >= -60)){
+    HP1 -= 1;
+    MP1 = 60 + MP1;
+  }
+  if ((MP3 > 59) && (MP3 < 120)){
+    HP3 += 1;
+    MP3 = MP3 - 60;
+  }
+  else if ((MP3 < 0)&& (MP3 >= -60)){
+    HP3 -= 1;
+    MP3 = 60 + MP3;
+  }
+}
+
+
 void Controle() {
-  //-----------------Horloge----------------
+  //-----------------Horloge----------------  
   checkSunriseSunset();
+  SRmod = (int)srmod-60;
+  SSmod = (int)ssmod-60;
+  HP1 = HSR;
+  MP1 = MSR + SRmod;
+  HP3 = HSS;
+  MP3 = MSS + SSmod;
+  convertDecimalToTime();
+  Serial.print("heure programme 1 : ");
+  Serial.print(HP1);
+  Serial.print(":");
+  Serial.println(MP1);
+  Serial.print("heure programme 3 : ");
+  Serial.print(HP3);
+  Serial.print(":");
+  Serial.println(MP3);  
+  
   t = rtc.getTime();
   int heures = t.hour;
   int minutes = t.min;
 
   if (((heures == HSR)  && (minutes >= MSR))||((heures > HSR) && (heures < HP2))||((heures == HP2)  && (minutes < MP2))){
-    TEMP_CIBLE = TEMP_CIBLEP1;
+    NEW_TEMP_CIBLE = TEMP_CIBLEP1;
     PROGRAMME = 1;
   }
-  else if (((heures == HSR)  && (minutes >= MSR))||((heures > HSR) && (heures < HP2))||((heures == HP2)  && (minutes < MP2))){
-    TEMP_CIBLE = TEMP_CIBLEP2;
+  else if (((heures == HP2)  && (minutes >= MP2))||((heures > HP2) && (heures < HP3))||((heures == HP3)  && (minutes < MP2))){
+    NEW_TEMP_CIBLE = TEMP_CIBLEP2;
     PROGRAMME = 2;
   }
   else if (((heures == HSS)  && (minutes >= HSS))||(heures > HSS)||(heures < HSR)||((heures == HSR)  && (minutes < MSR))){
-    TEMP_CIBLE = TEMP_CIBLEP3;
+    NEW_TEMP_CIBLE = TEMP_CIBLEP3;
     PROGRAMME = 3;
   }
   //--------------DS18B20--------------------
   sensors.requestTemperatures();
   greenhouseTemperature = sensors.getTempCByIndex(0);
+  //--------------Affichage------------------
+    lcdDisplay();
   //--------------Relais--------------------
   //Programme d'ouverture/fermeture des rollups
   if (greenhouseTemperature < (TEMP_ROLLUP - HYST_ROLLUP)) {


//*************VARIABLES EEPROM***********************
//Programmes de températures
byte HSR; //hour of sunrise
byte MSR; //minute of sunrise
byte HP1 = 7;                  //Heure d'exécution du deuxième programme
byte MP1 = 30;                   //Minutes d'exécution du deuxième programme
byte TEMP_CIBLEP1 = 20;         //Température cible du program 1
byte HP2 = 11;                  //Heure d'exécution du deuxième programme
byte MP2 = 0;                   //Minutes d'exécution du deuxième programme
byte TEMP_CIBLEP2 = 24;         //Température cible du program2
byte HSS; //hour of sunset
byte MSS; //minute of sunset
byte HP3 = 18;                  //Heure d'exécution du troisième programme
byte MP3 = 0;                   //Minutes d'exécution du troisième programme
byte TEMP_CIBLEP3 = 22;         //Température cible du programme 3
//Sorties:
byte HYST_ROLLUP = 2;           //hysteresis rollup
byte HYST_VENT = 2;             //hysteresis ventilation

  EEPROM.write(16, vmodE);
  EEPROM.write(17, f1modE);
  EEPROM.write(18, f2modE);
  EEPROM.write(19, ramping);
}

void loadPreviousSettings() {
