make public

Dependencies:   mbed MMA7660

Revision:
0:7d4a8ede5b35
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Mar 26 10:18:10 2021 +0000
@@ -0,0 +1,65 @@
+#include "mbed.h"
+#include "MMA7660.h"
+
+MMA7660 MMA(p28, p27); // declare accelerometer.
+
+
+// calculate angle function, using x,y,z variables.
+float calculateAngle(float x, float y, float z)
+{
+    float Angle;
+    float PI = 3.14159265;
+    // formula for calculating the angle - renamed as per program spec, based on equation 7 (Roll).
+    // convert to degrees from rad using 180/PI
+    Angle = (atan(y/(sqrt((x*x)+(z*z)))))*(180/PI);
+    return Angle;
+}
+// print output
+// MMA.(value) is the built in function of MMA7660 library to read the accelerometer postions.
+// Print measured values to terminal.
+int main()
+{
+    while(1) {
+        float Arr[10];
+        float Angle = (calculateAngle(MMA.x(),MMA.y(),MMA.z()));
+        Arr[0] = Angle;
+        float Angle1 = (calculateAngle(MMA.x(),MMA.y(),MMA.z()));
+        Arr[1] = Angle1;
+        float Angle2 = (calculateAngle(MMA.x(),MMA.y(),MMA.z()));
+        Arr[2] = Angle2;
+        float Angle3 = (calculateAngle(MMA.x(),MMA.y(),MMA.z()));
+        Arr[3] = Angle3;
+        float Angle4 = (calculateAngle(MMA.x(),MMA.y(),MMA.z()));  
+        Arr[4] = Angle4;
+        float Angle5 = (calculateAngle(MMA.x(),MMA.y(),MMA.z()));  
+        Arr[5] = Angle5;
+        float Angle6 = (calculateAngle(MMA.x(),MMA.y(),MMA.z())); 
+        Arr[6] = Angle6;
+        float Angle7 = (calculateAngle(MMA.x(),MMA.y(),MMA.z()));
+        Arr[7] = Angle7;
+        float Angle8 = (calculateAngle(MMA.x(),MMA.y(),MMA.z()));
+        Arr[8] = Angle8;
+        float Angle9 = (calculateAngle(MMA.x(),MMA.y(),MMA.z()));
+        Arr[9] = Angle9;                                                   
+//        float Angle2 = (calculateAngle(MMA.x(),MMA.y(),MMA.z()));
+//        float Angle3 = (calculateAngle(MMA.x(),MMA.y(),MMA.z()));
+//        float Angle4 = (calculateAngle(MMA.x(),MMA.y(),MMA.z()));
+//        float Angle5 = (calculateAngle(MMA.x(),MMA.y(),MMA.z()));
+    printf("0 = %f \n\r" , Arr[0]); 
+    printf("1 = %f \n\r" , Arr[1]);  
+    printf("2 = %f \n\r" , Arr[2]); 
+    printf("3 = %f \n\r" , Arr[3]);
+    printf("4 = %f \n\r" , Arr[4]); 
+    printf("5 = %f \n\r" , Arr[5]);  
+    printf("6 = %f \n\r" , Arr[6]); 
+    printf("7 = %f \n\r" , Arr[7]); 
+    printf("8 = %f \n\r" , Arr[8]); 
+    printf("9 = %f \n\r" , Arr[9]);               
+        float LAngle = (Arr[0]+Arr[1]+Arr[2]+Arr[3]+Arr[4]+Arr[5]+Arr[6]+Arr[7]+Arr[8]+Arr[9])/10;
+if (LAngle != 0.000000) {
+            printf ("Angle = %f \n \r", LAngle);
+            wait(1);
+        } else {
+        }
+    }
+}