project1

Dependencies:   mbed TSI MMA8451Q

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?

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