/i2cdriver_bmi160

library to communicate with the BMI160 accel/gyro sensor using [I²CDriver](https://i2cdriver.com/).

Primary LanguagePythonMIT LicenseMIT

BMI160-i2c

I2C library to use the Inertial Mesurment Unit BMI160.

This library was tested successfully on a Raspberry Pi 3 B

Installation

The package is available on pypi.org.

You can install this package using this command

python3 -m pip install BMI160-i2c

This library require smbus

Install smbus2 using the following command:

python3 -m pip install smbus2

Usage

Wire the breakout board with these lines : GND, 3V3, SAO (to GND), SDA, SCL

Make sure that the device is available at 0x68 or 0x69 i2c address by running this command:

i2cdetect -y 1

Example : A little python script to fetch all 6 values from the sensor :

from time import sleep
from BMI160_i2c import Driver

print('Trying to initialize the sensor...')
sensor = Driver(0x68) # change address if needed
print('Initialization done')

while True:
  data = sensor.getMotion6()
  # fetch all gyro and acclerometer values
  print({
    'gx': data[0],
    'gy': data[1],
    'gz': data[2],
    'ax': data[3],
    'ay': data[4],
    'az': data[5]
  })
  sleep(0.1)

Documentation

There is so many method available to do whatever you want to do with a sensor of this kind.

Look at all the methods available here.

Credits & Related links

Contributions

Feel free to open a issue or a pull request I will be happy to answer any questions or help you with this library.

You can also use these alternative methods to contact me:

Maintenance

  • Increment the version used in setup.py
  • Build the package: python3 setup.py sdist bdist_wheel
  • Publish the package: python3 -m twine upload dist/*
  • Enter __token__ for the username
  • Enter pypi-{....} for the password
  • And tada!