I found using a WeMos d1 mini and a diy dht22 shield I made that even using a heatsink on the esp8266 chip, the system was self heating, so i measured the temperature of the environment with a laser pointer thermometer and figured out that the dht22 was 5°C above the correct temperature. All i did was to subtract 5 from the float that stores dht.readTemperature() by 5.
So the code looks like this:
float t = dht.readTemperature()-5;
Obviously you have to know how many °C your sensor is above the correct value.
moving the sensor is better than correcting it.
i highly doubt it is a linear function
Hello @dbguitarplayer I use this sensor and Wemos D1 (not mini) and the chipset ESP one got really hot a good solution is the one @Dave1829 told you but I even recomend you to move away atleast 15-20cm In my case it is at 5 meters and the accuracy is really good with this board. Other thing is the analog port ¬¬
Thank you @kranick, I think will move the sensor away from the shield attached to the WeMos D1 mini and do a test.
Maybe you can use deep sleep mode to keep your WeMos Cool’n’Quiet while there is no need to read the sensor data… Does it have sense for you? A crazy idea?
Thank you @psoro. It could be a good idea, i will definetely test it with the sensor on the shield and with the sensor away from the WeMos. I’ll let you know how it goes.
@psoro @kranick @Dave1829 After a few tries i decided to make an esp01 board with a connector for the dht22 and it works flawless. this is how it looks.
I hope it could be helpful.