Test application for Freedom KL25Z, mouse driven by accelerometer and click with TSI interface
Dependencies: MMA8451Q TSI USBDevice mbed
Fork of Airmouse by
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); } }