Accelerometer & Angles
Dependencies: mbed C12832 MMA7660
EMB_Lab2.cpp@0:d59c7b74e6f7, 2019-08-17 (annotated)
- Committer:
- hulmpants
- Date:
- Sat Aug 17 10:37:22 2019 +0000
- Revision:
- 0:d59c7b74e6f7
Embedded Systems Laboratory #2;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hulmpants | 0:d59c7b74e6f7 | 1 | // IT Tralee Mechatronics: Embedded Systems Lab#2 |
hulmpants | 0:d59c7b74e6f7 | 2 | |
hulmpants | 0:d59c7b74e6f7 | 3 | #include "mbed.h" |
hulmpants | 0:d59c7b74e6f7 | 4 | #include "MMA7660.h" |
hulmpants | 0:d59c7b74e6f7 | 5 | #include "C12832_lcd.h" |
hulmpants | 0:d59c7b74e6f7 | 6 | |
hulmpants | 0:d59c7b74e6f7 | 7 | MMA7660 MMA(p28, p27); |
hulmpants | 0:d59c7b74e6f7 | 8 | C12832_LCD lcd; |
hulmpants | 0:d59c7b74e6f7 | 9 | |
hulmpants | 0:d59c7b74e6f7 | 10 | float calculateAngle(float x, float y, float z) |
hulmpants | 0:d59c7b74e6f7 | 11 | { |
hulmpants | 0:d59c7b74e6f7 | 12 | float Angle = 0; |
hulmpants | 0:d59c7b74e6f7 | 13 | float pi = 3.14159265; // declare pi |
hulmpants | 0:d59c7b74e6f7 | 14 | Angle = (atan(y/(sqrt((x*x)+(z*z)))))*(180/pi); |
hulmpants | 0:d59c7b74e6f7 | 15 | return Angle; |
hulmpants | 0:d59c7b74e6f7 | 16 | } |
hulmpants | 0:d59c7b74e6f7 | 17 | |
hulmpants | 0:d59c7b74e6f7 | 18 | int main() { |
hulmpants | 0:d59c7b74e6f7 | 19 | while(1) |
hulmpants | 0:d59c7b74e6f7 | 20 | { |
hulmpants | 0:d59c7b74e6f7 | 21 | float Angle = 0; |
hulmpants | 0:d59c7b74e6f7 | 22 | Angle = (calculateAngle(MMA.x(),MMA.y(),MMA.z())); |
hulmpants | 0:d59c7b74e6f7 | 23 | lcd.cls(); |
hulmpants | 0:d59c7b74e6f7 | 24 | lcd.locate(0,0); |
hulmpants | 0:d59c7b74e6f7 | 25 | lcd.printf("Angles :) \n \r"); |
hulmpants | 0:d59c7b74e6f7 | 26 | lcd.locate(0,8); |
hulmpants | 0:d59c7b74e6f7 | 27 | lcd.printf("Angle = %.2f \n \r", Angle); // print angle reading |
hulmpants | 0:d59c7b74e6f7 | 28 | wait(1); |
hulmpants | 0:d59c7b74e6f7 | 29 | } |
hulmpants | 0:d59c7b74e6f7 | 30 | } |