HIH4000 Humidity ,Hygrometer Sensor Tutorial
by geekrex in Circuits > Arduino
10882 Views, 78 Favorites, 0 Comments
HIH4000 Humidity ,Hygrometer Sensor Tutorial
The HIH-4000 Series Humidity Sensors are designed specifically for high efficient humidity sensing by honeywell.It has a good linear voltage output which cna be connected to a mcu . With a typical current draw of only 200 µA, the HIH-4000 Series is often ideally suited for low drain, battery operated systems.
This was really out of my comfort as i need to scratch code all of the stuff
The HIH-4000 Series delivers instrumentation-quality RH
(Relative Humidity) sensing performance in a competitively priced, solderable SIP (Single In-line Package)
The sensing element's multi-layer construction provides
excellent resistance to most application hazards such as wetting, dust, dirt, oils and common environmental chemicals.
This video is not mine. Courtesy :ChipDipvideo
Components
I got this HIH4000 from my friend at dnatechnology. They gave it to me to try it out.
Also i love challenges to i started working on it .
DISCLAIMER
THIS SENSOR IS A EXPENSIVE SENSOR BUT IT GIVES A VERY GOOD LINEAR OUTPUT .
Anyways part list here
Connections and Working
I went through the datasheet and got the pin outs of the sensor.
It needs a load of minimum 80k i used a 100k value resistance.
The resistance is connected between Output and Gnd.
Connecting to the arduino
+ve terminal to 5v
-ve terminal to Gnd
Resistance across GND and output
output to analog 0
Working
The HIH4000 sensor gives a output voltage that is linear to the relative humidity if we see the graph we see that the it starts 0.6 v at 0% relative humidity and increase linearly to 3.8 on 100% relative humidity.
Code
open getting the analog voltage value from the ad we need to get the voltage from it
that is equal to resolution multiplied by the value.
since arduino UNO has 10 bit adc the resolution is 0.0048875 V or 4.88mV.
Once we get the voltage it need to represent the humidity from the voltage.
for that we need to change parameter
y=mx+c
where y= voltage
x= humidity
so
x=(y-c)/c
int HIH4000_Pin = A0; //analog pin 0 void setup(){ Serial.begin(9600); } void loop(){ //To properly caculate relative humidity, we need the temperature. float relativeHumidity = analogRead(HIH4000_Pin); float av=0.0048875*relativeHumidity; float res=(av-0.86)/0.03; Serial.println(res); delay(250); //just here to slow it down so you can read it }