svoe

Dependencies:   mbed mbed-STM32F103C8T6 MPU6050_1

Committer:
dima285
Date:
Sat Sep 16 13:24:25 2017 +0000
Revision:
9:8f98b1c277a4
Parent:
8:891e4f54e9e2
Child:
10:5bdd3dfd5f59
shoto rabotaet

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Stas285 6:6e89cdc3db92 1 #include "MPU6050.h" //Rewrite !!!
Stas285 1:e2a6e523bf1f 2
Stas285 4:904b737ef08a 3 MPU6050 gyro(PB_9,PB_8);
Stas285 4:904b737ef08a 4 float gx,gy,gz,ax,ay,az; //deg/s, cm/s^2 (x-vert, y-forward, z-left)
Stas285 4:904b737ef08a 5 float gyro_x, gyro_y, gyro_angle, gyro_v, gyro_s; //cm, deg
Stas285 4:904b737ef08a 6
Stas285 4:904b737ef08a 7 void gyro_init(){
Stas285 4:904b737ef08a 8 gyro.getID(); //dummy read (first transmission is bad)
Stas285 4:904b737ef08a 9 //pc.printf("%hhu ",gyro.getID());
Stas285 4:904b737ef08a 10 gyro.start();
Stas285 4:904b737ef08a 11 }
Stas285 1:e2a6e523bf1f 12
Stas285 4:904b737ef08a 13 void gyro_process(){ // reading - 500 uS // doesn't work in interrupt
Stas285 4:904b737ef08a 14 gyro.read(&gx,&gy,&gz,&ax,&ay,&az);
dima285 9:8f98b1c277a4 15
Stas285 6:6e89cdc3db92 16 //wifi.printf("gx %.1f, gy %.1f, gz %.1f, ax %.2f, ay %.2f, az %.2f\n",gx,gy,gz,ax,ay,az);
dima285 9:8f98b1c277a4 17 //wifi.printf("%.4f %.2f ",ay,gz);
Stas285 1:e2a6e523bf1f 18
Stas285 4:904b737ef08a 19 gyro_v -= 0.05*100*ay; //0.05 -> realtime_step //inertial_navigation
Stas285 4:904b737ef08a 20 gyro_s += 0.05*gyro_v;
Stas285 4:904b737ef08a 21 gyro_angle += 0.05*gx;
Stas285 4:904b737ef08a 22 gyro_x += 0.05*gyro_v*sin(gyro_angle);
Stas285 4:904b737ef08a 23 gyro_y += 0.05*gyro_v*cos(gyro_angle); //sqr(1-x^2)
Stas285 4:904b737ef08a 24
Stas285 6:6e89cdc3db92 25 //wifi.printf("v:%.1f, s:%.1f, deg:%.1f, x:%.1f, y:%.1f\n",gyro_v,gyro_s,gyro_angle,gyro_x,gyro_y);
Stas285 4:904b737ef08a 26 }
Stas285 4:904b737ef08a 27
Stas285 6:6e89cdc3db92 28 void gyro_balance(){ //?????
Stas285 6:6e89cdc3db92 29 //gyro_read_ay();
Stas285 6:6e89cdc3db92 30 }
Stas285 6:6e89cdc3db92 31