full mouse
Dependencies: MMA8451Q TSI USBDevice mbed
Diff: main.cpp
- Revision:
- 0:a72a8bb67eaf
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sun Oct 11 06:48:10 2015 +0000 @@ -0,0 +1,74 @@ +#include "mbed.h" +#include "USBMouse.h" +#include "TSISensor.h" +#include "MMA8451Q.h" +#define MMA8451_I2C_ADDRESS (0x1d<<1) +MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS); +Serial pc(USBTX,USBRX); +TSISensor tsi; +USBMouse mouse; +float value; +int xaxis, yaxis, zaxis; +int main() +{while (1) +{ + value=tsi.readPercentage(); + xaxis=(acc.getAccX()+1)*100; + yaxis=(acc.getAccY()+1)*100; + zaxis=(acc.getAccZ()+1)*100; + pc.printf("$%d %d %d;",xaxis,yaxis,zaxis); + + if( xaxis >=0 && xaxis <=50 ) + mouse.move(0,-3); + + if( xaxis >=150 && xaxis <=200 ) + mouse.move(0,3); + + if( xaxis >50 && xaxis <=80 ) + mouse.move(0,-1); + + if( xaxis >=120 && xaxis <150 ) + mouse.move(0,1); + + + + if( yaxis >50 && yaxis <=80 ) + mouse.move(1,0); + + if( yaxis >=120 && yaxis <150 ) + mouse.move(-1,0); + + if( yaxis >=0 && yaxis <=50 ) + mouse.move(3,0); + + if( yaxis >=150 && yaxis <=200 ) + mouse.move(-3,0); + + if( xaxis >=0 && xaxis <=80 && yaxis >=0 && yaxis <=80 ) + mouse.move(2,-2); + + if( xaxis >=120 && xaxis <=200 && yaxis >=0 && yaxis <=80 ) + mouse.move(2,2); + + if( xaxis >=0 && xaxis <=80 && yaxis >=120 && yaxis <=200 ) + mouse.move(-2,-2); + + if( xaxis >=120 && xaxis <=200 && yaxis >=120 && yaxis <=200) + mouse.move(-2,2); + + if(value>0.5) + {mouse.press(MOUSE_LEFT); + wait(0.1); + mouse.release(MOUSE_LEFT); + } + + if(value<0.5 && value>0) + {mouse.press(MOUSE_RIGHT); + wait(0.1); + mouse.release(MOUSE_RIGHT); + } + else + mouse.move(0,0); + + } +}