angle

Dependencies:   MMA8451Q mbed

main.cpp

Committer:
radovan
Date:
2017-11-13
Revision:
0:d9eddc0c9344

File content as of revision 0:d9eddc0c9344:

#include "mbed.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)
Serial pc(USBTX, USBRX);

int main(void)
{
    MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);
    

    printf("MMA8451 ID: %d\n", acc.getWhoAmI());

    while (true) {
        float x, y, z;
        x = abs(acc.getAccX());
        y = abs(acc.getAccY());
        z = abs(acc.getAccZ());
       
        pc.printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n\r", 180*asin(x/sqrt(x*x+y*y+z*z))/ 3.14159, 180*asin(y/sqrt(x*x+y*y+z*z))/ 3.14159, 180*asin(z/sqrt(x*x+y*y+z*z))/ 3.14159);
    }
}