Bonjour à tous
Je viens de faire un montage minimaliste avec un arduino et un AM2302 directement planté dans le header de la carte arduino mega
Quand je branche la carte après un moment au repos, les valeurs de température données par le capteur semblent correctes, puis la valeur se met à monter de plusieurs degrés et se stabilise.
Donc la question que je me pose est : est-il possible que le capteur chauffe et perturbe de lui même la mesure ?
Du coup je me pose aussi la question des valeurs d'humidité lues, vu que la température joue pour le calcul de la valeur...
Par exemple là la bonne valeur serait plutôt autour de 21.5 ou 22 °C
#include <Wire.h>
#include <Adafruit_RGBLCDShield.h>
#include <utility/Adafruit_MCP23017.h>
#include <SimpleDHT.h>
// for DHT22,
const int pinDHT22 = 51;
SimpleDHT22 dht22(pinDHT22);
Adafruit_RGBLCDShield lcd = Adafruit_RGBLCDShield();
void setup() {
pinMode(49, OUTPUT);
digitalWrite(49, HIGH);
//Serial.begin(115200);
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
lcd.setBacklight(1);
}
void loop() {
lcd.clear();
// read without samples.
// @remark We use read2 to get a float data, such as 10.1*C
// if user doesn't care about the accurate data, use read to get a byte data, such as 10*C.
float temperature = 0;
float humidity = 0;
int err = SimpleDHTErrSuccess;
if ((err = dht22.read2(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
lcd.print("Read DHT22failed");
lcd.setCursor(0,1);
lcd.print("err="); Serial.println(err);delay(2000);
return;
}
lcd.print((float)temperature); lcd.print(" C, ");
lcd.setCursor(0,1);
lcd.print((float)humidity); lcd.print(" RH%");
// DHT22 sampling rate is 0.5HZ.
delay(2500);
}