Example of reading an gyroscope sensor (ITG3205)

Dependencies:   mbed

Committer:
jose_claudiojr
Date:
Tue May 21 13:50:20 2013 +0000
Revision:
0:d884c7453c85
Example of reading an gyroscope sensor (ITG3205)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jose_claudiojr 0:d884c7453c85 1 #include "mbed.h"
jose_claudiojr 0:d884c7453c85 2 #include "ITG3205.h"
jose_claudiojr 0:d884c7453c85 3 #include "Gyroscope.h"
jose_claudiojr 0:d884c7453c85 4
jose_claudiojr 0:d884c7453c85 5 #define SDA p9
jose_claudiojr 0:d884c7453c85 6 #define SCL p10
jose_claudiojr 0:d884c7453c85 7
jose_claudiojr 0:d884c7453c85 8 ITG3205 *itg3205;
jose_claudiojr 0:d884c7453c85 9 Gyroscope *gyroscope;
jose_claudiojr 0:d884c7453c85 10 Serial pc(USBTX, USBRX);
jose_claudiojr 0:d884c7453c85 11
jose_claudiojr 0:d884c7453c85 12 float gyroX, gyroY, AngleX, AngleY;
jose_claudiojr 0:d884c7453c85 13 Ticker updater;
jose_claudiojr 0:d884c7453c85 14
jose_claudiojr 0:d884c7453c85 15 void update()
jose_claudiojr 0:d884c7453c85 16 {
jose_claudiojr 0:d884c7453c85 17 pc.printf("x: %f \t\t y: %f \t\t angle x: %f \t\t angle y: %f \r\n", gyroX, gyroY, AngleX, AngleY);
jose_claudiojr 0:d884c7453c85 18 }
jose_claudiojr 0:d884c7453c85 19 int main()
jose_claudiojr 0:d884c7453c85 20 {
jose_claudiojr 0:d884c7453c85 21 itg3205 = new ITG3205(SDA, SCL);
jose_claudiojr 0:d884c7453c85 22 gyroscope = new Gyroscope(itg3205, 14.375, 0.005);
jose_claudiojr 0:d884c7453c85 23 wait(1);
jose_claudiojr 0:d884c7453c85 24 gyroscope->updateZeroRates();
jose_claudiojr 0:d884c7453c85 25 pc.baud(115200);
jose_claudiojr 0:d884c7453c85 26 updater.attach(&update, 0.2);
jose_claudiojr 0:d884c7453c85 27 while(1)
jose_claudiojr 0:d884c7453c85 28 {
jose_claudiojr 0:d884c7453c85 29
jose_claudiojr 0:d884c7453c85 30 wait_ms(5);
jose_claudiojr 0:d884c7453c85 31 gyroscope->update();
jose_claudiojr 0:d884c7453c85 32
jose_claudiojr 0:d884c7453c85 33 gyroX = gyroscope->getDegreesX();
jose_claudiojr 0:d884c7453c85 34 gyroY = gyroscope->getDegreesY() * -1;
jose_claudiojr 0:d884c7453c85 35 AngleX = gyroscope->getAngleX();
jose_claudiojr 0:d884c7453c85 36 AngleY = gyroscope->getAngleY();
jose_claudiojr 0:d884c7453c85 37
jose_claudiojr 0:d884c7453c85 38 //printf("x: %f \t\t y: %f \t\t angle x: %f \t\t angle y: %f \r\n", gyroX, gyroY, AngleX, AngleY);
jose_claudiojr 0:d884c7453c85 39 //printf("%f,%f,%f,%f\n", gyroX, gyroY, AngleX, AngleY);
jose_claudiojr 0:d884c7453c85 40
jose_claudiojr 0:d884c7453c85 41 }
jose_claudiojr 0:d884c7453c85 42
jose_claudiojr 0:d884c7453c85 43 }