How does it work?
Temp&Hum 24 Click is based on the HDC3021, an integrated interface digital sensor that incorporates both humidity and temperature sensing elements, an analog-to-digital converter, calibration memory, and an I2C compatible interface from Texas Instruments in one package. The sensor performs best when operated within the recommended average temperature and humidity range of -20-70°C and 10-90% RH (non-condensing), with each measurement represented in a 16-bit format. The HDC3021 also provides excellent measurement accuracy at low power (±0.5%RH and ±0.1°C over a wide operating temperature range).
The HDC3021 measures relative humidity through variations in the capacitance of a polymer dielectric. This sensor has a polyimide tape to cover the opening of the humidity sensor element, which protects it from pollutants that can be produced as part of the manufacturing process. The tape must be removed after the final stages of assembly to measure the relative humidity in the ambient environment accurately. To remove the polyimide tape from the humidity sensor element, TI recommends using an ESD-safe tweezer to grip the adhesive-free tab in the top right corner and slowly peel the adhesive from the top-right corner towards the bottom-left corner in an upward direction. This will help to reduce the risk of scratching the humidity sensor element.
Due to contaminants, the natural aging of the sensor’s polymer dielectric, and exposure to extreme operating conditions resulting in long-term drift, the HDC3021 accuracy can incur an offset. Thanks to the Offset Error Correction, the RH sensor offset reduces due to aging, exposure to extreme operating conditions, and contaminants to return the sensor to within accuracy specifications.
This Click board™ communicates with an MCU using the standard I2C 2-Wire interface to read data and configure settings, supporting Fast Mode Plus up to 1MHz. The HDC3021 also has two measurement modes: Trigger-on Demand and Auto Measurement. Trigger-on Demand is a single temperature and relative humidity measurement reading triggered through an I2C command as needed. After the measurement is converted, the sensor remains in Sleep mode until another I2C command is received. Auto Measurement mode is a recurring temperature and relative humidity measurement reading, eliminating the need to initiate a measurement request through an I2C command repeatedly. The HDC3021 wakes from Sleep to measurement mode in this mode based on the selected sampling rate.
Besides, the HDC3021 allows choosing the least significant bit (LSB) of its I2C slave address using the SMD jumpers labeled ADDR SEL. It also possesses an additional interrupt alert signal, routed on the ALR pin of the mikroBUS™ socket, to provide a notification of ambient temperature and relative humidity measurements that violate programmed thresholds and general reset function routed on the RST pin of the mikroBUS™ socket.
This Click board™ can operate with either 3.3V or 5V logic voltage levels selected via the VCC SEL jumper. This way, both 3.3V and 5V capable MCUs can use the communication lines properly. However, the Click board™ comes equipped with a library containing easy-to-use functions and an example code that can be used, as a reference, for further development.
Specifications
Type
Temperature & humidity
Applications
Can be used for developing various automotive temperature and humidity-related applications
On-board modules
HDC3021 – relative humidity and temperature sensor from Texas Instruments
Key Features
Low power consumption, high accuracy, automotive-grade, covers extended operating humidity and temperature ranges, removable tape cover, fully functional in condensing environment, offset error correction, fast data transfer, alert interrupt, and more
Interface
I2C
Feature
ClickID
Compatibility
mikroBUS™
Click board size
S (28.6 x 25.4 mm)
Input Voltage
3.3V or 5V
Pinout diagram
This table shows how the pinout on Temp&Hum 24 Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | – | Power LED Indicator |
JP1 | VCC SEL | Left | Logic Level Voltage Selection 3V3/5V: Left position 3V3, Right position 5V |
JP2-JP3 | ADDR SEL | Left | I2C Address Selection 0/1: Left position 0, Right position 1 |
Temp&Hum 24 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | – | 3.3 | – | V |
Recommended Operating Temperature Range | -20 | +25 | 70 | °C |
Recommended Operating Humidity Range | 10 | – | 90 | %RH |
Temperature Accuracy | – | ±0.1 | – | °C |
Humidity Accuracy | – | ±0.5 | – | %RH |
Data Resolution | – | 16 | – | bit |
Software Support
We provide a library for the TempHum 24 Click as well as a demo application (example), developed using Mikroe compilers. The demo can run on all the main Mikroe development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager (recommended), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for TempHum 24 Click driver.
Key functions
-
temphum24_read_temp_and_rh
This function reads the temperature in celsius and the relative humidity level in percents. -
temphum24_read_temp_history
This function reads the temperature minimum and maximum values since the beginning of the measurements. -
temphum24_read_rh_history
This function reads the relative humidity minimum and maximum values since the beginning of measurements.
Example Description
This example demonstrates the use of Temp & Hum 24 Click board™ by reading the temperature and humidity data.
void application_task ( void )
{
float temp = 0, hum = 0;
if ( TEMPHUM24_OK == temphum24_read_temp_and_rh ( &temphum24, &temp, &hum ) )
{
float min_temp = 0, max_temp = 0;
float min_rh = 0, max_rh = 0;
log_printf ( &logger, " Temperature: %.2f Crn", temp );
if ( TEMPHUM24_OK == temphum24_read_temp_history ( &temphum24, &min_temp, &max_temp ) )
{
log_printf ( &logger, " MIN: %.2f Crn MAX: %.2f Crn", min_temp, max_temp );
}
log_printf ( &logger, "rn Humidity: %.1f %%RHrn", hum );
if ( TEMPHUM24_OK == temphum24_read_rh_history ( &temphum24, &min_rh, &max_rh ) )
{
log_printf ( &logger, " MIN: %.1f %%RHrn MAX: %.1f %%RHrn", min_rh, max_rh );
}
log_printf ( &logger, "----------------------rn" );
Delay_ms ( 1000 );
}
}
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager (recommended), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.TempHum24
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all Mikroe compilers.
mikroSDK
This Click board™ is supported with mikroSDK – Mikroe Software Development Kit, that needs to be downloaded from the LibStock and installed for the compiler you are using to ensure proper operation of mikroSDK compliant Click board™ demo applications.
For more information about mikroSDK, visit the official page.