Hello,
I bought a Sensitron SHT15 temp & humidity sensor from Sparkfun and noticed that it's temp and humidity readings would rise over time, regardless of the conditions surrounding the sensor.
I thought the problem was a faulty sensor so I picked up a SHT75 which is the same sensor but on a breakout board and experienced the same problems.
Armed with two sensors I set up a series of tests in rH controlled environments and I am not pleased with the results.
For my tests I used a nice Xikar digital cigar hygrometer as a control, 65% rH calibrated silica beads, and for round two of testing, a 75.5% rH Boveda humidpak for hygrometer calibration (http://www.humidipak.com/technology/HowItWorks.aspx) in a ziploc bag.
Here's the set-up with the silica beads (2/3 lbs in a 1gallon ziploc)
I began testing after the bag had stabilized for 8 hours. As you can see the cigar hygrometer is perfect at 65% rH.
First I used Glacial Wander's code: Hobby Robotics » SHT15 Humidity and Temperature Sensor
And pressed 'h' to measure humidity approximately every 3 seconds and included 1 't' for temp. at the bottom for reference. Here are my results:
Glacial Wanderer every 3 seconds
Humidity is:2033.0000000000000000 66.7638549804
Humidity is:2031.0000000000000000 66.7056121826
Humidity is:2029.0000000000000000 66.6473464965
Humidity is:2029.0000000000000000 66.6473464965
Humidity is:2030.0000000000000000 66.6764831542
Humidity is:2030.0000000000000000 66.6764831542
Humidity is:2031.0000000000000000 66.7056121826
Humidity is:2031.0000000000000000 66.7056121826
Humidity is:2031.0000000000000000 66.7056121826
Humidity is:2031.0000000000000000 66.7056121826
Humidity is:2032.0000000000000000 66.7347335815
Humidity is:2032.0000000000000000 66.7347335815
Humidity is:2033.0000000000000000 66.7638549804
Humidity is:2033.0000000000000000 66.7638549804
Humidity is:2033.0000000000000000 66.7638549804
Humidity is:2034.0000000000000000 66.7929611206
Humidity is:2034.0000000000000000 66.7929611206
Humidity is:2034.0000000000000000 66.7929611206
Humidity is:2034.0000000000000000 66.7929611206
Humidity is:2034.0000000000000000 66.7929611206
Humidity is:2034.0000000000000000 66.7929611206
Humidity is:2034.0000000000000000 66.7929611206
Humidity is:2034.0000000000000000 66.7929611206
Humidity is:2035.0000000000000000 66.8220748901
Humidity is:2035.0000000000000000 66.8220748901
Humidity is:2036.0000000000000000 66.8511734008
Humidity is:2036.0000000000000000 66.8511734008
Humidity is:2036.0000000000000000 66.8511734008
Humidity is:2036.0000000000000000 66.8511734008
Humidity is:2036.0000000000000000 66.8511734008
Humidity is:2036.0000000000000000 66.8511734008
Humidity is:2036.0000000000000000 66.8511734008
Humidity is:2036.0000000000000000 66.8511734008
Humidity is:2036.0000000000000000 66.8511734008
Humidity is:2036.0000000000000000 66.8511734008
Humidity is:2037.0000000000000000 66.8802642822
Temp is:6190.0000000000000000 71.4199981689
Humidity is:2047.0000000000000000 67.1709213256
Humidity is:2047.0000000000000000 67.1709213256
Humidity is:2048.0000000000000000 67.1999511718
Humidity is:2047.0000000000000000 67.1709213256
Humidity is:2047.0000000000000000 67.1709213256
Humidity is:2047.0000000000000000 67.1709213256
Humidity is:2048.0000000000000000 67.1999511718
Humidity is:2047.0000000000000000 67.1709213256
Humidity is:2048.0000000000000000 67.1999511718
Humidity is:2050.0000000000000000 67.2580032348
Humidity is:2051.0000000000000000 67.2870178222
Humidity is:2051.0000000000000000 67.2870178222
Notice that when the humidity does increase, it's by approximately 0.0291. Very strange.
In the 5 minutes it took me to copy and paste the values and compose this post the rH has increased to 67.6058349609%. Keep in mind this is a 65% environment which has been stabilized for over 8 hours. The other hygro has maintained a rock solid 65%.
Next, using the same 65% rH test environment I uploaded the ReadSHT1xValues.pde and library from here: GitHub - practicalarduino/SHT1x: Arduino library to support SHT1x-series (SHT10, SHT11, SHT15) temperature / humidity sensors from Sensirion
Making no changes to the test environment at all, I got these results approx. 10 minutes after using Glacial Wanderer's code:
Starting up
Temperature: 21.7799987792C / 71.2039947509F. Humidity: 71.27%
Temperature: 21.7700004577C / 71.2399978637F. Humidity: 71.24%
Temperature: 21.8199996948C / 71.2759933471F. Humidity: 71.18%
Temperature: 21.8099975585C / 71.3299942016F. Humidity: 71.16%
Temperature: 21.8699989318C / 71.4199981689F. Humidity: 71.13%
Temperature: 21.8199996948C / 71.3479919433F. Humidity: 71.12%
Temperature: 21.8599967956C / 71.3479919433F. Humidity: 71.10%
Temperature: 21.8699989318C / 71.4199981689F. Humidity: 71.07%
Temperature: 21.9099998474C / 71.4379959106F. Humidity: 71.04%
Temperature: 21.8699989318C / 71.4019927978F. Humidity: 71.04%
Temperature: 21.8599967956C / 71.4379959106F. Humidity: 70.98%
Temperature: 21.8999977111C / 71.4739913940F. Humidity: 71.01%
Temperature: 21.8799972534C / 71.4019927978F. Humidity: 70.97%
Temperature: 21.8699989318C / 71.4019927978F. Humidity: 70.94%
Temperature: 21.8799972534C / 71.4379959106F. Humidity: 70.98%
Temperature: 21.8799972534C / 71.4559936523F. Humidity: 70.98%
Temperature: 21.9199981689C / 71.5279922485F. Humidity: 70.99%
Temperature: 21.8999977111C / 71.4559936523F. Humidity: 70.98%
Temperature: 21.8699989318C / 71.3839950561F. Humidity: 70.98%
Temperature: 21.9199981689C / 71.4919967651F. Humidity: 70.99%
Temperature: 21.9399986267C / 71.5279922485F. Humidity: 70.95%
Temperature: 21.8999977111C / 71.4559936523F. Humidity: 70.95%
Temperature: 21.9300003051C / 71.5279922485F. Humidity: 70.93%
Temperature: 21.9499969482C / 71.5459976196F. Humidity: 70.93%
Temperature: 21.9399986267C / 71.5279922485F. Humidity: 70.96%
Temperature: 21.8999977111C / 71.4739913940F. Humidity: 70.93%
Temperature: 21.9499969482C / 71.5639953613F. Humidity: 70.93%
Temperature: 21.9599990844C / 71.5999984741F. Humidity: 70.97%
Temperature: 21.9799995422C / 71.5999984741F. Humidity: 70.97%
Temperature: 22.0299987792C / 71.5999984741F. Humidity: 70.94%
Temperature: 22.0000000000C / 71.6719970703F. Humidity: 70.94%
Temperature: 22.0000000000C / 71.6719970703F. Humidity: 70.90%
Temperature: 21.9799995422C / 71.6359939575F. Humidity: 70.88%
Temperature: 21.9699974060C / 71.5999984741F. Humidity: 70.87%
Temperature: 21.9899978637C / 71.5999984741F. Humidity: 70.87%
Temperature: 21.9799995422C / 71.5639953613F. Humidity: 70.87%
Temperature: 22.0000000000C / 71.6359939575F. Humidity: 70.87%
Temperature: 22.0000000000C / 71.6359939575F. Humidity: 70.88%
Temperature: 22.0000000000C / 71.6359939575F. Humidity: 70.87%
Temperature: 22.0000000000C / 71.6179962158F. Humidity: 70.88%
Temperature: 21.9899978637C / 71.5999984741F. Humidity: 70.84%
Temperature: 21.9599990844C / 71.6179962158F. Humidity: 70.84%
Temperature: 22.0200004577C / 71.6719970703F. Humidity: 70.85%
Temperature: 21.9899978637C / 71.5819931030F. Humidity: 70.84%
Temperature: 21.9899978637C / 71.6539916992F. Humidity: 70.84%
Temperature: 22.0000000000C / 71.6359939575F. Humidity: 70.88%
Temperature: 21.9899978637C / 71.6179962158F. Humidity: 70.88%
Temperature: 21.9899978637C / 71.6359939575F. Humidity: 70.91%
Temperature: 22.0299987792C / 71.7079925537F. Humidity: 70.91%
Temperature: 21.9699974060C / 71.6179962158F. Humidity: 70.91%
Temperature: 21.9899978637C / 71.5999984741F. Humidity: 70.87%
Temperature: 22.0000000000C / 71.6719970703F. Humidity: 70.87%
Temperature: 22.0099983215C / 71.6539916992F. Humidity: 70.88%
Temperature: 21.9799995422C / 71.6359939575F. Humidity: 70.88%
Temperature: 22.0299987792C / 71.6539916992F. Humidity: 70.90%
Temperature: 22.0399971008C / 71.6719970703F. Humidity: 70.88%
Not changes were made to the environment yet the results are very different.
This is the 75% rh test environment:
Here the store was the same.
The accuracy of the sensor matters to me because I am using it to control a humidifier to maintain a desired humidity. I'd be happy to subtract whatever the error differential is from the humidity reading to get something accurate, but I can't discern a pattern here. After many days of running the 75% test it peaked at about 81.5% and held relatively constant there.
Can someone please help me figure out what's going on here? The code I'm using is unmodified and from the generally accepted source. I can reproduce these strange results with two different sensors so I don't think they're faulty. This is very frustrating because the problem is much more than the sensors are off by a percentage or two -- overtime that error increases so the value it's return is really useless.
Thanks,
Jacob