Bonjour à toute la communauté française !!!
Je suis en train de bricoler un petit circuit d'arrosage de pompes commandé par une Arduino UNO.
J'ai plusieurs questions d'ordre pratique et de code :
1/ Je souhaite mettre plusieurs sonde hydrométrique sur ma carte, mais j'ai un souci, comment on fait pour alimenter 4-8 sondes alors qu'il y a qu'une sortie 5 V + 2 sortie GND ????
2/ J'ai commencé à écrire mon code, mais je n'arrive pas à mettre deux délais différent dans mon programme à savoir 1 fréquence de mesure hydrométrique (1x / h) et 1 durée d'arrosage....
Comment on peut programmer plusieurs durée ?
=> Mon code :
int PinAnalogiqueHumidite0 = 0; //Broche Analogique AO de mesure d'humidite
int PinAnalogiqueHumidite1 = 1; //Broche Analogique A1 de mesure d'humidite
int PinAnalogiqueHumidite2 = 2; //Broche Analogique A1 de mesure d'humidite
int PinAnalogiqueHumidite3 = 3; //Broche Analogique A1 de mesure d'humidite
int PinDigitalRelais = 2; //Broche Digatale D2 du relais de la pompe
int Sonde1; //Humidite su sol, mesure analogique
int Sonde2; //Humidite su sol, mesure analogique
int Sonde3; //Humidite su sol, mesure analogique
int Sonde4; //Humidite su sol, mesure analogique
void setup() {
Serial.begin(9600); //Connection serie à 9600 baud
pinMode(PinAnalogiqueHumidite0, INPUT); //pin A0 en entre©e analogique
pinMode(PinAnalogiqueHumidite1, INPUT); //pin A1 en entre©e analogique
pinMode(PinAnalogiqueHumidite2, INPUT); //pin A2 en entre©e analogique
pinMode(PinAnalogiqueHumidite3, INPUT); //pin A3 en entre©e analogique
pinMode(1, INPUT);
pinMode(2, INPUT);
pinMode(6, OUTPUT);
}
void loop() {
Sonde1 = analogRead(PinAnalogiqueHumidite0);
Sonde2 = analogRead(PinAnalogiqueHumidite1);
Sonde3 = analogRead(PinAnalogiqueHumidite2);
Sonde4 = analogRead(PinAnalogiqueHumidite3);
Serial.print("Sonde 1 = ");
Serial.println(Sonde1);
Serial.print("Sonde 2 = ");
Serial.println(Sonde2);
Serial.print("Sonde 3 = ");
Serial.println(Sonde3);
Serial.print("Sonde 4 = ");
Serial.println(Sonde4);
delay(3600000); //delai entre 2 mesures 3600000ms = 60 min
if (analogRead(Sonde1) >= 380)
{
digitalWrite(6, LOW); // Pompe eteinte
}
else if (analogRead(Sonde2) >= 380)
{
digitalWrite(6, LOW); // Pompe eteinte
}
else if (analogRead(Sonde3) >= 380)
{
digitalWrite(6, LOW); // Pompe eteinte
}
else if (analogRead(Sonde4) >= 380)
{
digitalWrite(6, LOW); // Pompe eteinte
}
else
{
digitalWrite(6, HIGH); // Pompe allumée
delay(300000); //duré©e d'arrosage 300000ms = 5 min
}
}
3/ Je pense avoir bien écrit mon code pour les test "if" / "else", mon objectif est que la pompe se lance pendant 5 min si les 4 sondes hydrométrique me renvoie une valeur inférieure à 380 (ce qui correspond à un substrat sec..... Une âme charitable pour me dire si c'est bon ?
4/ Juste une question, Est-ce que les puces Arduino sont capables de générer un fichier "Plot" où il consignerait l'ensemble des arrosages déclenchés avec horodatage ?
Je vous remercie tout de votre attention et aide !