Modified example of LED / Accelerometer demo. Added TSI for brightness control

Dependencies:   MMA8451Q TSI USBDevice mbed

Fork of FRDM_MMA8451Q by mbed official

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?

UserRevisionLine numberNew 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 }