Bonjour,
J'ai un souci d'ajustement de paramétrage avec mes affichages de température.
Voici le matériel utilisé : - 1x DHT22 (Température Serre) - 1x sondes PT-100 range -50 à +300 degrés C (1x température extérieur) - 1x transmetteurs de courant. Alim 24v, range -50 à +100 degrés C - 1x résistance 250 ohms - Arduino mega 2560 - 1x Laptop pour l'acquisition/diffusion des données et la prog sur place
Lorsque je préparais mon montage à l'intérieur, l'affichage m'indiquait la température ambiante correctement malgré une erreur d'environs 1 à 1.5 degrés C.
Hier je suis allé installé mon boitier de contrôle dans la serre. Voici les températures réelles prises avec un autre instrument que ceux de mon montage (oublions les lectures du DHT22 car elles sont correctes) : - Extérieur : -19.6 C Température affichée au moniteur série : - Extérieur : 1.2 C
Voici mes paramètres mesurés au multimètre à la sonde et au transmetteur: 1.770 volts = -19.6 Celsius = 92.4 ohms 2.647 volts = 9.2 Celsius = 103.6 ohms
J'ai essayé divers paramètres mais sans succès. Avez-vous une idée?
int LectureCapteurs (){
delay(300); // La lecture du capteur prend 250ms
h = dht.readHumidity(); //on lit l'hygrometrie
float t = dht.readTemperature(); //on lit la temperature en celsius (par defaut)
float f = dht.readTemperature(true); // pour lire en farenheit, il faut le paramère (isFahrenheit = true)
if (isnan(h) || isnan(t) || isnan(f)) { return; } //On verifie si la lecture a echoue, si oui on quitte la boucle pour recommencer.
float hif = dht.computeHeatIndex(f, h); // Calcul de l'indice de temperature en Farenheit
float hic = dht.computeHeatIndex(t, h, false); // Calcul de l'indice de temperature en Celsius
/*
* Affichages :
* Humidite: h
* Temperature: t celcius
* Temperature: f faraneith
* Indice de temperature: hic celcius
* Indice de temperature: hif faraneith
*/
sensorTemp[0] = analogRead(A8); // Lire température Extérieure
sensorTemp[1] = analogRead(A9); // Lire température poulaillier
Temp[0] = map(sensorTemp[0],102,512,-50,300);
Temp[1] = map(sensorTemp[1],102,512,-50,300);
t2 = t; // A partir du DHT22
t1 = Temp[0]; // Float conversion
t3 = Temp[1]; // Float conversion
t1 = t1/10;
t3 = t3/10;
return t1;
return t2;
return t3;
return h;
}