Measurement of slope of accelerometer

Dependencies:   mbed C12832 MMA7660

Files at this revision

API Documentation at this revision

Comitter:
Dariusz_Piskorowski
Date:
Sun Aug 11 01:09:41 2019 +0000
Commit message:
Angle measurement Rev 1

Changed in this revision

C12832.lib Show annotated file Show diff for this revision Revisions of this file
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 a52d467589e0 C12832.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/C12832.lib	Sun Aug 11 01:09:41 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/askksa12543/code/C12832/#990d5eec2ef6
diff -r 000000000000 -r a52d467589e0 MMA7660.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MMA7660.lib	Sun Aug 11 01:09:41 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/Sissors/code/MMA7660/#36a163511e34
diff -r 000000000000 -r a52d467589e0 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Aug 11 01:09:41 2019 +0000
@@ -0,0 +1,39 @@
+#include "mbed.h"
+#include "C12832.h"
+#include "MMA7660.h"
+#define PI 3.14159265
+
+C12832 lcd(p5, p7, p6, p8, p11);  // setting up lcd  
+MMA7660 MMA(p28, p27);            //setting up MMA
+float mean;
+
+float calculateAngle(float x, float y, float z){ //calculate angle
+        float angle=0;
+        angle=pow(y,2) + pow(z,2);
+        angle=sqrt(angle);
+        angle=x/angle;
+        angle=atan(angle);
+        angle=angle* 180/PI;
+        for(int i=0; i<100; i++){  //loop for counting angle 100 times
+            mean =+ angle;         //add next value of angle to mean
+            wait(0.001);           //wait a little for different value
+            }
+            angle=mean/100;        //angle as mean
+        return angle;
+        }    
+
+int main() {
+    
+    while(1) {
+               
+        lcd.cls();    
+        lcd.locate(0,4);
+        //print on lcd values of X,Y,Z and calculated angle
+        lcd.printf("X= %f   Y= %f Z= %f  Angle= %.1f ", 
+        MMA.x(),MMA.y(),MMA.z(), calculateAngle(MMA.x(),MMA.y(),MMA.z()));         
+        wait(1);   // frequency of displayed data on lcd screen = delay time
+        
+        }
+}
+
+
diff -r 000000000000 -r a52d467589e0 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sun Aug 11 01:09:41 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file