Test application for Freedom KL25Z, mouse driven by accelerometer and click with TSI interface

Dependencies:   MMA8451Q TSI USBDevice mbed

Fork of Airmouse by Frederic Thierry

main.cpp

Committer:
rod08018
Date:
2016-06-09
Revision:
1:647d6636eb03
Parent:
0:a7df8e8cc00c

File content as of revision 1:647d6636eb03:

#include "mbed.h"
#include "USBMouse.h"
#include "MMA8451Q.h"
#include "TSISensor.h"
#include "USBMouseKeyboard.h"
#define MMA8451_I2C_ADDRESS (0x1d<<1)
#include "USBKeyboard.h"
USBMouse mouse;
Serial pc(USBTX, USBRX); // tx, rx
USBKeyboard key;
int main()
{
//Debe cambiar su air mouse a un simple keyboard. Debe poder ingresar 3 teclas del teclado “a”, “b” y “c”.
//Para ello le recomendamos segmentar el slider en 3 posiciones, una para cada letra, y detectar un toque en cada área, luego mandar esa tecla como un caracter.
//Puede utilizar su imaginación para mejorar la interfaz.
    float click =0;
    int16_t x = 0;
    int16_t y = 0;
    TSISensor tsi;
    MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);
    
    while (1) {
        x = -10*acc.getAccY();
        y = 10*acc.getAccX();
        pc.printf("%f\n",x);
        mouse.move(x, y);
        
        click=tsi.readPercentage();
        //pc.printf("%f\n",click);
        if (click>0.70){
            if(y>5){
            key.putc(97);
            wait(0.3);
            }
            if(y==0){
            key.putc(100);
            wait(0.3);
            }
        }
        if((click<0.60)&&(click>0.30)){
            
            if(y>5){
            key.putc(98);
            wait(0.3);
            }
            if(y==0){
            key.putc(101);
            wait(0.3);
            }
        }
            
          if((click<0.30)&&(click>0)){
            
            if(y>5){
            key.putc(99);
            wait(0.3);
            }
            if(y==0){
            key.putc(102);
            wait(0.3);
            }
        }

            
            
        wait(0.001);
       
    }
}