Demo for Accel

Dependencies:   MMA8451Q mbed

Fork of FRDM_MMA8451Q by Freescale

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "MMA8451Q.h"
00003 
00004 #if   defined (TARGET_KL25Z) || defined (TARGET_KL46Z)
00005   PinName const SDA = PTE25;
00006   PinName const SCL = PTE24;
00007 #elif defined (TARGET_KL05Z)
00008   PinName const SDA = PTB4;
00009   PinName const SCL = PTB3;
00010 #elif defined (TARGET_K20D50M)
00011   PinName const SDA = PTB1;
00012   PinName const SCL = PTB0;
00013 #else
00014   #error TARGET NOT DEFINED
00015 #endif
00016 
00017 #define MMA8451_I2C_ADDRESS (0x1d<<1)
00018 
00019 int main(void)
00020 {
00021     MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);
00022     PwmOut rled(LED1);
00023     PwmOut gled(LED2);
00024     PwmOut bled(LED3);
00025 
00026     printf("MMA8451 ID: %d\n", acc.getWhoAmI());
00027 
00028     while (true) {
00029         float x, y, z;
00030         x = abs(acc.getAccX());
00031         y = abs(acc.getAccY());
00032         z = abs(acc.getAccZ());
00033         rled = 1.0f - x;
00034         gled = 1.0f - y;
00035         bled = 1.0f - z;
00036         wait(0.1f);
00037         printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n", x, y, z);
00038     }
00039 }