MPU6050のオフセット値を測定し修正するプログラムです。

Dependencies:   mbed MPU6050

Committer:
falconsyunya
Date:
Fri Nov 23 16:49:19 2018 +0000
Revision:
7:30613e31988e
Parent:
6:f1106d9e843c
Child:
8:2b8cd80bea3b
2018/11/24

Who changed what in which revision?

UserRevisionLine numberNew contents of line
falconsyunya 0:4ba3fa671062 1 #include "mbed.h"
falconsyunya 0:4ba3fa671062 2 #include "MPU6050.h"
falconsyunya 0:4ba3fa671062 3
falconsyunya 0:4ba3fa671062 4 DigitalOut myled(LED1);
falconsyunya 3:157b19421485 5 MPU6050 mpu(p9,p10);//(SDA,SCL)のピン配置
falconsyunya 0:4ba3fa671062 6
falconsyunya 7:30613e31988e 7 int main(void) {
falconsyunya 6:f1106d9e843c 8 int accel[3];//accelを3つの配列で定義。
falconsyunya 7:30613e31988e 9 int bias=0;//補正値を定義。
falconsyunya 7:30613e31988e 10 int z;//z軸方向の加速度。
falconsyunya 7:30613e31988e 11 float Z;//加速度の変換後の値。
falconsyunya 7:30613e31988e 12 //以下はキャリブレーションテスト用のプログラム。値を入れてテストしてください。
falconsyunya 7:30613e31988e 13 //while(1){mpu.readAccelData(accel);z = accel[2]+1150;Z = z*0.000597964111328125;printf("%f\r\n",Z);}
falconsyunya 7:30613e31988e 14 while(Z < 9.7970444){
falconsyunya 1:958b581f6d21 15 mpu.readAccelData(accel);//加速度の値をaccel[3]に代入
falconsyunya 7:30613e31988e 16 //int x = accel[0];//x軸方向の加速度
falconsyunya 7:30613e31988e 17 //int y = accel[1];//y軸方向の加速度
falconsyunya 7:30613e31988e 18 z = accel[2]+bias;//z軸方向の加速度
falconsyunya 7:30613e31988e 19 //float X = x*0.000597964111328125;
falconsyunya 7:30613e31988e 20 //float Y = y*0.000597964111328125;
falconsyunya 7:30613e31988e 21 Z = z*0.000597964111328125;
falconsyunya 7:30613e31988e 22 //double a = X*X+Y*Y+Z*Z-95.982071137936;
falconsyunya 7:30613e31988e 23 //printf("%lf %f %f %f\r\n",a,X,Y,Z);
falconsyunya 7:30613e31988e 24 printf("%f\r\n",Z);
falconsyunya 7:30613e31988e 25 bias++;
falconsyunya 0:4ba3fa671062 26 }
falconsyunya 7:30613e31988e 27 printf("bias=%d\r\n",bias);
falconsyunya 0:4ba3fa671062 28 }