hello
en attendant tes modifs, je t'ai préparé ce code
/*
* pour etre cohérent avec l'heure de la journée, il faut lancer le micro à 8h du mat
* la 1ere fois. ensuite, il est autonome pour une quarantaine de jours.
* il est donc préférable de resetter le micro 1 fois par mois à 8 h du matin.
* ceci est du à l'utilisation de la fonction milli() qui n'a rien à voir
* avec l'heure de la journée. une horloge DS3231 aurait été la bienvenue.
*
* dans chacune des lignes de la loop, on initialise les paramètres d'appels de la fonction
* "reglages_sorties()" en fonction de ce que l'on veut faire
*/
unsigned long heure;
// Definition des pins
const int Serre = 2;
const int David = 3;
const int Aspersion = 4;
const int Tomates = 5;
const int Geantes = 6;
const int Eau = 7;
const int Pompe = 8;
void setup() {
Serial.begin(115200);
for(int f =2;f<9;f++){pinMode(f,OUTPUT);digitalWrite(f,HIGH);}
heure=millis();
}
void loop()
{
if ((millis()-heure) > 86402000){heure=millis();} //8h le lendemain
// S,D,A,T,G,E,P
if ((millis()-heure) > 43200000){reglages_sorties(1,1,1,1,1,1,1);} // 20h 00mn
else {if ((millis()-heure) > 42300000){reglages_sorties(1,1,1,1,0,0,1);} // 19h 45mn
else {if ((millis()-heure) > 35100000){reglages_sorties(1,1,1,1,1,1,1);} // 17h 45mn
else {if ((millis()-heure) > 34200000){reglages_sorties(1,1,1,1,0,1,0);} // 17h 30mn
else {if ((millis()-heure) > 30900000){reglages_sorties(1,1,1,0,1,0,1);} // 16h 35mn
else {if ((millis()-heure) > 30000000){reglages_sorties(1,1,1,1,0,1,0);} // 16h 20mn
else {if ((millis()-heure) > 29640000){reglages_sorties(1,1,1,0,1,0,1);} // 16h 14mn
else {if ((millis()-heure) > 29220000){reglages_sorties(1,1,1,1,1,0,1);} // 16h 07mn
else {if ((millis()-heure) > 28800000){reglages_sorties(1,0,1,1,1,0,1);} // 16h 00mn
else {if ((millis()-heure) > 24300000){reglages_sorties(1,1,1,1,1,1,1);} // 14h 45mn
else {if ((millis()-heure) > 23400000){reglages_sorties(1,1,1,1,0,0,1);} // 14h 30mn
else {if ((millis()-heure) > 17100000){reglages_sorties(1,1,1,1,1,1,1);} // 12h 45mn
else {if ((millis()-heure) > 16200000){reglages_sorties(1,1,1,1,0,0,1);} // 12h 30mn
else {if ((millis()-heure) > 9000000){reglages_sorties(1,1,1,1,1,1,1);} // 10h 30mn
else {if ((millis()-heure) > 8100000){reglages_sorties(1,1,1,1,0,0,1);} // 10h 15mn
else {if ((millis()-heure) > 7200000){reglages_sorties(0,1,1,1,1,1,0);} // 10h 00mn
else {if ((millis()-heure) > 900000){reglages_sorties(1,1,1,1,1,1,1);} // 8h 15mn
else {if ((millis()-heure) > 1000){reglages_sorties(1,1,1,1,0,1,0);} // 8h 00mn
}}}}}}}}}}}}}}}}}}
void reglages_sorties(byte serre,byte david, byte aspersion,byte tomates,byte geantes,byte eau,byte pompe)
{
affichage(serre,david,aspersion,tomates,geantes,eau,pompe);
digitalWrite(Serre, serre);
digitalWrite(David, david);
digitalWrite(Aspersion, aspersion);
digitalWrite(Tomates, tomates);
digitalWrite(Geantes, geantes);
digitalWrite(Eau, eau);
digitalWrite(Pompe, pompe);
}
void affichage(byte serre,byte david, byte aspersion,byte tomates,byte geantes,byte eau,byte pompe)
{
Serial.print(millis()-heure);Serial.print("...parametres = ");
Serial.print(serre);Serial.print(", ");Serial.print(david);Serial.print(", ");
Serial.print(aspersion);Serial.print(", ");Serial.print(tomates);Serial.print(", ");
Serial.print(geantes);Serial.print(", ");Serial.print(eau);Serial.print(", ");
Serial.println(pompe);
}