magneto6 2.1.0.0
Main Page

Magneto 6 click

‍Magneto 6 Click features low power three dimensional Hall effect sensor, TLI493D-A2B6, designed for magnetic sensing applications. It measures the magnetic field in X, Y, and Z direction. Each X, Y and Z Hall probe is connected sequentially to a multiplexer, which is then connected to an Analog to Digital Converter (ADC). Optional, the temperature can be determined as well after the three Hall channels. The data measurement is provided in digital format to the microcontroller over the standard I2C interface. Some of the benefits of this Click boardâ„¢ are wide application range addressable due to high flexibility and component reduction due to the 3D magnetic measurement principle.

click Product page


Click library

  • Author : Stefan Filipovic
  • Date : Feb 2024.
  • Type : I2C type

Software Support

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

Standard key functions :

Example key functions :

  • magneto6_read_data This function reads the measurements of the 3-axes magnetic field sensor in mT and the temperature sensor in degrees Celsius.
    err_t magneto6_read_data ( magneto6_t *ctx, magneto6_data_t *data_out );
    err_t magneto6_read_data(magneto6_t *ctx, magneto6_data_t *data_out)
    Magneto 6 read data function.
    Magneto 6 Click data object.
    Definition magneto6.h:215
  • magneto6_read_reg This function reads a desired number of data bytes starting from the selected register by using I2C serial interface.
    err_t magneto6_read_reg ( magneto6_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len );
    err_t magneto6_read_reg(magneto6_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
    Magneto 6 read reg function.
  • magneto6_write_reg This function writes a data byte to the selected register by using I2C serial interface.
    err_t magneto6_write_reg ( magneto6_t *ctx, uint8_t reg, uint8_t data_in );
    err_t magneto6_write_reg(magneto6_t *ctx, uint8_t reg, uint8_t data_in)
    Magneto 6 write reg function.

Example Description

‍This example demonstrates the use of Magneto 6 click board by reading the magnetic field strength from 3 axes as well as the ambient temperature measurements.

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;
magneto6_cfg_t magneto6_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
magneto6_cfg_setup( &magneto6_cfg );
MAGNETO6_MAP_MIKROBUS( magneto6_cfg, MIKROBUS_1 );
if ( I2C_MASTER_ERROR == magneto6_init( &magneto6, &magneto6_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
if ( MAGNETO6_ERROR == magneto6_default_cfg ( &magneto6 ) )
{
log_error( &logger, " Default configuration." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}
#define MAGNETO6_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition magneto6.h:201
@ MAGNETO6_ERROR
Definition magneto6.h:269
void application_init(void)
Definition main.c:28

Application Task

‍Reads data from the sensor and displays them on the USB UART once per second.

void application_task ( void )
{
magneto6_data_t data_res;
if ( MAGNETO6_OK == magneto6_read_data ( &magneto6, &data_res ) )
{
log_printf( &logger, " X data: %.1f mT\r\n", data_res.x_data );
log_printf( &logger, " Y data: %.1f mT\r\n", data_res.y_data );
log_printf( &logger, " Z data: %.1f mT\r\n", data_res.z_data );
log_printf( &logger, " Temperature: %.2f degC\r\n\n", data_res.temperature );
}
Delay_ms ( 1000 );
}
@ MAGNETO6_OK
Definition magneto6.h:268
void application_task(void)
Definition main.c:64
float y_data
Definition magneto6.h:217
float z_data
Definition magneto6.h:218
float x_data
Definition magneto6.h:216
float temperature
Definition magneto6.h:219

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

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.