2020 Off season development Test of MPU6050 on the Nucleo Board STM32 F303K8

Dependencies:   mbed MPU6050

Committer:
st17099ng
Date:
Thu Mar 12 15:31:08 2020 +0000
Revision:
1:7265a74ee359
Parent:
0:33cfed47c1a3
Initial version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
st17099ng 0:33cfed47c1a3 1 #include "mbed.h"
st17099ng 0:33cfed47c1a3 2 #include "MPU6050.h"
st17099ng 0:33cfed47c1a3 3 #include <string>
st17099ng 0:33cfed47c1a3 4
st17099ng 0:33cfed47c1a3 5 #define NUM 10
st17099ng 0:33cfed47c1a3 6
st17099ng 0:33cfed47c1a3 7 DigitalOut myled(LED1);
st17099ng 0:33cfed47c1a3 8 Serial pc(USBTX, USBRX);
st17099ng 0:33cfed47c1a3 9 MPU6050 mpu;
st17099ng 0:33cfed47c1a3 10
st17099ng 0:33cfed47c1a3 11 int16_t ax, ay, az;
st17099ng 0:33cfed47c1a3 12 int16_t gx, gy, gz;
st17099ng 0:33cfed47c1a3 13 int sum_ax,sum_ay,sum_az;
st17099ng 0:33cfed47c1a3 14 int sum_gx,sum_gy,sum_gz;
st17099ng 0:33cfed47c1a3 15
st17099ng 0:33cfed47c1a3 16 int main()
st17099ng 0:33cfed47c1a3 17 {
st17099ng 0:33cfed47c1a3 18 pc.printf("\033[2J");
st17099ng 0:33cfed47c1a3 19 pc.printf("MPU6050 test\n\n");
st17099ng 0:33cfed47c1a3 20 pc.printf("MPU6050 initialize \n");
st17099ng 0:33cfed47c1a3 21
st17099ng 0:33cfed47c1a3 22 mpu.initialize();
st17099ng 0:33cfed47c1a3 23 pc.printf("MPU6050 testConnection \n");
st17099ng 0:33cfed47c1a3 24
st17099ng 0:33cfed47c1a3 25 bool mpu6050TestResult = mpu.testConnection();
st17099ng 0:33cfed47c1a3 26 if(mpu6050TestResult) {
st17099ng 0:33cfed47c1a3 27 pc.printf("MPU6050 test passed \n");
st17099ng 0:33cfed47c1a3 28 } else {
st17099ng 0:33cfed47c1a3 29 pc.printf("MPU6050 test failed \n");
st17099ng 0:33cfed47c1a3 30 }
st17099ng 0:33cfed47c1a3 31 pc.printf("\033[2J");
st17099ng 0:33cfed47c1a3 32 while(1) {
st17099ng 0:33cfed47c1a3 33 // mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
st17099ng 0:33cfed47c1a3 34 // pc.printf("fa,%d:fg,%d",mpu.getFullScaleAccelRange(),mpu.getFullScaleGyroRange());
st17099ng 0:33cfed47c1a3 35 //writing current accelerometer and gyro position
st17099ng 0:33cfed47c1a3 36
st17099ng 0:33cfed47c1a3 37 for(int i=0; i < NUM; i++) {
st17099ng 0:33cfed47c1a3 38 mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
st17099ng 0:33cfed47c1a3 39 sum_ax += ax;
st17099ng 0:33cfed47c1a3 40 sum_ay += ay;
st17099ng 0:33cfed47c1a3 41 sum_az += az;
st17099ng 0:33cfed47c1a3 42
st17099ng 0:33cfed47c1a3 43 sum_gx += gx;
st17099ng 0:33cfed47c1a3 44 sum_gy += gy;
st17099ng 0:33cfed47c1a3 45 sum_gz += gz;
st17099ng 0:33cfed47c1a3 46 }
st17099ng 0:33cfed47c1a3 47 pc.printf("\033[1;1HACCEL_x:%11fm/s^2",float(sum_ax)/(2048*NUM));
st17099ng 0:33cfed47c1a3 48 pc.printf("\033[1;1HACCEL_x:%11fm/s^2",float(sum_ax)/(2048*NUM));
st17099ng 0:33cfed47c1a3 49 pc.printf("\033[2;1HACCEL_y:%11fm/s^2",float(sum_ay)/(2048*NUM));
st17099ng 0:33cfed47c1a3 50 pc.printf("\033[3;1HACCEL_z:%11fm/s^2",float(sum_az)/(2048*NUM));
st17099ng 0:33cfed47c1a3 51
st17099ng 0:33cfed47c1a3 52 pc.printf("\033[5;1HGYRO_x:%12frad/s",float(sum_gx)/(16.4*NUM));
st17099ng 0:33cfed47c1a3 53 pc.printf("\033[6;1HGYRO_y:%12frad/s",float(sum_gy)/(16.4*NUM));
st17099ng 0:33cfed47c1a3 54 pc.printf("\033[7;1HGYRO_z:%12frad/s",float(sum_gz)/(16.4*NUM));
st17099ng 0:33cfed47c1a3 55
st17099ng 0:33cfed47c1a3 56 sum_ax = 0;
st17099ng 0:33cfed47c1a3 57 sum_ay = 0;
st17099ng 0:33cfed47c1a3 58 sum_az = 0;
st17099ng 0:33cfed47c1a3 59
st17099ng 0:33cfed47c1a3 60 sum_gx = 0;
st17099ng 0:33cfed47c1a3 61 sum_gy = 0;
st17099ng 0:33cfed47c1a3 62 sum_gz = 0;
st17099ng 0:33cfed47c1a3 63 }
st17099ng 0:33cfed47c1a3 64 }