ambient20 2.1.0.0
Main Page

Ambient 20 click

PRVIH_PAR_RECENICA_SA_PRODUCT_PAGE_DA_ISPRATE_CELINU

[click Product page](CLICK_PRODUCT_PAGE_LINK)


Click library

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

Software Support

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

Standard key functions :

Example key functions :

Example Description

This example demonstrates the use of Ambient 20 click board by measuring the ambient light level.

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;
ambient20_cfg_t ambient20_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
ambient20_cfg_setup( &ambient20_cfg );
AMBIENT20_MAP_MIKROBUS( ambient20_cfg, MIKROBUS_1 );
if ( I2C_MASTER_ERROR == ambient20_init( &ambient20, &ambient20_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
if ( AMBIENT20_ERROR == ambient20_default_cfg ( &ambient20 ) )
{
log_error( &logger, " Default configuration." );
for ( ; ; );
}
uint8_t id;
ambient20_get_manufacturer_id(&ambient20, &id );
{
log_error( &logger, "Communication error." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}
@ AMBIENT20_ERROR
Definition: ambient20.h:162
#define AMBIENT20_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition: ambient20.h:120
#define AMBIENT20_MANUFACTURER_ID
Definition: ambient20.h:93
err_t ambient20_get_manufacturer_id(ambient20_t *ctx, uint8_t *manufacturer_id)
Ambient 20 read manufacturer id function.
void application_init(void)
Definition: main.c:29

Application Task

Measuring ambient light level by reading DATA0 and DATA1 channels of the Ambient 20 click board and displaying it using UART Serial terminal.

void application_task ( void )
{
// Task implementation.
uint16_t data0, data1;
ambient20_read_data0( &ambient20, &data0 );
ambient20_read_data1( &ambient20, &data1 );
log_printf( &logger, "Data 0: %d \r\n", data0 );
log_printf( &logger, "Data 1: %d \r\n", data1 );
Delay_ms( 1000 );
}
err_t ambient20_read_data1(ambient20_t *ctx, uint16_t *data1_out)
Ambient 20 read data1 function.
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.Ambient20

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.