DHT22 2 click is used for measuring the environmental temperature and relative humidity. It uses the CM2322 sensor, with very accurate thermal and humidity measuring capabilities. It can use either 1-Wire or I2C protocol to communicate with the integrated circuit.
Attributes like the ultra-small size, low power consumption,data signal transmission distance up to 20 meters, make this sensor the perfect choice for all kinds of applications that require measurement of the temperature and humidity.
Typical temperature accuracy is ±0.3°C, while relative humidity accuracy is 2% RH, with the resolution of 0.1 for both measured properties.
I2C/1-Wire interface is used to communicate with the host MCU, sending the measurement data every 2 seconds. Proprietary data collecting techniques are used to average the sampled values, after which the result is sent via the I2C/1-Wire bus.
Type | Temperature / Humidity |
On-board modules | CM2322 sensor with very accurate thermal and humidity measuring capabilities |
Key Features | Great measuring accuracy: ±0.3°C, ±2%RH at 25°C, ultra-small size, low power consumption, signal transmission distance up to 20 meters. |
Interface | 1-wire,I2C |
Input Voltage | 3.3V or 5V |
Click board size | M (42.9 x 25.4 mm) |
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Logic voltage level | 3.3 | 5 | 5.5 | V |
SCL clock frequency | 100 | kHz | ||
Measuring range (T) | -40 | +80 | °C | |
Measuring range (RH) | 0% | 99% | RH |
Label | Name | Default | Description |
---|---|---|---|
JP1 | OW/SCL | Right | Digital interface selection. Left position 1-Wire, right position I2C. |
JP2 | OW/SDA | Right | Digital interface selection. Left position 1-Wire, right position I2C. |
JP3 | LOGIC SEL | Left | Logic level voltage selection. Left position 3.3V, right position 5V. |
PWR | Power LED | - | Power LED indicates that the click is powered on |
float DHT22_2_getTemperature();
- Function for reading temperature from sensor
float DHT22_2_getHumidity()
- Function for reading humidity from sensor
Examples Description
The example uses the library functions to read the temperature and humidity from the sensor and sends the data to the user, via the UART interface. The two functions use I2C interface to communicate with the MCU. Both of these functions return data in floating format, which only needs to be converted to a string with the compiler function FloatToString, before it is sent to the UART module. After that, the temperature and the humidity data can be viewed using the UART terminal.
void applicationTask() { temp = DHT22_2_getTemperature(); humidity = DHT22_2_getHumidity(); FloatToStr(temp,output); UART1_Write_Text("Temperature: "); UART1_Write_Text(output); UART1_Write_Text("°C"); UART1_Write(13); UART1_Write(10); UART1_Write_Text("Humidity: "); FloatToStr(humidity,output); UART1_Write_Text(output); UART1_Write_Text("%"); UART1_Write(13); UART1_Write(10); Delay_ms(1000); }
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
Additional notes and information
Depending on the development board you are using, you may need USB UART click, USB UART 2 clickor RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.