lem 2.0.0.0
Main Page

LEM click

LEM click carries the LTS 6-NP current transducer and MCP3201 ADC converter. The click can measure AC and DC current with exceptional speed, up to 200 KHz.

click Product page


Click library

  • Author : Jovan Stajkovic
  • Date : Dec 2019.
  • Type : SPI type

Software Support

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

Standard key functions :

  • Config Object Initialization function.

    ‍void lem_cfg_setup ( lem_cfg_t *cfg );

    - Initialization function.

    ‍LEM_RETVAL lem_init ( lem_t *ctx, lem_cfg_t *cfg );

Example key functions :

  • Function is used to read current in amperes or milliamperes.

    ‍float lem_get_current ( lem_t *ctx, float coef );

    Examples Description

‍ Demo app measures and displays current by using LEM click board.

The demo application is composed of two sections :

Application Init

‍ Initalizes SPI, LOG and click drivers.

void application_init ( void )
{
log_cfg_t log_cfg;
lem_cfg_t cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, "---- Application Init ----" );
// Click initialization.
lem_cfg_setup( &cfg );
LEM_MAP_MIKROBUS( cfg, MIKROBUS_1 );
lem_init( &lem, &cfg );
log_printf( &logger, "---------------------\r\n" );
log_printf( &logger, " LEM Click \r\n" );
log_printf( &logger, "---------------------\r\n" );
}
#define LEM_MAP_MIKROBUS(cfg, mikrobus)
Definition lem.h:67
void lem_cfg_setup(lem_cfg_t *cfg)
Config Object Initialization function.
LEM_RETVAL lem_init(lem_t *ctx, lem_cfg_t *cfg)
Initialization function.
void application_init(void)
Definition main.c:34
Click configuration structure definition.
Definition lem.h:118

Application Task

‍ This is an example that shows the capabilities of the LEM click by measuring current passing through the conductor placed through the hole on the sensor.

void application_task ( void )
{
current = lem_get_current( &lem, LEM_MILIAMP_COEF );
log_printf( &logger, " Current : %.2f mA \r\n", current );
log_printf( &logger, "---------------------\r\n" );
Delay_ms ( 1000 );
}
#define LEM_MILIAMP_COEF
Definition lem.h:90
float lem_get_current(lem_t *ctx, float coef)
Get current in milliamperes function.
void application_task(void)
Definition main.c:62

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

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.