ejer 5 pag embebidos

Dependencies:   mbed MMA8451Q

Revision:
0:8bdbfbb8ddc1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Apr 10 14:40:53 2019 +0000
@@ -0,0 +1,67 @@
+#include "mbed.h"
+#include "math.h"
+#include "MMA8451Q.h"
+
+#if   defined (TARGET_KL25Z) || defined (TARGET_KL46Z)
+PinName const SDA = PTE25;
+PinName const SCL = PTE24;
+#elif defined (TARGET_KL05Z)
+PinName const SDA = PTB4;
+PinName const SCL = PTB3;
+#elif defined (TARGET_K20D50M)
+PinName const SDA = PTB1;
+PinName const SCL = PTB0;
+#else
+#error TARGET NOT DEFINED
+#endif
+
+#define MMA8451_I2C_ADDRESS (0x1d<<1)
+
+    Ticker timer;
+    Ticker timer2;
+    
+    MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);
+    PwmOut rled(LED1);
+    PwmOut gled(LED2);
+    PwmOut bled(LED3);
+    
+    
+    
+    void posicion ()
+    {
+    
+        float x, y, z;
+        x = abs(acc.getAccX());
+        y = abs(acc.getAccY());
+        z = abs(acc.getAccZ());
+
+        rled = 1.0f - x;
+        gled = 1.0f - y;
+        bled = 1.0f - z;
+        printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n", x, y, z);
+
+    }
+
+    void angulo ()
+    {
+        float ady, op, angulo;
+        ady = abs(acc.getAccX());
+        op = abs(acc.getAccZ());      
+        
+        angulo = atan (op / ady);
+        
+        printf ("Angulo = %1.2f\n", angulo);
+
+    }    
+
+int main(void)
+{
+
+    timer.attach (&posicion, 0.5);
+    timer2.attach (&angulo, 0.4);
+
+    while (true) {
+
+
+    }
+}