francisco maver
/
camara_motorola
el flash del moto
main.cpp@0:a56823235d7d, 2019-04-09 (annotated)
- 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?
User | Revision | Line number | New 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 | } |