3 éme et dernière partie
//LED BLANCHE
if (HProg >= 2000 && HProg <2100)
{
analogWrite(LedBlanche, valupLedBlanche * 0.8); digitalWrite(LedEclLedBlanche, HIGH); // Allumage progressif de l'éclairage Led Blanche
d = 1; // écriture en sortie d'un état HAUT
}
else if (HProg >= 2100 && HProg <2200) // Si il est entre 21h00 et 22h00
{
analogWrite(LedBlanche, valdownLedBlanche * 0.8); // Extinction de l'éclairage Led Blanche
}
else if (HProg > 2200 && HProg <= 2359) // Si il est entre 22h00 et minuit
{
digitalWrite(LedEclLedBlanche, LOW); // Extinction de la led témoin Led Blanche
d = 0; // écriture en sortie d'un état BAS
}
else if (HProg >= 0 && HProg <= 1059) // Si il est entre minuit et 11h00
{
digitalWrite(LedEclLedBlanche, LOW); // Extinction de la led témoin Led Blanche
d = 0; // écriture en sortie d'un état BAS
}
// ALLUMAGE MANUEL
// GESTION DU CHAUFFAGE
// ***** Le relais du chauffage est câblé en NC (inverse des autres relais)*********
{
lcd.setCursor(7,2);
lcd.print("Chauff:OK");
digitalWrite(LedChauffage, HIGH); digitalWrite(Chauffage, HIGH); digitalWrite(LedAlarmeChauffage, LOW);// Allume la led verte du chauffage, éteint la led rouge de l'alarme et laisse le relais en NC
if (TemperatureEau > 25.5) // si la température est supérieure à 25.5°
{
digitalWrite(Chauffage, LOW); digitalWrite(LedChauffage, LOW); digitalWrite(LedAlarmeChauffage, HIGH); // Eteint la led verte du chauffage, allume la led rouge de l'alarme et passe le relais en NO
lcd.setCursor(0,2);
lcd.print(" ");
lcd.print(" ALARME TEMPERATURE");
lcd.setCursor(0,3);
lcd.print(" ");
lcd.print(" HAUTE : T > 25,5");
lcd.print((char)223), ("C");
delay(3000);
}
}
// GESTION DU NIVEAU D'EAU
{
{
SondeNiveau = 0; int i = 0;
for (int i = 0; i < 5 ; i++)
{
SondeNiveau = analogRead(Niveau);
//Serial.println(SondeNiveau);
SondeNiveau += SondeNiveau;
//Serial.println(SondeNiveau);
delay(300);
}
Sonde = (SondeNiveau / 5);
Serial.println(Sonde); " ";
}
digitalWrite(NBB, LOW); digitalWrite(NB, LOW); digitalWrite(NN, LOW); digitalWrite(NH,LOW); digitalWrite(NHH, LOW);
if (Sonde < 500)
{
digitalWrite(NBB, HIGH); // allume la led rouge du niveau très bas
}
else if (Sonde >= 500 && Sonde <515)
{
digitalWrite(NB, HIGH); digitalWrite(NBB, LOW); // allume la led orange du niveau bas et éteint la rouge du niveau très bas
}
else if (Sonde >= 515 && Sonde < 530)
{
digitalWrite(NN, HIGH); digitalWrite(NBB, LOW); digitalWrite(NB, LOW); // allume la led verte du niveau normal et éteint les leds des niveaux inférieurs
}
else if (Sonde >= 530 && Sonde < 545)
{
digitalWrite(NH, HIGH); digitalWrite(NBB, LOW); digitalWrite(NB, LOW); digitalWrite(NN, LOW); // allume la led orange du niveau bas et éteint les leds des niveaux inférieurs
}
else if (Sonde >= 545 && Sonde < 750)
{
digitalWrite(NHH, HIGH); digitalWrite(NBB, LOW); digitalWrite(NB, LOW); digitalWrite(NN, LOW); digitalWrite(NH,LOW); // allume la led rouge du niveau bas et éteint les leds des niveaux inférieurs
}
delay(100);
}
// AFFICHAGE DE LA TEMPERATURE DE L'EAU
{
// call sensors.requestTemperatures() to issue a global temperature
// request to all devices on the bus
TemperatureEau = 0;
sensors.requestTemperatures(); // Send the command to get temperatures
delay(1000);
TemperatureEau = (sensors.getTempCByIndex(0));
}
// Affiche les températures
{
TempRTC = DS3231_get_treg(); // lit la température de l'horloge
lcd.setCursor(0,3);
lcd.print(" ");
lcd.setCursor(0,3);
lcd.print("Temp RTC: ");
lcd.print(float(TempRTC),1);
lcd.print((char)223), ("C");
delay(3000);
}
{
lcd.setCursor(0,3);
lcd.print(" ");
lcd.setCursor(0,3);
lcd.print("Temp Eau: ");
lcd.print(TemperatureEau, 1);
lcd.print((char)223), ("C");
delay(3000);
}
}