Accelerometer & Angles

Dependencies:   mbed C12832 MMA7660

Committer:
hulmpants
Date:
Sat Aug 17 10:37:22 2019 +0000
Revision:
0:d59c7b74e6f7
Embedded Systems Laboratory #2;

Who changed what in which revision?

UserRevisionLine numberNew 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 }