temphum24 2.1.0.0
Main Page

TempHum 24 click

‍Temp&Hum 24 Click is a compact add-on board that measures the surrounding environment's humidity and temperature. This board features the HDC3021, an integrated capacitive-based relative humidity and temperature sensor with a removable tape cover from Texas Instruments. The HDC3021 is characterized by its high accuracy (±0.5RH and ±0.1°C over a wide operating temperature range) and high resolution, providing 16-bit data to the host controller with a configurable I2C interface. Offset Error Correction reduces RH sensor offset due to aging, exposure to extreme operating conditions, and contaminants to return the device to within accuracy specifications.

click Product page


Click library

  • Author : Stefan Filipovic
  • Date : Mar 2023.
  • Type : I2C type

Software Support

We provide a library for the TempHum 24 Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.

Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Library Description

‍This library contains API for TempHum 24 Click driver.

Standard key functions :

Example key functions :

  • temphum24_read_temp_and_rh This function reads the temperature in celsius and the relative humidity level in percents.
    err_t temphum24_read_temp_and_rh ( temphum24_t *ctx, float *temp, float *hum );
    err_t temphum24_read_temp_and_rh(temphum24_t *ctx, float *temp, float *hum)
    TempHum 24 read temp and rh function.
  • temphum24_read_temp_history This function reads the temperature minimum and maximum values since the beginning of the measurements.
    err_t temphum24_read_temp_history ( temphum24_t *ctx, float *temp_min, float *temp_max );
    err_t temphum24_read_temp_history(temphum24_t *ctx, float *temp_min, float *temp_max)
    TempHum 24 read temp history function.
  • temphum24_read_rh_history This function reads the relative humidity minimum and maximum values since the beginning of measurements.
    err_t temphum24_read_rh_history ( temphum24_t *ctx, float *hum_min, float *hum_max );
    err_t temphum24_read_rh_history(temphum24_t *ctx, float *hum_min, float *hum_max)
    TempHum 24 read rh history function.

Example Description

‍This example demonstrates the use of Temp & Hum 24 click board by reading the temperature and humidity data.

The demo application is composed of two sections :

Application Init

‍Initializes the driver and performs the click default configuration which resets the device and starts the auto measurement mode with data rate of 1 Hz.

void application_init ( void )
{
log_cfg_t log_cfg;
temphum24_cfg_t temphum24_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
temphum24_cfg_setup( &temphum24_cfg );
TEMPHUM24_MAP_MIKROBUS( temphum24_cfg, MIKROBUS_1 );
if ( I2C_MASTER_ERROR == temphum24_init( &temphum24, &temphum24_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
if ( TEMPHUM24_ERROR == temphum24_default_cfg ( &temphum24 ) )
{
log_error( &logger, " Default configuration." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}
#define TEMPHUM24_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition temphum24.h:179
void application_init(void)
Definition main.c:32
@ TEMPHUM24_ERROR
Definition temphum24.h:232

Application Task

‍Reads the temperature (degrees C) and the relative humidity (RH) data and displays the results on the USB UART approximately once per second.

It also reads and displays the minimum and maximum values measured since the beginning of measurements.

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 C\r\n", temp );
if ( TEMPHUM24_OK == temphum24_read_temp_history ( &temphum24, &min_temp, &max_temp ) )
{
log_printf ( &logger, " MIN: %.2f C\r\n MAX: %.2f C\r\n", min_temp, max_temp );
}
log_printf ( &logger, "\r\n Humidity: %.1f %%RH\r\n", hum );
if ( TEMPHUM24_OK == temphum24_read_rh_history ( &temphum24, &min_rh, &max_rh ) )
{
log_printf ( &logger, " MIN: %.1f %%RH\r\n MAX: %.1f %%RH\r\n", min_rh, max_rh );
}
log_printf ( &logger, "----------------------\r\n" );
Delay_ms ( 1000 );
}
}
void application_task(void)
Definition main.c:68
@ TEMPHUM24_OK
Definition temphum24.h:231

The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), 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 MikroElektronika compilers.