full mouse

Dependencies:   MMA8451Q TSI USBDevice mbed

Committer:
aji052
Date:
Sun Oct 11 06:48:10 2015 +0000
Revision:
0:a72a8bb67eaf
full mouse

Who changed what in which revision?

UserRevisionLine numberNew contents of line
aji052 0:a72a8bb67eaf 1 #include "mbed.h"
aji052 0:a72a8bb67eaf 2 #include "USBMouse.h"
aji052 0:a72a8bb67eaf 3 #include "TSISensor.h"
aji052 0:a72a8bb67eaf 4 #include "MMA8451Q.h"
aji052 0:a72a8bb67eaf 5 #define MMA8451_I2C_ADDRESS (0x1d<<1)
aji052 0:a72a8bb67eaf 6 MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);
aji052 0:a72a8bb67eaf 7 Serial pc(USBTX,USBRX);
aji052 0:a72a8bb67eaf 8 TSISensor tsi;
aji052 0:a72a8bb67eaf 9 USBMouse mouse;
aji052 0:a72a8bb67eaf 10 float value;
aji052 0:a72a8bb67eaf 11 int xaxis, yaxis, zaxis;
aji052 0:a72a8bb67eaf 12 int main()
aji052 0:a72a8bb67eaf 13 {while (1)
aji052 0:a72a8bb67eaf 14 {
aji052 0:a72a8bb67eaf 15 value=tsi.readPercentage();
aji052 0:a72a8bb67eaf 16 xaxis=(acc.getAccX()+1)*100;
aji052 0:a72a8bb67eaf 17 yaxis=(acc.getAccY()+1)*100;
aji052 0:a72a8bb67eaf 18 zaxis=(acc.getAccZ()+1)*100;
aji052 0:a72a8bb67eaf 19 pc.printf("$%d %d %d;",xaxis,yaxis,zaxis);
aji052 0:a72a8bb67eaf 20
aji052 0:a72a8bb67eaf 21 if( xaxis >=0 && xaxis <=50 )
aji052 0:a72a8bb67eaf 22 mouse.move(0,-3);
aji052 0:a72a8bb67eaf 23
aji052 0:a72a8bb67eaf 24 if( xaxis >=150 && xaxis <=200 )
aji052 0:a72a8bb67eaf 25 mouse.move(0,3);
aji052 0:a72a8bb67eaf 26
aji052 0:a72a8bb67eaf 27 if( xaxis >50 && xaxis <=80 )
aji052 0:a72a8bb67eaf 28 mouse.move(0,-1);
aji052 0:a72a8bb67eaf 29
aji052 0:a72a8bb67eaf 30 if( xaxis >=120 && xaxis <150 )
aji052 0:a72a8bb67eaf 31 mouse.move(0,1);
aji052 0:a72a8bb67eaf 32
aji052 0:a72a8bb67eaf 33
aji052 0:a72a8bb67eaf 34
aji052 0:a72a8bb67eaf 35 if( yaxis >50 && yaxis <=80 )
aji052 0:a72a8bb67eaf 36 mouse.move(1,0);
aji052 0:a72a8bb67eaf 37
aji052 0:a72a8bb67eaf 38 if( yaxis >=120 && yaxis <150 )
aji052 0:a72a8bb67eaf 39 mouse.move(-1,0);
aji052 0:a72a8bb67eaf 40
aji052 0:a72a8bb67eaf 41 if( yaxis >=0 && yaxis <=50 )
aji052 0:a72a8bb67eaf 42 mouse.move(3,0);
aji052 0:a72a8bb67eaf 43
aji052 0:a72a8bb67eaf 44 if( yaxis >=150 && yaxis <=200 )
aji052 0:a72a8bb67eaf 45 mouse.move(-3,0);
aji052 0:a72a8bb67eaf 46
aji052 0:a72a8bb67eaf 47 if( xaxis >=0 && xaxis <=80 && yaxis >=0 && yaxis <=80 )
aji052 0:a72a8bb67eaf 48 mouse.move(2,-2);
aji052 0:a72a8bb67eaf 49
aji052 0:a72a8bb67eaf 50 if( xaxis >=120 && xaxis <=200 && yaxis >=0 && yaxis <=80 )
aji052 0:a72a8bb67eaf 51 mouse.move(2,2);
aji052 0:a72a8bb67eaf 52
aji052 0:a72a8bb67eaf 53 if( xaxis >=0 && xaxis <=80 && yaxis >=120 && yaxis <=200 )
aji052 0:a72a8bb67eaf 54 mouse.move(-2,-2);
aji052 0:a72a8bb67eaf 55
aji052 0:a72a8bb67eaf 56 if( xaxis >=120 && xaxis <=200 && yaxis >=120 && yaxis <=200)
aji052 0:a72a8bb67eaf 57 mouse.move(-2,2);
aji052 0:a72a8bb67eaf 58
aji052 0:a72a8bb67eaf 59 if(value>0.5)
aji052 0:a72a8bb67eaf 60 {mouse.press(MOUSE_LEFT);
aji052 0:a72a8bb67eaf 61 wait(0.1);
aji052 0:a72a8bb67eaf 62 mouse.release(MOUSE_LEFT);
aji052 0:a72a8bb67eaf 63 }
aji052 0:a72a8bb67eaf 64
aji052 0:a72a8bb67eaf 65 if(value<0.5 && value>0)
aji052 0:a72a8bb67eaf 66 {mouse.press(MOUSE_RIGHT);
aji052 0:a72a8bb67eaf 67 wait(0.1);
aji052 0:a72a8bb67eaf 68 mouse.release(MOUSE_RIGHT);
aji052 0:a72a8bb67eaf 69 }
aji052 0:a72a8bb67eaf 70 else
aji052 0:a72a8bb67eaf 71 mouse.move(0,0);
aji052 0:a72a8bb67eaf 72
aji052 0:a72a8bb67eaf 73 }
aji052 0:a72a8bb67eaf 74 }