Modified example of LED / Accelerometer demo. Added TSI for brightness control
Dependencies: MMA8451Q TSI USBDevice mbed
Fork of FRDM_MMA8451Q by
main.cpp@8:ffab051c58b5, 2013-05-17 (annotated)
- Committer:
- vsluiter
- Date:
- Fri May 17 15:14:03 2013 +0000
- Revision:
- 8:ffab051c58b5
- Parent:
- 5:bf5becf7469c
Working demo with mouse, rgb and fader. Board should be powered on 'KL25Z-USB'
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
chris | 2:41db78380a6e | 1 | #include "mbed.h" |
vsluiter | 8:ffab051c58b5 | 2 | #include "TSISensor.h" |
chris | 2:41db78380a6e | 3 | #include "MMA8451Q.h" |
vsluiter | 8:ffab051c58b5 | 4 | #include "USBMouse.h" |
chris | 2:41db78380a6e | 5 | |
chris | 2:41db78380a6e | 6 | #define MMA8451_I2C_ADDRESS (0x1d<<1) |
chris | 2:41db78380a6e | 7 | |
vsluiter | 8:ffab051c58b5 | 8 | |
chris | 4:367de1084ea9 | 9 | int main(void) { |
vsluiter | 8:ffab051c58b5 | 10 | USBMouse mouse; |
vsluiter | 8:ffab051c58b5 | 11 | float pct_tsi = 0; |
vsluiter | 8:ffab051c58b5 | 12 | TSISensor tsi; |
emilmont | 5:bf5becf7469c | 13 | MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS); |
emilmont | 5:bf5becf7469c | 14 | PwmOut rled(LED_RED); |
emilmont | 5:bf5becf7469c | 15 | PwmOut gled(LED_GREEN); |
emilmont | 5:bf5becf7469c | 16 | PwmOut bled(LED_BLUE); |
vsluiter | 8:ffab051c58b5 | 17 | rled.period_ms(2); |
vsluiter | 8:ffab051c58b5 | 18 | bled.period_ms(2); |
vsluiter | 8:ffab051c58b5 | 19 | gled.period_ms(2); |
emilmont | 5:bf5becf7469c | 20 | while (true) { |
vsluiter | 8:ffab051c58b5 | 21 | float accs[3]; |
vsluiter | 8:ffab051c58b5 | 22 | float pct_tsi_t; |
vsluiter | 8:ffab051c58b5 | 23 | pct_tsi_t = tsi.readPercentage(); |
vsluiter | 8:ffab051c58b5 | 24 | pct_tsi = pct_tsi_t == 0 && pct_tsi > 0.1 ? pct_tsi : pct_tsi_t; |
vsluiter | 8:ffab051c58b5 | 25 | acc.getAccAllAxis(accs); |
vsluiter | 8:ffab051c58b5 | 26 | rled = 1.0 - (abs(accs[0])*pct_tsi); |
vsluiter | 8:ffab051c58b5 | 27 | gled = 1.0 - (abs(accs[1])*pct_tsi); |
vsluiter | 8:ffab051c58b5 | 28 | bled = 1.0 - (abs(accs[2])*pct_tsi); |
vsluiter | 8:ffab051c58b5 | 29 | mouse.move(accs[0]*10,accs[1]*-10); |
vsluiter | 8:ffab051c58b5 | 30 | wait(0.001); |
chris | 2:41db78380a6e | 31 | } |
chris | 2:41db78380a6e | 32 | } |