Hi all, I'm trying to use I2C to communicate between an Arduino Uno and a BMI088 Accelerometer and Gyroscope sensor. I have had luck reading the information register but am having problems moving onto reading the temperature registers. No matter what the conditions are 0x22 reads 0 and 0x23 reads 128. Both of these values are acceptable(0x23 only has a specific set of correct values) but dont change when I try to heat up the chip. If anyone could help me troubleshoot my code or explain to me a better way to do this it would be greatly appreciated! Thanks!
Datasheet (See page 28 for temperature info)
#include <Wire.h>
void read(int adr)
{
Wire.beginTransmission(0x18);
Wire.write(adr);
Wire.requestFrom(0x18,1);
byte val = Wire.read();
Wire.endTransmission();
Serial.println(val);
}
void setup() {
Wire.begin(); // join i2c bus (address optional for master)
Serial.begin(9600); // start serial for output
}
void loop() {
delay(1000);
read(0x22);
read(0x23);
}