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

Dependencies:   mbed MPU6050

main.cpp

Committer:
falconsyunya
Date:
2018-11-23
Revision:
7:30613e31988e
Parent:
6:f1106d9e843c
Child:
8:2b8cd80bea3b

File content as of revision 7:30613e31988e:

#include "mbed.h"
#include "MPU6050.h"

DigitalOut myled(LED1);
MPU6050 mpu(p9,p10);//(SDA,SCL)のピン配置

int main(void) {
        int accel[3];//accelを3つの配列で定義。
        int bias=0;//補正値を定義。
        int z;//z軸方向の加速度。
        float Z;//加速度の変換後の値。
//以下はキャリブレーションテスト用のプログラム。値を入れてテストしてください。
//while(1){mpu.readAccelData(accel);z = accel[2]+1150;Z = z*0.000597964111328125;printf("%f\r\n",Z);}
    while(Z < 9.7970444){
        mpu.readAccelData(accel);//加速度の値をaccel[3]に代入
        //int x = accel[0];//x軸方向の加速度
        //int y = accel[1];//y軸方向の加速度
        z = accel[2]+bias;//z軸方向の加速度
        //float X = x*0.000597964111328125;
        //float Y = y*0.000597964111328125;
        Z = z*0.000597964111328125; 
        //double a = X*X+Y*Y+Z*Z-95.982071137936;
        //printf("%lf %f %f %f\r\n",a,X,Y,Z);
        printf("%f\r\n",Z);
        bias++;
    }
        printf("bias=%d\r\n",bias);
}