full mouse
Dependencies: MMA8451Q TSI USBDevice mbed
main.cpp@0:a72a8bb67eaf, 2015-10-11 (annotated)
- Committer:
- aji052
- Date:
- Sun Oct 11 06:48:10 2015 +0000
- Revision:
- 0:a72a8bb67eaf
full mouse
Who changed what in which revision?
User | Revision | Line number | New 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 | } |