TOP Contributors

  1. MIKROE (2784 codes)
  2. Alcides Ramos (405 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (133 codes)
  5. Bugz Bensce (97 codes)
  6. S P (73 codes)
  7. dany (71 codes)
  8. MikroBUS.NET Team (35 codes)
  9. NART SCHINACKOW (34 codes)
  10. Armstrong Subero (27 codes)

Most Downloaded

  1. Timer Calculator (141318 times)
  2. FAT32 Library (74154 times)
  3. Network Ethernet Library (58737 times)
  4. USB Device Library (48834 times)
  5. Network WiFi Library (44544 times)
  6. FT800 Library (44120 times)
  7. GSM click (30857 times)
  8. mikroSDK (29699 times)
  9. PID Library (27359 times)
  10. microSD click (27273 times)
Libstock prefers package manager

Package Manager

We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]

< Back
mikroSDK Library

GeoMagnetic click

Rating:

5

Author: MIKROE

Last Updated: 2018-11-06

Package Version: 1.0.0.0

mikroSDK Library: 1.0.0.0

Category: Magnetic

Downloaded: 6393 times

Not followed.

License: MIT license  

GeoMagnetic click is a digital magnetometric click board which can measure the geomagnetic field in three perpendicular axes.

No Abuse Reported

Do you want to subscribe in order to receive notifications regarding "GeoMagnetic click" changes.

Do you want to unsubscribe in order to stop receiving notifications regarding "GeoMagnetic click" changes.

Do you want to report abuse regarding "GeoMagnetic click".

  • mikroSDK Library 2.0.0.0
  • Comments (0)
DOWNLOAD LINK RELATED COMPILER CONTAINS
mikroBasic PRO for ARM
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for AVR
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for dsPIC30/33 & PIC24
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for FT90x
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for PIC
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for PIC32
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for ARM
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for AVR
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for dsPIC30/33 & PIC24
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for FT90x
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for PIC
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for PIC32
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for ARM
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for AVR
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for dsPIC30/33 & PIC24
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for FT90x
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for PIC
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for PIC32
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc

mikroSDK Library Blog

GeoMagnetic click

GeoMagnetic click

Native view of the GeoMagnetic click board.

View full image
GeoMagnetic click

GeoMagnetic click

Front and back view of the GeoMagnetic click board.

View full image

Library Description

Initializes and defines the SPI and I2C bus driver and driver functions, witch have ability to writting on registers and reading from registers. The functions also offer a choice to reading x, y and z axis data and hall resistance data when data is ready for reading. For more details check the documentation.

Key functions:

GEOMAG_RETVAL_T geomag_writeReg( uint8_t dataIn, const uint8_t registerAddress ) - Function writes one byte data in register.

GEOMAG_RETVAL_T geomag_readReg( uint8_t *dataOut, const uint8_t registerAddress, const uint8_t nBytes ) - Function reads determined number of bytes from registers.

void geomag_readData( uint16_t *dataX, uint16_t *dataY, uint16_t *dataZ, uint16_t *resHall ) - Function reads 13-bit x and y axis data, 15-bit z axis data and 14-bit hall resistance data from data registers.

Examples Description

  • The application is composed of three sections:
  • System Initialization - Initializes peripherals and pins.
  • Application Initialization - Initializes SPI driver, performs power on reset and configures device so that all channels (x, y and z) is enabled and Data Ready bit is active on high (Data Ready bit must be configured that is active on high).

Application Task - (code snippet) - Reads axis data after each 500ms and logs results on USB UART.

void applicationTask()
{
 geomag_readData( &axisX, &axisY, &axisZ, &RHall );
 WordToStr( axisX, text );
 mikrobus_logWrite( "X axis: ", _LOG_TEXT );
 mikrobus_logWrite( text, _LOG_LINE );
 WordToStr( axisY, text );
 mikrobus_logWrite( "Y axis: ", _LOG_TEXT );
 mikrobus_logWrite( text, _LOG_LINE );
 WordToStr( axisZ, text );
 mikrobus_logWrite( "Z axis: ", _LOG_TEXT );
 mikrobus_logWrite( text, _LOG_LINE );
 mikrobus_logWrite( "", _LOG_LINE );
 Delay_ms( 500 );
}

Other mikroE Libraries used in the example:

  • Conversions
  • SPI
  • UART

Additional notes and information

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.

ALSO FROM THIS AUTHOR

Magnetic Rotary 6 Click

0

Magnetic Rotary 6 Click is a compact add-on board for accurate magnet-position sensing. This board features the AS5247U, an SPI-configurable high-resolution dual rotary position sensor for fast absolute angle measurement over a full 360-degree range from ams AG. The AS5047D is equipped with revolutionary integrated dynamic angle error compensation (DAEC™) with almost 0 latency and offers a robust design that suppresses the influence of any homogenous external stray magnetic field. It also comes with onboard headers reserved for incremental and commutation signals of their respective A/B/I and U/V/W signals, with a maximum resolution of 16384 steps / 4096 pulses per revolution, alongside embedded self-diagnostics features.

[Learn More]

Expand 5 Click

0

EXPAND 5 Click features a low-voltage 24-bit I2C and SMBus I/O expander. This 24-bit I/O expander is designed to provide general-purpose remote I/O expansion for most microcontroller families via the I2C serial interface.

[Learn More]

Barometer 4 Click

0

Barometer 4 Click is a compact add-on board used to measure air pressure in a specific environment. This board features the ICP-10111, a high accuracy low power barometric and temperature sensor from TDK InvenSense. The ICP-10111 is based on MEMS capacitive technology providing ultra-low noise at the lowest power, enabling industry-leading relative accuracy, sensor throughput, and temperature stability. It comes with a configurable host interface that supports I2C serial communication and measures pressure in a range from 30kPa up to 110kPa with an accuracy of ±1Pa over a wide operating temperature range. This Click board™ is suited for various pressure-based applications, especially when low power consumption is required, home appliances such as airflow control in HVAC, water level detection, vertical velocity monitoring, weather forecasting, and many more.

[Learn More]