ambient16 2.0.0.0
Main Page

Ambient 16 click

PRVIH_PAR_RECENICA_SA_PRODUCT_PAGE_DA_ISPRATE_CELINU

[click Product page](CLICK_PRODUCT_PAGE_LINK)


Click library

  • Author : Stefan Ilic
  • Date : Nov 2021.
  • Type : I2C type

Software Support

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

Standard key functions :

Example key functions :

  • ambient16_get_part_id Ambient 16 get part ID function.
    err_t ambient16_get_part_id ( ambient16_t *ctx, uint8_t *part_id );
    err_t ambient16_get_part_id(ambient16_t *ctx, uint8_t *part_id)
    Ambient 16 get part ID function.
  • ambient16_set_gain Ambient 16 set ADC gain function.
    err_t ambient16_set_gain ( ambient16_t *ctx, uint8_t data0_gain, uint8_t data1_gain );
    err_t ambient16_set_gain(ambient16_t *ctx, uint8_t data0_gain, uint8_t data1_gain)
    Ambient 16 set ADC gain function.
  • ambient16_read_data Ambient 16 get data function.
    err_t ambient16_read_data ( ambient16_t *ctx, float *data0, float *data1 );
    err_t ambient16_read_data(ambient16_t *ctx, float *data0, float *data1)
    Ambient 16 get data function.

Example Description

This is an example that demonstrates the use of the Ambient 16 Click board.

The demo application is composed of two sections :

Application Init

Initializes I2C driver performs software reset and applies default settings.

void application_init ( void )
{
log_cfg_t log_cfg;
ambient16_cfg_t ambient16_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
ambient16_cfg_setup( &ambient16_cfg );
AMBIENT16_MAP_MIKROBUS( ambient16_cfg, MIKROBUS_1 );
if ( I2C_MASTER_ERROR == ambient16_init( &ambient16, &ambient16_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
if ( AMBIENT16_ERROR == ambient16_default_cfg ( &ambient16 ) )
{
log_error( &logger, " Default configuration." );
for ( ; ; );
}
uint8_t id;
ambient16_get_part_id( &ambient16, &id );
log_printf( &logger, "- - - - - - - - - - - - -\r\n" );
log_printf( &logger, " Part ID = 0x%.2X \r\n", ( uint16_t ) id );
log_printf( &logger, "- - - - - - - - - - - - -\r\n" );
Delay_ms( 500 );
log_info( &logger, " Application Task " );
log_printf( &logger, "- - - - - - - - - - - - -\r\n" );
}
@ AMBIENT16_ERROR
Definition: ambient16.h:227
#define AMBIENT16_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition: ambient16.h:179
void application_init(void)
Definition: main.c:30

Application Task

Demonstrates use of Ambient 16 click board by reading data values of DATA0 and DATA1 every second, and logging it on UART terminal.

void application_task ( void )
{
ambient16_read_data( &ambient16, &data0, &data1 );
log_printf( &logger, " DATA 0 = %.2f lx \r\n", data0 );
log_printf( &logger, " DATA 1 = %.2f lx \r\n", data1 );
log_printf( &logger, "- - - - - - - - - - - - -\r\n" );
Delay_ms( 1000 );
}
void application_task(void)
Definition: main.c:74

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

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.