airquality3  2.0.0.0
Main Page

Air quality 3 click

Air quality 3 click is the air quality measurement device, which is able to output both equivalent CO2 levels and total volatile organic compounds (TVOC) concentration in the indoor environment.

click Product page


Click library

  • Author : Katarina Perendic
  • Date : okt 2019.
  • Type : I2C type

Software Support

We provide a library for the AirQuality3 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 form compilers IDE(recommended way), or downloaded from our LibStock, or found on mikroE github account.

Library Description

This library contains API for AirQuality3 Click driver.

Standard key functions :

Example key functions :

  • Get CO2 and TVOC data

    uint8_t airquality3_get_co2_and_tvoc ( airquality3_t *ctx, airquality3_air_data_t *air_data );

  • Temperature and humidity data settings

    void airquality3_set_environment_data ( airquality3_t *ctx, uint32_t env_data );

  • Function for settings sensor drive mode and interrupts.

    void airquality3_set_measurement_mode ( airquality3_t *ctx, uint8_t mode );

Examples Description

The demo application shows air quality measurement.

The demo application is composed of two sections :

Application Init

Configuring clicks and log objects. Settings the click in the default configuration. Call the procedure the wakeup function of the chip.

void application_init ( void )
{
log_cfg_t log_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, "---- Application Init ----" );
// Click initialization.
AIRQUALITY3_MAP_MIKROBUS( cfg, MIKROBUS_1 );
airquality3_init( &airquality3, &cfg );
// Wake-up click procedure
airquality3_hardware_reset( &airquality3 );
airquality3_default_cfg( &airquality3 );
Delay_ms ( 500 );
log_info( &logger, "---- Start measurement ----" );
}

Application Task

Reads CO2 and TVOC value in the air and logs this data on the USBUART.

void application_task ( void )
{
// Task implementation.
airquality3_get_co2_and_tvoc ( &airquality3, &air_data );
log_printf( &logger, "\r\n---- AirQuality data ----\r\n" );
log_printf( &logger, ">> CO2 data is %d ppm.\r\n", air_data.co2 );
log_printf( &logger, ">> TVOC data is %d ppb.\r\n", air_data.tvoc );
Delay_1sec();
}

The full application code, and ready to use projects can be installed directly form compilers IDE(recommneded) or found on LibStock page or mikroE GitHub accaunt.

Other mikroE Libraries used in the example:

  • MikroSDK.Board
  • MikroSDK.Log
  • Click.AirQuality3

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. The terminal available in all Mikroelektronika compilers, or any other terminal application of your choice, can be used to read the message.


airquality3_app_function
void airquality3_app_function(airquality3_t *ctx, uint8_t app_task)
function to start APP task
airquality3_air_data_t
Air data structure definition.
Definition: airquality3.h:213
application_task
void application_task(void)
Definition: main.c:70
airquality3_air_data_t::co2
uint16_t co2
Definition: airquality3.h:214
airquality3_hardware_reset
void airquality3_hardware_reset(airquality3_t *ctx)
Hardware reset.
airquality3_cfg_t
Click configuration structure definition.
Definition: airquality3.h:178
airquality3_cfg_setup
void airquality3_cfg_setup(airquality3_cfg_t *cfg)
Config Object Initialization function.
AIRQUALITY3_APP_START
#define AIRQUALITY3_APP_START
Definition: airquality3.h:122
airquality3_init
AIRQUALITY3_RETVAL airquality3_init(airquality3_t *ctx, airquality3_cfg_t *cfg)
Initialization function.
application_init
void application_init(void)
Definition: main.c:34
airquality3_default_cfg
void airquality3_default_cfg(airquality3_t *ctx)
Click Default Configuration function.
AIRQUALITY3_MAP_MIKROBUS
#define AIRQUALITY3_MAP_MIKROBUS(cfg, mikrobus)
Definition: airquality3.h:66
airquality3_set_power
void airquality3_set_power(airquality3_t *ctx, uint16_t pwr_state)
Function for power ON/OFF chip.
airquality3_get_co2_and_tvoc
uint8_t airquality3_get_co2_and_tvoc(airquality3_t *ctx, airquality3_air_data_t *air_data)
Get CO2 and TVOC data.
AIRQUALITY3_POWER_STATE_ON
#define AIRQUALITY3_POWER_STATE_ON
Definition: airquality3.h:139
airquality3_air_data_t::tvoc
uint16_t tvoc
Definition: airquality3.h:215