FOXBAJA / Mbed 2 deprecated MPU6050_V0

Dependencies:   mbed MPU6050

Committer:
diogonac
Date:
Thu Feb 11 11:13:21 2021 +0000
Revision:
0:3ccb476208f5
Child:
2:db9758288981
V0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
diogonac 0:3ccb476208f5 1 #include "mbed.h"
diogonac 0:3ccb476208f5 2 #include "MPU6050.h"
diogonac 0:3ccb476208f5 3 Serial pc(USBTX, USBRX);
diogonac 0:3ccb476208f5 4 MPU6050 MPU6050(D14, D15);
diogonac 0:3ccb476208f5 5 float aceleracao[3];
diogonac 0:3ccb476208f5 6 float giroscopio[3];
diogonac 0:3ccb476208f5 7 int giroscopio_raw[3];
diogonac 0:3ccb476208f5 8 int aceleracao_raw[3];
diogonac 0:3ccb476208f5 9
diogonac 0:3ccb476208f5 10 //----------Taxa de amostragem----------
diogonac 0:3ccb476208f5 11 Timer t_dados; // timer para taxa de aquisicao dos dados
diogonac 0:3ccb476208f5 12 Timer t_tempo;
diogonac 0:3ccb476208f5 13 Timer tempo;
diogonac 0:3ccb476208f5 14 Ticker clockzin;
diogonac 0:3ccb476208f5 15 int timer_ms;
diogonac 0:3ccb476208f5 16 int tx_aquisicao; //quantos pontos serao plotados em um segundo
diogonac 0:3ccb476208f5 17 int t_amostragem; //valor do timer do Main
diogonac 0:3ccb476208f5 18 int t_amostragem_tempo;
diogonac 0:3ccb476208f5 19 int tempo_ms;
diogonac 0:3ccb476208f5 20 int second = 0;
diogonac 0:3ccb476208f5 21 int minute = 0;
diogonac 0:3ccb476208f5 22 int hour = 0;
diogonac 0:3ccb476208f5 23
diogonac 0:3ccb476208f5 24 void relogio()
diogonac 0:3ccb476208f5 25 {
diogonac 0:3ccb476208f5 26 timer_ms++;
diogonac 0:3ccb476208f5 27 }
diogonac 0:3ccb476208f5 28
diogonac 0:3ccb476208f5 29 int main()
diogonac 0:3ccb476208f5 30 {
diogonac 0:3ccb476208f5 31 pc.baud(115200);
diogonac 0:3ccb476208f5 32 tx_aquisicao = 80;
diogonac 0:3ccb476208f5 33 t_dados.start();
diogonac 0:3ccb476208f5 34 t_tempo.start();
diogonac 0:3ccb476208f5 35 tempo.start();
diogonac 0:3ccb476208f5 36 clockzin.attach(&relogio,0.001f); //relogio
diogonac 0:3ccb476208f5 37 pc.printf("Iniciando\r\n");
diogonac 0:3ccb476208f5 38
diogonac 0:3ccb476208f5 39 if(MPU6050.testConnection() == 1) {
diogonac 0:3ccb476208f5 40
diogonac 0:3ccb476208f5 41 pc.printf("MPU6050 - Status: OK\r\n");
diogonac 0:3ccb476208f5 42
diogonac 0:3ccb476208f5 43 } else {
diogonac 0:3ccb476208f5 44
diogonac 0:3ccb476208f5 45 pc.printf("MPU6050 - Status: Sem resposta \r\n");
diogonac 0:3ccb476208f5 46
diogonac 0:3ccb476208f5 47 }
diogonac 0:3ccb476208f5 48
diogonac 0:3ccb476208f5 49 MPU6050.setAcceleroRange(MPU6050_ACCELERO_RANGE_2G);
diogonac 0:3ccb476208f5 50 MPU6050.setGyroRange(MPU6050_GYRO_RANGE_250);
diogonac 0:3ccb476208f5 51
diogonac 0:3ccb476208f5 52 while (1) {
diogonac 0:3ccb476208f5 53
diogonac 0:3ccb476208f5 54 t_amostragem = t_dados.read_us();
diogonac 0:3ccb476208f5 55 t_amostragem_tempo = t_tempo.read_us();
diogonac 0:3ccb476208f5 56 tempo_ms = tempo.read_ms();
diogonac 0:3ccb476208f5 57 if (t_amostragem >= 1000000/tx_aquisicao) {
diogonac 0:3ccb476208f5 58 t_dados.reset();
diogonac 0:3ccb476208f5 59 MPU6050.getAccelero(aceleracao);
diogonac 0:3ccb476208f5 60 MPU6050.getGyro(giroscopio);
diogonac 0:3ccb476208f5 61 MPU6050.getGyroRaw(giroscopio_raw);
diogonac 0:3ccb476208f5 62 MPU6050.getAcceleroRaw(aceleracao_raw);
diogonac 0:3ccb476208f5 63 // pc.printf("Aceleracao-X=%0.5f, Aceleracao-Y=%0.5f, Aceleracao-Z=%0.5f,", aceleracao[0], aceleracao[1], aceleracao[2]);
diogonac 0:3ccb476208f5 64 // pc.printf("Giroscopio-X=%0.5f, Giroscopio-Y=%0.5f, Giroscopio-Z=%0.5f \r\n", giroscopio[0], giroscopio[1], giroscopio[2]);
diogonac 0:3ccb476208f5 65 pc.printf("AX%f, AY%f, AZ%f, GX%f, GY%f, GZ%f\n", aceleracao[0], aceleracao[1], aceleracao[2], giroscopio[0], giroscopio[1], giroscopio[2]);
diogonac 0:3ccb476208f5 66
diogonac 0:3ccb476208f5 67
diogonac 0:3ccb476208f5 68 }
diogonac 0:3ccb476208f5 69
diogonac 0:3ccb476208f5 70 if (timer_ms >999) {
diogonac 0:3ccb476208f5 71 timer_ms = 0;
diogonac 0:3ccb476208f5 72 second++;
diogonac 0:3ccb476208f5 73 }
diogonac 0:3ccb476208f5 74 if(second > 59) {
diogonac 0:3ccb476208f5 75 second = 0;
diogonac 0:3ccb476208f5 76 minute++;
diogonac 0:3ccb476208f5 77 }
diogonac 0:3ccb476208f5 78
diogonac 0:3ccb476208f5 79 if(minute > 59) {
diogonac 0:3ccb476208f5 80 minute = 0;
diogonac 0:3ccb476208f5 81 hour++;
diogonac 0:3ccb476208f5 82 }
diogonac 0:3ccb476208f5 83 }
diogonac 0:3ccb476208f5 84 }