DHT11 - temp ok, but RH values wildly off

DHT11

float------------(h)+10; FIXED!!!!

DHT22

float------------(t)-1.60; FIXED!!!!

float------------(h)+6; FIXED!!!!

been watching all mine for weeks now spot on or very close to spot on!

Hi all. I found the DHT22 to be reasonably accurate at measuring humidity; I have one connected to arduino uno and seven seg display. It shows around the same humidity as a commercialy brought one, varying between 0 and 5% or so off. I didnt have to add or subtract any offset, but I did for the temperature (1.5 C).

Got the same issue. Did someone found a solution?

|500x420

I had four of the DHT22 units. Three were stable and close in value. The other was low about 10% and unstable. Since they were in warranty, Adafruit replaced the bad one.

I think that the DHT11 should not be connect on +5V in a permanent way. I had it connected on 5V in the past and had humidity data off (low) by about 10%. Now I use one of the digital output of the Arduino to supply it with 5V for 1 or 2 seconds every 20 seconds. Results are now more constants and higher by 10% (for 2 units)! Note: the resistor between pin 1 and 2 is also connect to the output.

This is a very useful document for calibration. it includes the hole range of humidity at a specefic temperature values with different salts.

Hope it's gonna help some people :)

search for these links on google: Salt tests: http://www.omega.com/temperature/z/pdf/z103.pdf

how to calibrate: https://www.omega.com/manuals/manualpdf/M969.pdf

To calibrate your sensors you should put them enclosed with salt at least 1 hours (until no change in reading values), then deduct many functions for each interval of humidity:

Yi = f(x) , i=1,....n

wich x is the wrong value given by the sensor, and Y is the supposedly correct humidity value to display. then you add some conditional if statements in each interval to correct the humidity value.

I hope it was clear!!

Here is my fix, I warn you that I am still testing. My DHT22 connected to my Arduino Uno reads 16% less that a know good humidity gauge. I did the following

float h = dht.readHumidity(); h=h+16.0;

Added the h=h+16.0

So far the reading is accurate. I just started testing and need to burn in the fix for several days or weeks to see if it is carries through the range of humidity I will be reading.

I think that this is a bandaid to the real problem but it is quick and dirty and so far it works. I would like to hear your thoughts.

Continued and an Update

After some time I realized that the DHT22 sensor is bad. It reads incorrectly on my Raspberry Pi also and the actually reading is dropping while other DHT22 sensors I have are stable. I am going to trash it and get a new one.

rdibened: Here is my fix, I warn you that I am still testing. My DHT22 connected to my Arduino Uno reads 16% less that a know good humidity gauge. I did the following

float h = dht.readHumidity(); h=h+16.0;

Added the h=h+16.0

So far the reading is accurate. I just started testing and need to burn in the fix for several days or weeks to see if it is carries through the range of humidity I will be reading.

I think that this is a bandaid to the real problem but it is quick and dirty and so far it works. I would like to hear your thoughts.

Not sure about that. now it's reporting 19% while it's 45/50% in this room...

I have 2 DHT11 and they are both way off for humidity.

Here is my fix:

Humidity=10*sqr(H) where H=reading of humidity from DHT11.

So, if you have a reading of 0% or 100% the result will be the same.

If mine give a reading of 25%, with the correction it is 50% wich is closer to the real value.

Hi duino_nano!

I just run dht11 under nano (Chinese clone) and it says that humidity in my room is about 512% RH while temp. is around 537 C. )) I’m on good Earh not on Venus so far. Log is attached (knob - is my finger’s applied just against the sensor)… What d’u think of it guys?

VDD 5V (const) - well I’ve read in dht’s DS that it isn’t good to supply it with DC current due to polarization of the gauge.

I think you have a bad DHT11 sensor. Your Arduino clone is probably fine. Remember the DHT11 is an I2C device and the same pin that sends the humidity also sends the temp.

Hi there man alive! )) I mean I’m sick and tired of googling through the inet in order to find the answers to my issues … of no success mostly.

Yes, I rather agree with you as for my dht. But I’m a newbee at all these issues. Here is a couple of curves in att. represent my ‘finger test’. Maybe them will pour some light on it…

Thanks for your interest!

dht11_finger_test.zip (4.69 KB)

ЕрThe problem is solved. It was necessary to choose your sensor model out of three ones into the sketch defines: DHT11, DHT22 and DHT21. Unnecessary items (2 out of 3) should be commented. That was the point. My thanks to all of you! Cheers!

i yet have this problem, my sensor is module dht11 and show value 66 and 2. Did you just change the sensor?

I found that the DT-22 is more accurate, however, the humidity is still a bit off. I found the best way to correct this is to fudge the reading you get and add or subtract the amount the sensor is off from the sensor reading. If sensor reads 60% and you know it is 40% subtract 20 from the 60 and you get 40.

naladka:
Looks like sensor resetting procedure helps me. I think it happens when sensor is used in extreme conditions like when breathing on it or placing straight under vapor stream or ultrasonic humidifier.

all you need to do:

Step one: Keep the DHT sensor at the condition of Temperature 50~60Celsius, humidity <10%RH for 2 hours;
Step two:K keep the DHT sensor at the condition of Temperature 20~30Celsius, humidity >70%RH for 5 hours.

In my case it wasn’t hard to get that environment: first one can be achieved just placing sensor in air heater (water or electric), second- just cover sensor with something wet in room temperature. After resetting i have checked measurements and surprisingly humidity was both equal on DHT11 and expensive, calibrated hygrometer.

Sorry, I realize this is an old thread.

How do you keep a DHTxx sensor at 50-60°C and 10% humidity? My oven has a low setting of 200°F (≈93°C), which is well that range.

I built a thermostatically controlled warm air heater that I could turn way, waaaay up (it’s set to put out air at about 38°C to dry my bike gear/ski gear after use) but the thermostat is a rather touchy bimetal thermostat and getting it readjusted for normal use would take some time.

What temperature range do you need? DHT11 is pretty much worthless (IMHO). My choices: https://www.amazon.com/Adafruit-Accessories-Waterproof-DS18B20-Digital/dp/B00NAY24KW/ref=sr_1_19?crid=1ZOYMVQK0BCR1&keywords=ds18b20+waterproof+temperature+sensor&qid=1575266304&sprefix=DS18B20%2Caps%2C170&sr=8-19 https://cdn.sparkfun.com/datasheets/Sensors/Temp/DS18B20.pdf https://www.amazon.com/HiLetgo-Temperature-Humidity-Interface-GY-SHT31-D/dp/B07ZSZW92J/ref=sr_1_4?keywords=SHT31&qid=1575266602&sr=8-4 https://www.sensirion.com/fileadmin/user_upload/customers/sensirion/Dokumente/0_Datasheets/Humidity/Sensirion_Humidity_Sensors_SHT3x_Datasheet_digital.pdf

Hi all, I think dht11 is not usable, I compare a group of sensors and the response is not ship good as expected.

https://www.mischianti.org/2019/07/01/temperature-humidity-sensors-comparison-settings-part-1/

Bye

I was having trouble with wildly fluctuating values for both temperature and humidity with a DHT11 using a NodeMCU 1.0 board. The humidity would periodically be in the 150-160% range, while the temperature would drop to 0.

Here’s what I did to solve it.

  • Switched from the Adafruit DHT library to the DHTesp library.
  • Changed from INPUT to INPUT_PULLUP on the GPIO pin in my sketch.

You can see on the attached charts from Home Assistant when I updated the sketch, as the temp and humidity values immediately stabilized.

Just thought anybody else trying to get their DHT11 working might want to know.