Programm zur Darstellung der Lage eines Objektes im Raum mit Hilfe eines Beschleunigungssensores, 4 LED's und einem LCD-Display.

Dependencies:   TextLCD mbed

Revision:
4:ed779bcb8ce6
Parent:
3:740ab0a19e1d
Child:
5:c0d6d490dd5b
--- a/Sensor.cpp	Mon May 23 12:15:11 2016 +0000
+++ b/Sensor.cpp	Tue May 24 13:43:39 2016 +0000
@@ -7,7 +7,9 @@
 ***********************************************************************************/
 
 /*define*/
-#define pi 3.1416
+#define pi 3.141
+#define URef 1.660
+#define UDiff 0.332
 
 /*Include*/
 #include "Sensor.h"
@@ -37,5 +39,23 @@
     double dGMessX;
     double dGMessY;
     double dGMessZ;
-    /*Umrechnen der Messdaten in Winkel*\
+    /* Umrechnen der Messdaten in Spannungen */
+    dGMessX = (sSensData->wSensX/65535.0)*3.3;
+    dGMessX = (int)(dGMessX*1000)/1000.0; // Doublewerte auf 2 Nachkommastellen begrenzen!
+    dGMessX = abs(dGMessX-URef)/UDiff;
+    dGMessX = (int)(dGMessX*1000)/1000.0;
+    if(dGMessX<=1 || dGMessX>=-1){
+    sWinkelData->i16WinkelX = asin(dGMessX)*(180/pi);
+    }
+    
+    dGMessY = (sSensData->wSensY/65535.0)*3.3;
+    dGMessY = (int)(dGMessY*1000)/1000.0; // Doublewerte auf 2 Nachkommastellen begrenzen!
+    dGMessY = abs(dGMessY-URef)/UDiff;
+    dGMessY = (int)(dGMessY*1000)/1000.0;
+    if(dGMessY<=1 || dGMessY>=-1){
+    sWinkelData->i16WinkelY = asin(dGMessY)*(180/pi);
+    }
+    
+    /* Umrechnen der Spannungen in g-Kräfte*/
+    /* Umrechnen der g-Kräfte in Winkel*/
     }
\ No newline at end of file