HS110 Hygrometer Humidity Sensitivity Sensor

Description

Humidity-Sensor
Based on a unique capacitive cell, these relative humidity sensors are designed for high volume, cost sensitive applications such as office automation, automotive cabin air control, home appliances, and industrial process control systems. They are also useful in all applications where humidity compensation is needed.

Features

  1. Full interchangeability with no calibration required in standard conditions.
  2. Instantaneous desaturation after long periods in saturation phase
  3. Compatible with automatized assembly processes, including wave soldering, reflow and water immersion (1)
  4. High reliability and long term stability
  5. Patented solid polymer structure
  6. Suitable for linear voltage or frequency output circuitry
  7. Fast response time
  8. Individual marking for compliance to stringent traceability requirements

Specifications

  1. Accuracy:±2% RH
  2. Humidity Range:1 ~ 99%
  3. Mounting Type:Through Hole
  4. Operating Temperature:-40°C ~ 140°C
  5. Output:180pF @ 55%RH
  6. Output Type:Capacitance
  7. Packaging:Tube
  8. Sensitivity:310nF/%RH
  9. Sensor Type:Humidity
  10. Voltage - Supply:10V

Application

  1. Weather systems.
  2. Industrial process control systems.
  3. Air control.

Relative Humidity Measurement using the HS1101 Sensor

Connection with Arduino
The sensor is connected to the Arduino controller through a resistor/capacitor circuit, as the relative humidity changes, so does the capacitance of the device. This is measured by calculating the time it takes for the capacitor to charge through a circuit with a known resistance. The HS1101 is connected as shown below:
HS1101_Circuit_Diagram-1

Arduino Code

int sensorPin = 4;          // RC circuit with HS1101 sesnor connected to                                         digital pin D4
long result = 0;
int const RHconstant = 12169;          // RH constant

void setup() {
   Serial.begin(9600);           // Use Serial Monitor window at 9600 baud
   Serial.println("Humidiy reading start");
   Serial.print("RC delay");
   Serial.print("\t");
   Serial.println("Humidity");
}
void loop() {
   long RCdelay = RCTime(sensorPin);     // Take RC time reading of sensor
   Serial.print(RCdelay);                         // Display RC time delay
   Serial.print("\t\t"); 
   
   RCdelay = RCdelay * 215;                // Calibation to RC time delay; experiment with literal value
   int humidity = (RCdelay - RHconstant) / 24;
   Serial.println(humidity / 100, DEC);  
   delay(500);                           // Wait 1/2 second for the next read
}

                                                                     
    long RCTime(int sensePin){                // Standard RC time function

   long result = 0;
   pinMode(sensePin, OUTPUT);            // Make pin OUTPUT, and turn HIGH
   digitalWrite(sensePin, HIGH);    
   delay(1);                                        // Wait 1 ms delay
   pinMode(sensePin, INPUT);                       // Make sensorINPUT
   digitalWrite(sensePin, LOW);      // Turn off Arduino internal pullup                                                    resistor
   while(digitalRead(sensePin)){               // Loop until pin goes low
      result++;
   }
   return result;
}