Emulate a mouse using FRDM KL25Z. MMA8451Q accelerometer used for orientation and TSI capacitive touch sensor used for right and Left Click. USBHID class library used for USB protocol implementation.
Dependencies: MMA8451Q TSI USBDevice mbed
main.cpp@0:c4999a91ff36, 2015-12-12 (annotated)
- Committer:
- priyankapashte
- Date:
- Sat Dec 12 04:23:31 2015 +0000
- Revision:
- 0:c4999a91ff36
ESD Final Project; ; PC Mouse
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
priyankapashte | 0:c4999a91ff36 | 1 | #include "mbed.h" |
priyankapashte | 0:c4999a91ff36 | 2 | #include "MMA8451Q.h" |
priyankapashte | 0:c4999a91ff36 | 3 | #include "USBMouse.h" |
priyankapashte | 0:c4999a91ff36 | 4 | #include "TSISensor.h" |
priyankapashte | 0:c4999a91ff36 | 5 | #define MMA8451_I2C_ADDRESS (0x1d<<1) |
priyankapashte | 0:c4999a91ff36 | 6 | |
priyankapashte | 0:c4999a91ff36 | 7 | Serial pc(USBTX, USBRX); |
priyankapashte | 0:c4999a91ff36 | 8 | |
priyankapashte | 0:c4999a91ff36 | 9 | int main(void) { |
priyankapashte | 0:c4999a91ff36 | 10 | MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS); |
priyankapashte | 0:c4999a91ff36 | 11 | TSISensor tsi; |
priyankapashte | 0:c4999a91ff36 | 12 | while (true) { |
priyankapashte | 0:c4999a91ff36 | 13 | float X=acc.getAccX(); |
priyankapashte | 0:c4999a91ff36 | 14 | float Y=acc.getAccY(); |
priyankapashte | 0:c4999a91ff36 | 15 | mouse.move(Y,X); |
priyankapashte | 0:c4999a91ff36 | 16 | if(tsi.readPercentage()>0) |
priyankapashte | 0:c4999a91ff36 | 17 | if(tsi.readPercentage()<=0.6) |
priyankapashte | 0:c4999a91ff36 | 18 | { |
priyankapashte | 0:c4999a91ff36 | 19 | mouse.press(MOUSE_LEFT); |
priyankapashte | 0:c4999a91ff36 | 20 | pc.printf("Left\n"); |
priyankapashte | 0:c4999a91ff36 | 21 | } |
priyankapashte | 0:c4999a91ff36 | 22 | if(tsi.readPercentage()>0.6) |
priyankapashte | 0:c4999a91ff36 | 23 | { |
priyankapashte | 0:c4999a91ff36 | 24 | mouse.press(MOUSE_LEFT); |
priyankapashte | 0:c4999a91ff36 | 25 | pc.printf("Right"); |
priyankapashte | 0:c4999a91ff36 | 26 | } |
priyankapashte | 0:c4999a91ff36 | 27 | wait(0.5); |
priyankapashte | 0:c4999a91ff36 | 28 | } |
priyankapashte | 0:c4999a91ff36 | 29 | |
priyankapashte | 0:c4999a91ff36 | 30 | } |
priyankapashte | 0:c4999a91ff36 | 31 | |
priyankapashte | 0:c4999a91ff36 | 32 | |
priyankapashte | 0:c4999a91ff36 | 33 | |
priyankapashte | 0:c4999a91ff36 | 34 |