edit

# Grove - Temperature&Humidity Sensor

This Temperature&Humidity sensor provides a pre-calibrated digital output. A unique capacitive sensor element measures relative humidity and the temperature is measured by a negative temperature coefficient (NTC) thermistor. It has excellent reliability and long term stability. Please note that this sensor will not work for temperatures below 0 degree.

## Features¶

• Relative Humidity and temperature measurement
• Full range temperature compensation Calibrated
• Digital signal
• Long term stability
• Long transmission distance(>20m)
• Low power consumption

Tip

## Applications Ideas¶

• Consumption product
• Weather station
• Humidity regulator
• Air conditioner

## Specifications¶

### Key Specifications¶

Items Min
PCB Size 2.0cm*4.0cm
IO Structure SIG,VCC,GND,NC
ROHS YES

### Electronic Characterstics¶

Items Conditions Min Norm Max Unit
VCC - 3.3 - 5 Volts
Measuring Current Supply - 1.3  2.1 mA
Average Current Supply - 0.5 - 1.1 mA
Measuring Range Humidity 20% - 90% RH
Temperature 0 - 50 °C
Accuracy Humidity - - ±5% RH
Temperature ±2 °C
Sensitivity Humidity - 1% RH
Temperature 1 °C
Repeatability Humidity ±1% RH
Temperature ±1 °C
Long-term Stability ±1% RH/year
Signal Collecting Period 2 S

## Platforms Supported¶

Arduino Raspberry Pi BeagleBone Wio LinkIt ONE

Note

The platforms mentioned above as supported is/are an indication of the module's software or theoritical compatibility. We only provide software library or code examples for Arduino platform in most cases. It is not possible to provide software library / demo code for all possible MCU platforms. Hence, users have to write their own software library.

Getting Started

When MCU sends a trigger signal, sensor will change from low power consumption mode to active mode. After the trigger signal sensor will send a response signal back to MCU, then 40 bit collected data is sent out and a new signal collecting is trigged.(Note that the 40 bit collected data which is sent from sensor to MCU is already collected before the trigger signal comes.) One trigger signal receives one time 40 bit response data from sensor. Single-bus data is used for communication between MCU and sensor. The communication process is shown below:

It costs 5ms for single time communication.The high-order bit of data sends out first. Signal Data is 40 bit, comprised of 16 bit humidity data, 16 bit temperature data and 8 bit checksum.The data format is:

8bits integer part of humidity+8bits decimal part of humidity
+8bits integer part of temperature+8bits decimal part of temperature
+8bits checksum.


Note

If this is the first time you work with Arduino, we firmly recommend you to see Getting Started with Arduino before the start.

### Play With Arduino¶

#### Hardware¶

• Step 1. Prepare the below stuffs:
Seeeduino V4.2 Base Shield Temperature&Humidity Sensor
Get One Now Get One Now Get One Now
• Step 2. Connect Grove - Temperature&Humidity Sensor to port D2 of Grove-Base Shield.

• Step 3. Plug Grove - Base Shield into Seeeduino.

• Step 4. Connect Seeeduino to PC via a USB cable.

Note

If we don't have Grove Base Shield, We also can directly connect Grove - Temperature and Humidity Sensor Pro to Seeeduino as below.

Seeeduino Temperature&Humidity Sensor
5V Red
GND Black
Not Conencted White
D2 Yellow

#### Software¶

• Step 2. Refer How to install library to install library for Arduino.

• Step 3. Restart the Arduino IDE. Open “ DHTtester” example via the path: File → Examples → Grove_Humidity_Temperature_Sensor-master → DHTtester. Through this demo, we can read the temperature and relative humidity information of the environment.

Note

This Grove - Temperature&Humidity Sensor and our another product Grove-Temperature&Humidity Sensor pro are sharing this library. No matter which product you are using, make sure that you have made the definition line of the sensor of your board into effect and commented out the definition lines of other specs. For example, the sensor we used on Grove - Temperature&Humidity Sensor is DHT 11. So the definition part of the sensor spec should be:

 1 2 3 #define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT22 // DHT 22 (AM2302) //#define DHTTYPE DHT21 // DHT 21 (AM2301) 

The default setting of the library is DHT 22, so you need to change it into DHT 11 manually.

• Step 5. Open the Serial Monitor of Arduino IDE by click Tool-> Serial Monitor. Or tap the Ctrl+Shift+M key at the same time. if every thing goes well, you will get the temperature.

The result should be like:

### Play with Codecraft¶

#### Hardware¶

Step 1. Connect a Grove - Temperature&Humidity Sensor to port D2 a Base Shield.

Step 2. Plug the Base Shield to your Seeeduino/Arduino.

#### Software¶

Step 1. Open Codecraft, add Arduino support, and drag a main procedure to working area.

Note

Success

When the code finishes uploaded, you will see temperature and humidity displayed in the Serial Monitor.

### Play With Raspberry Pi (With Grove Base Hat for Raspberry Pi)¶

#### Hardware¶

• Step 1. Things used in this project:
Raspberry pi Grove Base Hat for RasPi Grove - Temp & Hum Sensor
Get ONE Now Get ONE Now Get ONE Now
• Step 2. Plug the Grove Base Hat into Raspberry.
• Step 3. Connect the temperature and humidity sensor to Port 12 of the Base Hat.
• Step 4. Connect the Raspberry Pi to PC through USB cable.

Note

For step 3 you are able to connect the temperature and humidity sensor to any GPIO Port but make sure you change the command with the corresponding port number.

#### Software¶

• Step 1. Follow Setting Software to configure the development environment.
• Step 2. Download the source file by cloning the grove.py library.
 1 2 cd ~ git clone https://github.com/Seeed-Studio/Seeed_Python_DHT.git 
• Step 3. Excute below commands to run the code.
 1 2 3 4 cd Seeed_Python_DHT sudo python setup.py install cd ~/Seeed_Python_DHT/examples python dht_simpleread.py 

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import time import seeed_dht def main(): # for DHT11/DHT22 sensor = seeed_dht.DHT("11", 12) # for DHT10 # sensor = seeed_dht.DHT("10") while True: humi, temp = sensor.read() if not humi is None: print('DHT{0}, humidity {1:.1f}%, temperature {2:.1f}*'.format(sensor.dht_type, humi, temp)) else: print('DHT{0}, humidity & temperature: {1}'.format(sensor.dht_type, temp)) time.sleep(1) if __name__ == '__main__': main() 

Success

If everything goes well, you will be able to see the following result

## Projects¶

Toilet Management System: Using the system multiple persons can share a single toilet efficiently.

## Tech Support¶

Please submit any technical issue into our forum.