thermo2  2.0.0.0
Main Page

Thermo 2 click

THERMO 2 click carries DS1825, a programmable resolution digital thermometer IC with a unique 64-bit address. The click is designed to run on a 3.3V power supply. The board communicates with the target microcontroller through a 1-wire interface. Using the onboard jumper you can select between two outputs: GP1 (default mikroBUS™ AN pin), and GPO (default PWM pin).

click Product page


Click library

  • Author : Stefan Filipovic
  • Date : Feb 2022.
  • Type : PWM type

Software Support

We provide a library for the Thermo 2 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 Thermo 2 Click driver.

Standard key functions :

Example key functions :

  • thermo2_write_scratchpad This function writes the temperature thresholds and configuration byte to the scratchpad.
    err_t thermo2_write_scratchpad ( thermo2_t *ctx, uint8_t temp_high, uint8_t temp_low, uint8_t config );
  • thermo2_read_scratchpad This function reads the scratchpad bytes.
    err_t thermo2_read_scratchpad ( thermo2_t *ctx, uint8_t *scratchpad );
  • thermo2_read_temperature This function reads the temperature value in Celsius.
    err_t thermo2_read_temperature ( thermo2_t *ctx, float *temperature );

Example Description

This example demonstrates the use of Thermo 2 click board by reading and displaying the temperature in Celsius.

The demo application is composed of two sections :

Application Init

Initializes the driver and performs the click default configuration.

void application_init ( void )
{
log_cfg_t log_cfg;
thermo2_cfg_t thermo2_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
thermo2_cfg_setup( &thermo2_cfg );
THERMO2_MAP_MIKROBUS( thermo2_cfg, MIKROBUS_1 );
if ( ONE_WIRE_ERROR == thermo2_init( &thermo2, &thermo2_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
if ( THERMO2_ERROR == thermo2_default_cfg ( &thermo2 ) )
{
log_error( &logger, " Default configuration." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}

Application Task

Reads and displays the temperature measured by the click board on the USB UART

approximately every 800ms as this matches the required conversion time for 12-bit temperature resolution.

void application_task ( void )
{
float temperature;
if ( THERMO2_OK == thermo2_read_temperature ( &thermo2, &temperature ) )
{
log_printf( &logger, " Temperature: %.2f C\r\n\n", temperature );
}
}

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.Thermo2

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.


THERMO2_MAP_MIKROBUS
#define THERMO2_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition: thermo2.h:154
thermo2_cfg_setup
void thermo2_cfg_setup(thermo2_cfg_t *cfg)
Thermo 2 configuration object setup function.
thermo2_init
err_t thermo2_init(thermo2_t *ctx, thermo2_cfg_t *cfg)
Thermo 2 initialization function.
thermo2_read_scratchpad
err_t thermo2_read_scratchpad(thermo2_t *ctx, uint8_t *scratchpad)
Thermo 2 read scratchpad function.
THERMO2_ERROR
@ THERMO2_ERROR
Definition: thermo2.h:207
application_task
void application_task(void)
Definition: main.c:66
thermo2_cfg_t
Thermo 2 Click configuration object.
Definition: thermo2.h:191
thermo2_t
Thermo 2 Click context object.
Definition: thermo2.h:177
thermo2_read_temperature
err_t thermo2_read_temperature(thermo2_t *ctx, float *temperature)
Thermo 2 read temperature function.
application_init
void application_init(void)
Definition: main.c:30
thermo2_write_scratchpad
err_t thermo2_write_scratchpad(thermo2_t *ctx, uint8_t temp_high, uint8_t temp_low, uint8_t config)
Thermo 2 write scratchpad function.
thermo2_default_cfg
err_t thermo2_default_cfg(thermo2_t *ctx)
Thermo 2 default configuration function.
THERMO2_OK
@ THERMO2_OK
Definition: thermo2.h:206