el flash del moto

Dependencies:   mbed MMA8451Q

Committer:
Franmaver
Date:
Tue Apr 09 14:08:02 2019 +0000
Revision:
0:a56823235d7d
jugando con el rgb y acelerometro

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Franmaver 0:a56823235d7d 1 #include "mbed.h"
Franmaver 0:a56823235d7d 2 #include "MMA8451Q.h"
Franmaver 0:a56823235d7d 3
Franmaver 0:a56823235d7d 4 #if defined (TARGET_KL25Z) || defined (TARGET_KL46Z)
Franmaver 0:a56823235d7d 5 PinName const SDA = PTE25;
Franmaver 0:a56823235d7d 6 PinName const SCL = PTE24;
Franmaver 0:a56823235d7d 7 #elif defined (TARGET_KL05Z)
Franmaver 0:a56823235d7d 8 PinName const SDA = PTB4;
Franmaver 0:a56823235d7d 9 PinName const SCL = PTB3;
Franmaver 0:a56823235d7d 10 #elif defined (TARGET_K20D50M)
Franmaver 0:a56823235d7d 11 PinName const SDA = PTB1;
Franmaver 0:a56823235d7d 12 PinName const SCL = PTB0;
Franmaver 0:a56823235d7d 13 #else
Franmaver 0:a56823235d7d 14 #error TARGET NOT DEFINED
Franmaver 0:a56823235d7d 15 #endif
Franmaver 0:a56823235d7d 16
Franmaver 0:a56823235d7d 17 #define MMA8451_I2C_ADDRESS (0x1d<<1)
Franmaver 0:a56823235d7d 18
Franmaver 0:a56823235d7d 19 int main(void)
Franmaver 0:a56823235d7d 20 {
Franmaver 0:a56823235d7d 21 int on = 0;
Franmaver 0:a56823235d7d 22
Franmaver 0:a56823235d7d 23 MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);
Franmaver 0:a56823235d7d 24 PwmOut rled(LED1);
Franmaver 0:a56823235d7d 25 PwmOut gled(LED2);
Franmaver 0:a56823235d7d 26 PwmOut bled(LED3);
Franmaver 0:a56823235d7d 27
Franmaver 0:a56823235d7d 28 printf("MMA8451 ID: %d\n", acc.getWhoAmI());
Franmaver 0:a56823235d7d 29
Franmaver 0:a56823235d7d 30 while (true) {
Franmaver 0:a56823235d7d 31 float x, y, z;
Franmaver 0:a56823235d7d 32 x = abs(acc.getAccX());
Franmaver 0:a56823235d7d 33 y = abs(acc.getAccY());
Franmaver 0:a56823235d7d 34 z = abs(acc.getAccZ());
Franmaver 0:a56823235d7d 35
Franmaver 0:a56823235d7d 36 if((x > 0.5) && (y > 0.5) && (z > 0.5) && (on == 0)) {
Franmaver 0:a56823235d7d 37 rled = 0;
Franmaver 0:a56823235d7d 38 gled = 0;
Franmaver 0:a56823235d7d 39 bled = 0;
Franmaver 0:a56823235d7d 40 on = 1;
Franmaver 0:a56823235d7d 41 }
Franmaver 0:a56823235d7d 42
Franmaver 0:a56823235d7d 43 else if((x > 0.5) && (y > 0.5) && (z > 0.5) && (on == 1)) {
Franmaver 0:a56823235d7d 44 rled = 1;
Franmaver 0:a56823235d7d 45 gled = 1;
Franmaver 0:a56823235d7d 46 bled = 1;
Franmaver 0:a56823235d7d 47 on = 0;
Franmaver 0:a56823235d7d 48 }
Franmaver 0:a56823235d7d 49
Franmaver 0:a56823235d7d 50 wait (0.7);
Franmaver 0:a56823235d7d 51 //printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n", x, y, z);
Franmaver 0:a56823235d7d 52 }
Franmaver 0:a56823235d7d 53 }