José Claudio
/
ReadingGyro_ITG3205
Example of reading an gyroscope sensor (ITG3205)
main.cpp@0:d884c7453c85, 2013-05-21 (annotated)
- 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?
User | Revision | Line number | New 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 | } |