Accelerometer

Dependencies:   MMA8451Q

Fork of Accelerometer_example by William Marsh

main.cpp

Committer:
Sarang
Date:
2018-02-16
Revision:
2:1c9bfcba9e49
Parent:
0:a1caba5c4e48

File content as of revision 2:1c9bfcba9e49:

#include "mbed.h"
#include "rtos.h"
#include "MMA8451Q.h"

PinName const SDA = PTE25;
PinName const SCL = PTE24;

#define MMA8451_I2C_ADDRESS (0x1d<<1)

int main(void)
{
    MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);
    PwmOut rled(LED1);
    PwmOut gled(LED2);
    PwmOut bled(LED3);
    Serial pc(USBTX, USBRX); // tx, rx
    float threshold = 0.80;
    float threshold2 = 0.20;

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

    while (true) {


        float x, y, z;
        x = acc.getAccX();
        y = acc.getAccY();
        z = acc.getAccZ();
        
        if (x<=threshold2 && y<=threshold && z>=threshold) {
        pc.printf("Flat");  
        }
        
        else if (x<=threshold2 && y>=threshold && z<=threshold2) {
        pc.printf("Left");  
        }
        
        
        else if (x<=threshold2 && y<=threshold && z<=threshold2) {
        pc.printf("Right");  
        }
           
        
        rled = 1.0f - abs(x);
        gled = 1.0f - abs(y);
        bled = 1.0f - abs(z);
        Thread::wait(300);
        pc.printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n\r", x, y, z);





    }
}