TOP Contributors

  1. MIKROE (2663 codes)
  2. Alcides Ramos (358 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (112 codes)
  5. Chisanga Mumba (90 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 (137072 times)
  2. FAT32 Library (70219 times)
  3. Network Ethernet Library (56094 times)
  4. USB Device Library (46407 times)
  5. Network WiFi Library (42028 times)
  6. FT800 Library (41353 times)
  7. GSM click (29109 times)
  8. mikroSDK (26545 times)
  9. PID Library (26487 times)
  10. microSD click (25483 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

13DOF 2 click

Rating:

5

Author: MIKROE

Last Updated: 2019-08-05

Package Version: 1.0.0.0

mikroSDK Library: 1.0.0.0

Category: Motion

Downloaded: 1876 times

Not followed.

License: MIT license  

13DOF 2 click is an advanced 13-axis motion tracking Click board, which utilizes two different sensor ICs onboard: BME680, voc, humidity, pressure and temperature sensor and BMX160, a 9-axis sensor consisting of a 3-axis, low-g accelerometer, a low power 3-axis gyroscope and a 3-axis geomagnetic sensor.

No Abuse Reported

Do you want to subscribe in order to receive notifications regarding "13DOF 2 click" changes.

Do you want to unsubscribe in order to stop receiving notifications regarding "13DOF 2 click" changes.

Do you want to report abuse regarding "13DOF 2 click".

  • Information
  • Comments (0)

mikroSDK Library Blog

13 DOF 2 click

13 DOF 2 click

Native view of the 13 DOF 2 click board.

View full image
13 DOF 2 click

13 DOF 2 click

Front and back view of the 13 DOF 2 click board.

View full image

Library Description

The library contains basic functions for starting both sensors and reading data that the sensors measure.

Key functions:

  • void c13dof2_bmx160_getAxis(uint8_t sensor, T_C13DOF2_BMX160_AXIS *sAxis) - Reads Axis data from the BMX160 sensor (Accel, Gyro, Magnetic).
  • uint16_t c13dof2_bmx160_getStepCounter() - Read Step counter.
  • float c13dof2_bme680_getAmbientData(uint8_t dataIn) - Reads Ambient data from BME680 sensor (Temperature, Pressure and Humidity).

Examples description

The application is composed of three sections :

  • System Initialization - Initialization I2C or SPI module and sets all the necessary GPIO pins.
  • Application Initialization - Initializes the driver init, checks the communication and starts configuration for chips BMX160 and BME680.
  • Application Task - This example reads all parameters from those sensors (Acceleration, Gyro, Magnetic, Temperature, etc.) and shows them on USB UART log.
void applicationTask()
{
    /* BMX160 */
    c13dof2_bmx160_getAxis(_C13DOF2_BMX160_DATA_ACCEL,  &Accel);
    c13dof2_bmx160_getAxis(_C13DOF2_BMX160_DATA_GYRO,   &Gyro);
    c13dof2_bmx160_getAxis(_C13DOF2_BMX160_DATA_MAGNET, &Magnet);

    temperature_bmx160 = c13dof2_bmx160_internalTemperature();
    step_counter = c13dof2_bmx160_getStepCounter();
    c13dof2_bmx160_getInterruptStatus(&status);

    /* BME680 */
    temperature = c13dof2_bme680_getAmbientData(_C13DOF2_BME680_DATA_TEMPERATURE);
    pressure = c13dof2_bme680_getAmbientData(_C13DOF2_BME680_DATA_PRESSURE);
    humidity = c13dof2_bme680_getAmbientData(_C13DOF2_BME680_DATA_HUMIDITY);

    gas = c13dof2_bme680_getGasResistance();

    mikrobus_logWrite( "-------------------------------------------------------" , _LOG_LINE );
    mikrobus_logWrite( "------  BMX160 DATA  ------", _LOG_LINE );
    _displayData_BMX160();

    mikrobus_logWrite( "------  BME680 DATA  ------", _LOG_LINE );
    _displayData_BME680();

    mikrobus_logWrite( " ", _LOG_LINE );

    Delay_ms( 1000 );
}


Additional Functions :

  • void _interruptDetect() - display interupt state (TAP status)
  • void _displayData_BMX160() - display BMIX160 data (Accel, Gyro, Magnetic, Step counter, and internal senzor Temperature)
  • void _displayData_BME680() - display BME680 data (Temperature, Pressure, Humidity and Gas resistance)

Other mikroE Libraries used in the example:

  • I2C library
  • SPI Library
  • UART Library
  • Conversions Library

Additional notes and informations

Depending on the development board you are using, you may need USB UART clickUSB 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

Mikromedia+ for PIC32MX7 - RF Communication Example

5

This is demonstration project how Mikromedia+ for PIC32MX7 communicates over RF. Data is send over simple 'led protocol' (1 byte command). Development board for PIC32 with an add-on board nRF Click is used as a receiver device.

[Learn More]

Fan 2 click

0

Fan 2 click carries the MAX31760 precision fan-speed controller. It can measure temperature and adjust the fan speed to keep the temperature at the same level. Fan 2 click can also control two fans at the same time.

[Learn More]

Rec N Play click

0

Rec&Play Click is a digital voice recorder on a Click board™. It is based on the ISD3900, a multi-message record and playback device. It features the ChipCorder® technology, offering digital sound compression, smart message management, digitally configurable signal path, and more.

[Learn More]