A level for the Freescale FRDM-KL05Z. Sensitivity can be adjust by the "<0.95f" If it is on 1, the ground must be flat to see this working. Have fun with a digital DIY Level ;D
main.cpp@0:fe9e813155a1, 2014-11-28 (annotated)
- Committer:
- djmanuel
- Date:
- Fri Nov 28 14:10:03 2014 +0000
- Revision:
- 0:fe9e813155a1
Wasserwage
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
djmanuel | 0:fe9e813155a1 | 1 | #include "mbed.h" |
djmanuel | 0:fe9e813155a1 | 2 | #include "MMA8451Q.h" |
djmanuel | 0:fe9e813155a1 | 3 | #if defined (TARGET_KL05Z) |
djmanuel | 0:fe9e813155a1 | 4 | PinName const SDA = PTB4; |
djmanuel | 0:fe9e813155a1 | 5 | PinName const SCL = PTB3; |
djmanuel | 0:fe9e813155a1 | 6 | #else |
djmanuel | 0:fe9e813155a1 | 7 | #error TARGET NOT DEFINED |
djmanuel | 0:fe9e813155a1 | 8 | #endif |
djmanuel | 0:fe9e813155a1 | 9 | #define MMA8451_I2C_ADDRESS (0x1d<<1) |
djmanuel | 0:fe9e813155a1 | 10 | |
djmanuel | 0:fe9e813155a1 | 11 | int main(void) |
djmanuel | 0:fe9e813155a1 | 12 | { |
djmanuel | 0:fe9e813155a1 | 13 | MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS); |
djmanuel | 0:fe9e813155a1 | 14 | PwmOut rled(LED1); rled = 1.0f; |
djmanuel | 0:fe9e813155a1 | 15 | PwmOut gled(LED2); gled = 1.0f; |
djmanuel | 0:fe9e813155a1 | 16 | PwmOut bled(LED3 ); bled = 1.0f; |
djmanuel | 0:fe9e813155a1 | 17 | |
djmanuel | 0:fe9e813155a1 | 18 | start: |
djmanuel | 0:fe9e813155a1 | 19 | float x, y, z; |
djmanuel | 0:fe9e813155a1 | 20 | x = abs(acc.getAccX()); |
djmanuel | 0:fe9e813155a1 | 21 | y = abs(acc.getAccY()); |
djmanuel | 0:fe9e813155a1 | 22 | z = abs(acc.getAccZ()); |
djmanuel | 0:fe9e813155a1 | 23 | |
djmanuel | 0:fe9e813155a1 | 24 | while (x > 0.95f) {rled = 0.0f; wait(0.2);goto start;}; |
djmanuel | 0:fe9e813155a1 | 25 | while (y > 0.95f) {bled = 0.0f; wait(0.2);goto start;}; |
djmanuel | 0:fe9e813155a1 | 26 | while (z > 0.95f) {gled = 0.0f; wait(0.2);goto start;}; |
djmanuel | 0:fe9e813155a1 | 27 | |
djmanuel | 0:fe9e813155a1 | 28 | rled = 1.0f; |
djmanuel | 0:fe9e813155a1 | 29 | gled = 1.0f; |
djmanuel | 0:fe9e813155a1 | 30 | bled = 1.0f; |
djmanuel | 0:fe9e813155a1 | 31 | goto start; |
djmanuel | 0:fe9e813155a1 | 32 | } |