project1
Dependencies: mbed TSI MMA8451Q
main.cpp@2:316ddc3b4384, 2019-09-19 (annotated)
- Committer:
- bcis93
- Date:
- Thu Sep 19 20:45:17 2019 +0000
- Revision:
- 2:316ddc3b4384
- Parent:
- 1:69b15daf7a7d
Adding dimming with the touch sensor (using the TSI library)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nmaududi | 0:529f900ad93b | 1 | #include "mbed.h" |
nmaududi | 0:529f900ad93b | 2 | #include "MMA8451Q.h" |
bcis93 | 2:316ddc3b4384 | 3 | #include "TSISensor.h" |
nmaududi | 0:529f900ad93b | 4 | |
nmaududi | 0:529f900ad93b | 5 | #if defined (TARGET_KL25Z) || defined (TARGET_KL46Z) |
nmaududi | 0:529f900ad93b | 6 | PinName const SDA = PTE25; |
nmaududi | 0:529f900ad93b | 7 | PinName const SCL = PTE24; |
nmaududi | 0:529f900ad93b | 8 | #elif defined (TARGET_KL05Z) |
nmaududi | 0:529f900ad93b | 9 | PinName const SDA = PTB4; |
nmaududi | 0:529f900ad93b | 10 | PinName const SCL = PTB3; |
nmaududi | 0:529f900ad93b | 11 | #elif defined (TARGET_K20D50M) |
nmaududi | 0:529f900ad93b | 12 | PinName const SDA = PTB1; |
nmaududi | 0:529f900ad93b | 13 | PinName const SCL = PTB0; |
nmaududi | 0:529f900ad93b | 14 | #else |
nmaududi | 0:529f900ad93b | 15 | #error TARGET NOT DEFINED |
nmaududi | 0:529f900ad93b | 16 | #endif |
nmaududi | 0:529f900ad93b | 17 | |
nmaududi | 0:529f900ad93b | 18 | #define MMA8451_I2C_ADDRESS (0x1d<<1) |
nmaududi | 0:529f900ad93b | 19 | |
nmaududi | 0:529f900ad93b | 20 | int main(void) |
nmaududi | 0:529f900ad93b | 21 | { |
nmaududi | 0:529f900ad93b | 22 | MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS); |
nmaududi | 0:529f900ad93b | 23 | PwmOut rled(LED1); |
nmaududi | 0:529f900ad93b | 24 | PwmOut gled(LED2); |
nmaududi | 0:529f900ad93b | 25 | PwmOut bled(LED3); |
nmaududi | 0:529f900ad93b | 26 | |
nmaududi | 0:529f900ad93b | 27 | printf("MMA8451 ID: %d\n", acc.getWhoAmI()); |
bcis93 | 2:316ddc3b4384 | 28 | |
bcis93 | 2:316ddc3b4384 | 29 | TSISensor tsi; |
bcis93 | 2:316ddc3b4384 | 30 | |
bcis93 | 2:316ddc3b4384 | 31 | float percent = 0.5; |
nmaududi | 0:529f900ad93b | 32 | |
nmaududi | 0:529f900ad93b | 33 | while (true) { |
nmaududi | 0:529f900ad93b | 34 | float x, y, z; |
bcis93 | 2:316ddc3b4384 | 35 | float current_percent; |
bcis93 | 2:316ddc3b4384 | 36 | uint8_t distance; |
bcis93 | 2:316ddc3b4384 | 37 | |
bcis93 | 2:316ddc3b4384 | 38 | current_percent = tsi.readPercentage(); |
bcis93 | 2:316ddc3b4384 | 39 | if (current_percent != 0) |
bcis93 | 2:316ddc3b4384 | 40 | { |
bcis93 | 2:316ddc3b4384 | 41 | percent = current_percent; |
bcis93 | 2:316ddc3b4384 | 42 | } |
bcis93 | 2:316ddc3b4384 | 43 | |
nmaududi | 0:529f900ad93b | 44 | x = abs(acc.getAccX()); |
nmaududi | 0:529f900ad93b | 45 | y = abs(acc.getAccY()); |
nmaududi | 0:529f900ad93b | 46 | z = abs(acc.getAccZ()); |
bcis93 | 2:316ddc3b4384 | 47 | rled = 1.0f - x * percent; |
bcis93 | 2:316ddc3b4384 | 48 | gled = 1.0f - y * percent; |
bcis93 | 2:316ddc3b4384 | 49 | bled = 1.0f - z * percent; |
nmaududi | 0:529f900ad93b | 50 | wait(0.1f); |
bcis93 | 2:316ddc3b4384 | 51 | //printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n\r", x, y, z); |
bcis93 | 2:316ddc3b4384 | 52 | //printf("percent: %f\t\tdistance: %d\n\r", percent, distance); |
nmaududi | 0:529f900ad93b | 53 | } |
nmaududi | 0:529f900ad93b | 54 | } |