diffpress4  2.1.0.0
Main Page

Diff Press 4 Click

Diff Press 4 Click is a compact add-on board that can measure differential pressure. This board features the SM9336-BCE-S-250-000, a digital pressure and altimeter sensor module from TE Connectivity. The SM9336-BCE-S-250-000 has a configurable host interface that supports I2C serial communication and measures pressure in a wide range with an accuracy of 3%. It comes as calibrated and temperature-compensated with high reliability/long-term stability. It operates in a compensated temperature range of -20°C to 85°C, ensuring stable operation under extreme conditions.

Click Product page


Click library

  • Author : Nenad Filipovic
  • Date : Aug 2023.
  • Type : I2C type

Software Support

We provide a library for the Diff Press 4 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 Diff Press 4 Click driver.

Standard key functions :

Example key functions :

Example Description

This example demonstrates the use of Diff Press 4 Click board™ by reading and displaying the differential pressure and sensor temperature measurements.

The demo application is composed of two sections :

Application Init

The initialization of I2C module and log UART. After driver initialization, the app sets the default configuration.

void application_init ( void )
{
log_cfg_t log_cfg;
diffpress4_cfg_t diffpress4_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
diffpress4_cfg_setup( &diffpress4_cfg );
DIFFPRESS4_MAP_MIKROBUS( diffpress4_cfg, MIKROBUS_1 );
if ( I2C_MASTER_ERROR == diffpress4_init( &diffpress4, &diffpress4_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
log_printf( &logger, " _______________________ \r\n" );
Delay_ms ( 100 );
}

Application Task

The demo application reads and displays the Differential Pressure [Pa] and sensor Temperature [degree Celsius] data measurements. Results are being sent to the UART Terminal, where you can track their changes.

void application_task ( void )
{
static float diff_press = 0, temperature = 0;
diffpress4_get_status( &diffpress4, &status );
if ( ( DIFFPRESS4_OK == diffpress4_get_measurement_data( &diffpress4, &diff_press, &temperature ) ) &&
{
log_printf( &logger, " Diff Pressure : %.2f [Pa] \r\n", diff_press );
log_printf( &logger, " Temperature : %.2f [degC] \r\n", temperature );
log_printf( &logger, " _______________________ \r\n" );
Delay_ms ( 1000 );
}
}

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

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.


diffpress4_status_t::dsp_t_up
uint8_t dsp_t_up
Definition: diffpress4.h:201
diffpress4_init
err_t diffpress4_init(diffpress4_t *ctx, diffpress4_cfg_t *cfg)
Diff Press 4 initialization function.
diffpress4_t
Diff Press 4 Click context object.
Definition: diffpress4.h:170
DIFFPRESS4_STATUS_DSP_S_UPDATED
#define DIFFPRESS4_STATUS_DSP_S_UPDATED
Definition: diffpress4.h:111
diffpress4_cfg_t
Diff Press 4 Click configuration object.
Definition: diffpress4.h:184
application_task
void application_task(void)
Definition: main.c:63
diffpress4_get_status
err_t diffpress4_get_status(diffpress4_t *ctx, diffpress4_status_t *status)
Diff Press 4 get status function.
diffpress4_get_raw_data
err_t diffpress4_get_raw_data(diffpress4_t *ctx, int16_t *temp_data, int16_t *press_data)
Diff Press 4 gets the raw data function.
diffpress4_get_measurement_data
err_t diffpress4_get_measurement_data(diffpress4_t *ctx, float *diff_press, float *temperature)
Diff Press 4 gets the raw data function.
diffpress4_cfg_setup
void diffpress4_cfg_setup(diffpress4_cfg_t *cfg)
Diff Press 4 configuration object setup function.
DIFFPRESS4_STATUS_DSP_T_UPDATED
#define DIFFPRESS4_STATUS_DSP_T_UPDATED
Definition: diffpress4.h:113
DIFFPRESS4_OK
@ DIFFPRESS4_OK
Definition: diffpress4.h:218
diffpress4_status_t
Diff Press 4 Click status object.
Definition: diffpress4.h:198
diffpress4_status_t::dsp_s_up
uint8_t dsp_s_up
Definition: diffpress4.h:200
application_init
void application_init(void)
Definition: main.c:31
DIFFPRESS4_MAP_MIKROBUS
#define DIFFPRESS4_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition: diffpress4.h:158