Magneto 7 Click Board
Magneto 7 Click Board
The Magneto 7 Click Board™ is a high-resolution magnetic sensor Click Board™ that allows contactless orientation sensing. It features the BM1422AGMV, a complete integrated solution with magneto-impedance (MI) elements, low-noise analogue AD converter, and digital signal processing (DSP) sections, on the same die.
Thanks to the internal DSP processing, the BM1422AGMV can output the absolute movement detection over the serial interface as a bitstream. The BM1422AGMV IC is ideal for use in various applications, such as wristwatches, smartphones, tablets, etc.
Software Support
We provide a library for the Magneto 7 Click Board™ on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
Library contains functions for getting temperature and humidity. Library contains functions for getting and setting user register. Library contains functions for changing resolution and soft reset. Library contains functions for enabling/disabling heater and OTP.
Key Functions
uint8_t magneto7_intGet( void )
- returns INT pin state.void magneto7_get_data( int16_t * x_axis, int16_t * y_axis, int16_t * z_axis )
- gets data register values and sorts thair content into signed 16bit values.float magneto7_convert_to_uT( int16_t raw_data, uint8_t sensor_resolution )
- converts raw data by dividing raw data with 6 or 24 for 12bit or 14bit data.
Example Description
The application is composed of three sections :
- System Initialization - Initializes I2C module, LOG module and INT pin .
- Application Initialization - Initializes I2C driver and device .
- Application Task - Waits for INT pin to go LOW, gets raw data, converts it to uT and logs results.
void applicationTask( ) { int_status = magneto7_intGet( ); if (int_status == 0) { magneto7_get_data( &data_x, &data_y, &data_z ); converted_data = magneto7_convert_to_uT( data_x, _MAGNETO7_SENSOR_RES_14_BIT ); FloatToStr( converted_data, text ); magneto7_floatCut( ); mikrobus_logWrite( "> X Axis : ", _LOG_TEXT ); mikrobus_logWrite( text, _LOG_TEXT ); mikrobus_logWrite( " [uT]", _LOG_LINE ); converted_data = magneto7_convert_to_uT( data_y, _MAGNETO7_SENSOR_RES_14_BIT ); FloatToStr( converted_data, text ); magneto7_floatCut( ); mikrobus_logWrite( "> Y Axis : ", _LOG_TEXT ); mikrobus_logWrite( text, _LOG_TEXT ); mikrobus_logWrite( " [uT]", _LOG_LINE ); converted_data = magneto7_convert_to_uT( data_z, _MAGNETO7_SENSOR_RES_14_BIT ); FloatToStr( converted_data, text ); magneto7_floatCut( ); mikrobus_logWrite( "> Z Axis : ", _LOG_TEXT ); mikrobus_logWrite( text, _LOG_TEXT ); mikrobus_logWrite( " [uT]", _LOG_LINE ); mikrobus_logWrite( " ", _LOG_LINE ); Delay_ms(300); } }
Additional Functions :
- magneto7_floatCut() - Rounds float number converted to string to two decimals
The full application code, and ready to use projects can be found on our LibStock page.
Other MikroE Libraries used in the example:
- I2C
- UART
- Conversions
Additional Notes and Information
Depending on the development board you are using, you may need a 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.
MIKROSDK
The Magneto 7 Click Board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
Magneto 7 Click Board
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.