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
- hanyazou/BMI160-Arduino
- serioeseGmbH/BMI160
- IMU BMI160 Bosch product page
- BMI160 Datasheet
- smbus2 docs
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:
-
Twitter: @_le_futuriste
-
Discord:
lefuturiste#5297
-
Discord server: https://discord.gg/9M4vVsX
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!