dancex47:
Bonjour les gens !Déjà levé que je teste une nouvelle fois suivant vos consignes.
Voici donc le code modifié :const float consigne=25;
const float hysteresis=0.5;
lcd.setCursor(0, 1);
lcd.print(temp); //Température mesurée réelle
lcd.print(" C");
if (temp >= consigne) {
lcd.setCursor(0, 0);
lcd.write("Arrosage actif ");
digitalWrite(8, LOW); // VERTE ETEINTE
digitalWrite(6, HIGH); // ROUGE ALLUMEE
digitalWrite(relay, HIGH); // MOTEUR ALLUME
}
if (temp <= consigne) {
lcd.setCursor(0, 0);
lcd.write("Arrosage inactif");
digitalWrite(relay, LOW); // MOTEUR ETEINT
digitalWrite(8, HIGH); // VERTE ALLUMEE
digitalWrite(6, LOW); // ROUGE ETEINTE
}
Verdict ?.................................... IDEM, aucun changement, sauf qu'il déclanche à 25,00°C pile poil comme avant, mais c'est tout :-(
oui mais tu ne fais pas ce que je t'ai dit : il n'y a que la deuxième condition a changer pas la premiere
ou tu fais comme te dit Kamill mais l'écart est 2 fois l'hystérésis (if (temp <= consigne-hysteresis) {)
on est bien d'accord que ton système refroidi (MOTEUR ALLUME) et ne chauffe pas (d'après ton premier post) donc la proposition de manumanu ne peu pas fonctionner