This driver is for BMI160 6DoF sensor breakout boards which are connected through the Arduino SPI. Derived from the Intel's CurieIMU driver for the Arduino/Genuino 101.
Intel's driver repository: https://github.com/01org/corelibs-arduino101/tree/master/libraries/CurieIMU
BMI160: https://www.bosch-sensortec.com/bst/products/all_products/bmi160
Copy all files of this project to the your Arduino IDE library folder.
Example:
cp ~/github/BMI160-Arduino ~/Documents/Arduino/libraries/
You should connect some digital out pin to the CSB of the BMI160 and tell the number of the pin to the initialize method, begin().
#include <BMI160Gen.h>
BMI160GenClass BMI160;
const int select_pin = 10;
void setup() {
Serial.begin(9600); // initialize Serial communication
while (!Serial); // wait for the serial port to open
// initialize device
BMI160.begin(select_pin);
}
void loop() {
int gx, gy, gz; // raw gyro values
// read raw gyro measurements from device
BMI160.readGyro(gx, gy, gz);
// display tab-separated gyro x/y/z values
Serial.print("g:\t");
Serial.print(gx);
Serial.print("\t");
Serial.print(gy);
Serial.print("\t");
Serial.print(gz);
Serial.println();
delay(500);
}