project1

Dependencies:   mbed TSI MMA8451Q

main.cpp

Committer:
bcis93
Date:
2019-09-19
Revision:
2:316ddc3b4384
Parent:
1:69b15daf7a7d

File content as of revision 2:316ddc3b4384:

#include "mbed.h"
#include "MMA8451Q.h"
#include "TSISensor.h"

#if   defined (TARGET_KL25Z) || defined (TARGET_KL46Z)
  PinName const SDA = PTE25;
  PinName const SCL = PTE24;
#elif defined (TARGET_KL05Z)
  PinName const SDA = PTB4;
  PinName const SCL = PTB3;
#elif defined (TARGET_K20D50M)
  PinName const SDA = PTB1;
  PinName const SCL = PTB0;
#else
  #error TARGET NOT DEFINED
#endif

#define MMA8451_I2C_ADDRESS (0x1d<<1)

int main(void)
{
    MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);
    PwmOut rled(LED1);
    PwmOut gled(LED2);
    PwmOut bled(LED3);

    printf("MMA8451 ID: %d\n", acc.getWhoAmI());
    
    TSISensor tsi;
    
    float percent = 0.5;

    while (true) {
        float x, y, z;
        float current_percent;
        uint8_t distance;
        
        current_percent = tsi.readPercentage();
        if (current_percent != 0)
        {
            percent = current_percent;
        }
        
        x = abs(acc.getAccX());
        y = abs(acc.getAccY());
        z = abs(acc.getAccZ());
        rled = 1.0f - x * percent;
        gled = 1.0f - y * percent;
        bled = 1.0f - z * percent;
        wait(0.1f);
        //printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n\r", x, y, z);
        //printf("percent: %f\t\tdistance: %d\n\r", percent, distance);
    }
}