Search the Community
Showing results for tags 'gyroscope'.
Found 1 result
-
I am working on TM4C1294XL board and through Energia platform. I am trying to get the outputs from BMG250 shuttle board. I am pasting the code below but I believe the code has no fault. I have doubts about the connections to the shuttle board. I am getting -1 (when dividing outputs by 256) in all the three axis. I am sharing the schematic pdf that has information about the shuttle board connections. I have connected as given in the file but I have the following doubts: 1. How can set the pmu_status to normal gyroscope as it is mentioned in the datasheet as only readable? And when I read the pmu_status to know the current mode, I only get a 0 as the output and no output comes for the three axis. 2. In the schematic pdf, it can be seen that there are multiple SDO, SCL etc. Should I connect them to each other or use only one of them? Somebody help me out. Code :- #include "Wire.h" #define pmu_status 0x03 #define data 0x12 #define gyr_config 0x42 #define gyr_range 0x43 #define offset 0x74 #define dataReadyStatus 0x1B #define X_axis_dataX0 0x12 #define X_axis_dataX1 0x13 #define Y_axis_dataY0 0x14 #define Y_axis_dataY1 0x15 #define Z_axis_dataZ0 0x16 #define Z_axis_dataZ1 0x17 #define command 0x7E int gyrAddress=0x68; long X0,X1,Y0,Y1,Z0,Z1; long X_out,Xg,Y_out,Yg,Z_out,Zg; void setup() { Wire.setModule(0); Wire.begin(); Serial.begin(115200); Wire.beginTransmission(gyrAddress); Wire.write(gyr_config); Wire.write(0x28); Wire.write(command); Wire.write(0x15); Wire.write(gyr_range); Wire.write(0x00); Wire.endTransmission(); } void loop() { Wire.beginTransmission(gyrAddress); Wire.write(X_axis_dataX0); Wire.write(X_axis_dataX1); Wire.endTransmission(); Wire.requestFrom(gyrAddress,2); if(Wire.available()<=2) { X0 = Wire.read(); X1 = Wire.read(); X1 = X1<<8; X_out = X0+X1; Xg = (X_out)/1.0; } Wire.beginTransmission(gyrAddress); Wire.write(Y_axis_dataY0); Wire.write(Y_axis_dataY1); Wire.endTransmission(); Wire.requestFrom(gyrAddress,2); if(Wire.available()<=2) { Y0 = Wire.read(); Y1 = Wire.read(); Y1 = Y1<<8; Y_out = Y0+Y1; Yg = (Y_out)/1.0; } Wire.beginTransmission(gyrAddress); Wire.write(Z_axis_dataZ0); Wire.write(Z_axis_dataZ1); Wire.endTransmission(); Wire.requestFrom(gyrAddress,2); if(Wire.available()<=2) { Z0 = Wire.read(); Z1 = Wire.read(); Z1 = Z1<<8; Z_out = Z0+Z1; Zg = (Z_out)/1.0; } Serial.print("Xg = "); Serial.print(Xg); Serial.print("\t"); Serial.print("Yg = "); Serial.print(Yg); Serial.print("\t"); Serial.print("Zg = "); Serial.println(Zg); delay(200); } SCHEMATIC1 _ BMG250.pdf
- 10 replies
-
- tm4c1294xl
- tm4c1294ncpdt
-
(and 3 more)
Tagged with: