
KL25Z aplicação com o aceletrometro
main.cpp@0:9393b9bec6e0, 2015-10-17 (annotated)
- Committer:
- mgsilveira
- Date:
- Sat Oct 17 17:13:52 2015 +0000
- Revision:
- 0:9393b9bec6e0
Lib para aquisi??o dos dados do aceleremetro
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mgsilveira | 0:9393b9bec6e0 | 1 | #include "mbed.h" |
mgsilveira | 0:9393b9bec6e0 | 2 | #include "MMA8451Q.h" |
mgsilveira | 0:9393b9bec6e0 | 3 | |
mgsilveira | 0:9393b9bec6e0 | 4 | #if defined (TARGET_KL25Z) || defined (TARGET_KL46Z) |
mgsilveira | 0:9393b9bec6e0 | 5 | PinName const SDA = PTE25; |
mgsilveira | 0:9393b9bec6e0 | 6 | PinName const SCL = PTE24; |
mgsilveira | 0:9393b9bec6e0 | 7 | #elif defined (TARGET_KL05Z) |
mgsilveira | 0:9393b9bec6e0 | 8 | PinName const SDA = PTB4; |
mgsilveira | 0:9393b9bec6e0 | 9 | PinName const SCL = PTB3; |
mgsilveira | 0:9393b9bec6e0 | 10 | #elif defined (TARGET_K20D50M) |
mgsilveira | 0:9393b9bec6e0 | 11 | PinName const SDA = PTB1; |
mgsilveira | 0:9393b9bec6e0 | 12 | PinName const SCL = PTB0; |
mgsilveira | 0:9393b9bec6e0 | 13 | #else |
mgsilveira | 0:9393b9bec6e0 | 14 | #error TARGET NOT DEFINED |
mgsilveira | 0:9393b9bec6e0 | 15 | #endif |
mgsilveira | 0:9393b9bec6e0 | 16 | |
mgsilveira | 0:9393b9bec6e0 | 17 | #define MMA8451_I2C_ADDRESS (0x1d<<1) |
mgsilveira | 0:9393b9bec6e0 | 18 | |
mgsilveira | 0:9393b9bec6e0 | 19 | // Open USB Serial Conection |
mgsilveira | 0:9393b9bec6e0 | 20 | Serial pc(USBTX, USBRX); // tx, rx |
mgsilveira | 0:9393b9bec6e0 | 21 | |
mgsilveira | 0:9393b9bec6e0 | 22 | int main(void) |
mgsilveira | 0:9393b9bec6e0 | 23 | { |
mgsilveira | 0:9393b9bec6e0 | 24 | pc.baud(115200); |
mgsilveira | 0:9393b9bec6e0 | 25 | MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS); |
mgsilveira | 0:9393b9bec6e0 | 26 | PwmOut rled(LED1); |
mgsilveira | 0:9393b9bec6e0 | 27 | PwmOut gled(LED2); |
mgsilveira | 0:9393b9bec6e0 | 28 | PwmOut bled(LED3); |
mgsilveira | 0:9393b9bec6e0 | 29 | |
mgsilveira | 0:9393b9bec6e0 | 30 | pc.printf("MMA8451 ID: %d\n", acc.getWhoAmI()); |
mgsilveira | 0:9393b9bec6e0 | 31 | |
mgsilveira | 0:9393b9bec6e0 | 32 | while (true) { |
mgsilveira | 0:9393b9bec6e0 | 33 | float data[3]; |
mgsilveira | 0:9393b9bec6e0 | 34 | |
mgsilveira | 0:9393b9bec6e0 | 35 | //x = abs(acc.getAccX()); |
mgsilveira | 0:9393b9bec6e0 | 36 | //y = abs(acc.getAccY()); |
mgsilveira | 0:9393b9bec6e0 | 37 | //z = abs(acc.getAccZ()); |
mgsilveira | 0:9393b9bec6e0 | 38 | acc.getAccAllAxis(data); |
mgsilveira | 0:9393b9bec6e0 | 39 | rled = 1.0f - abs(data[0]); |
mgsilveira | 0:9393b9bec6e0 | 40 | gled = 1.0f - abs(data[1]); |
mgsilveira | 0:9393b9bec6e0 | 41 | bled = 1.0f - abs(data[2]); |
mgsilveira | 0:9393b9bec6e0 | 42 | wait(0.1f); |
mgsilveira | 0:9393b9bec6e0 | 43 | //pc.printf("X: %1.2f, Y: %1.2f, Z: %1.2f\t R: %1.2f, G: %1.2f, B: %1.2f\n\r", x, y, z, rled.read(), gled.read(), bled.read()); |
mgsilveira | 0:9393b9bec6e0 | 44 | pc.printf("%1.2f;%1.2f;%1.2f\n", data[0],data[1],data[2]); |
mgsilveira | 0:9393b9bec6e0 | 45 | |
mgsilveira | 0:9393b9bec6e0 | 46 | |
mgsilveira | 0:9393b9bec6e0 | 47 | |
mgsilveira | 0:9393b9bec6e0 | 48 | } |
mgsilveira | 0:9393b9bec6e0 | 49 | } |