ejer 5 pag embebidos

Dependencies:   mbed MMA8451Q

main.cpp

Committer:
Charin
Date:
2019-04-10
Revision:
0:8bdbfbb8ddc1

File content as of revision 0:8bdbfbb8ddc1:

#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) {


    }
}