make public

Dependencies:   mbed MMA7660

Files at this revision

API Documentation at this revision

Comitter:
BertieHarte
Date:
Fri Mar 26 10:18:10 2021 +0000
Commit message:
make public

Changed in this revision

MMA7660.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 7d4a8ede5b35 MMA7660.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MMA7660.lib	Fri Mar 26 10:18:10 2021 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/Sissors/code/MMA7660/#36a163511e34
diff -r 000000000000 -r 7d4a8ede5b35 main.cpp
--- /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 {
+        }
+    }
+}
diff -r 000000000000 -r 7d4a8ede5b35 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Fri Mar 26 10:18:10 2021 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file