![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Wheelchair control
Fork of wheelchaircontrol by
main.cpp@6:8cd00c26bb47, 2018-07-17 (annotated)
- Committer:
- cpbenite
- Date:
- Tue Jul 17 19:19:26 2018 +0000
- Revision:
- 6:8cd00c26bb47
- Parent:
- 5:e0ccaab3959a
Wheelchair control
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ryanlin97 | 0:fc0c4a184482 | 1 | #include "wheelchair.h" |
ryanlin97 | 0:fc0c4a184482 | 2 | |
cpbenite | 6:8cd00c26bb47 | 3 | // Initialize Pins |
ryanlin97 | 3:a5e71bfdb492 | 4 | AnalogIn x(A0); |
ryanlin97 | 3:a5e71bfdb492 | 5 | AnalogIn y(A1); |
cpbenite | 6:8cd00c26bb47 | 6 | |
ryanlin97 | 0:fc0c4a184482 | 7 | DigitalOut off(D0); |
ryanlin97 | 0:fc0c4a184482 | 8 | DigitalOut on(D1); |
ryanlin97 | 0:fc0c4a184482 | 9 | DigitalOut up(D2); |
ryanlin97 | 0:fc0c4a184482 | 10 | DigitalOut down(D3); |
cpbenite | 6:8cd00c26bb47 | 11 | |
ryanlin97 | 2:c2d049efc266 | 12 | Wheelchair smart(xDir,yDir); |
ryanlin97 | 2:c2d049efc266 | 13 | |
ryanlin97 | 0:fc0c4a184482 | 14 | int main(void) |
ryanlin97 | 0:fc0c4a184482 | 15 | { |
ryanlin97 | 0:fc0c4a184482 | 16 | on = 1; |
ryanlin97 | 2:c2d049efc266 | 17 | while(1){ |
cpbenite | 6:8cd00c26bb47 | 18 | /* |
cpbenite | 6:8cd00c26bb47 | 19 | // Waiting for command |
cpbenite | 6:8cd00c26bb47 | 20 | if (pc.readable()) { |
cpbenite | 6:8cd00c26bb47 | 21 | char c = pc.getc(); |
cpbenite | 6:8cd00c26bb47 | 22 | |
cpbenite | 6:8cd00c26bb47 | 23 | // Move Forward |
cpbenite | 6:8cd00c26bb47 | 24 | if (c == 'w') { |
cpbenite | 6:8cd00c26bb47 | 25 | pc.printf("up \n"); |
cpbenite | 6:8cd00c26bb47 | 26 | smart.forward(); |
ryanlin97 | 0:fc0c4a184482 | 27 | } |
ryanlin97 | 2:c2d049efc266 | 28 | |
cpbenite | 6:8cd00c26bb47 | 29 | // Move Left |
cpbenite | 6:8cd00c26bb47 | 30 | else if (c == 'd') { |
cpbenite | 6:8cd00c26bb47 | 31 | pc.printf("left \n"); |
cpbenite | 6:8cd00c26bb47 | 32 | smart.left(); |
cpbenite | 6:8cd00c26bb47 | 33 | } |
cpbenite | 6:8cd00c26bb47 | 34 | |
cpbenite | 6:8cd00c26bb47 | 35 | // Move Right |
cpbenite | 6:8cd00c26bb47 | 36 | else if (c == 'a') { |
cpbenite | 6:8cd00c26bb47 | 37 | pc.printf("right \n"); |
cpbenite | 6:8cd00c26bb47 | 38 | smart.right(); |
ryanlin97 | 0:fc0c4a184482 | 39 | } |
ryanlin97 | 2:c2d049efc266 | 40 | |
cpbenite | 6:8cd00c26bb47 | 41 | // Move Backward |
cpbenite | 6:8cd00c26bb47 | 42 | else if (c == 's') { |
cpbenite | 6:8cd00c26bb47 | 43 | pc.printf("down \n"); |
cpbenite | 6:8cd00c26bb47 | 44 | smart.backward(); |
ryanlin97 | 0:fc0c4a184482 | 45 | } |
cpbenite | 6:8cd00c26bb47 | 46 | |
cpbenite | 6:8cd00c26bb47 | 47 | // Read non-move commands |
cpbenite | 6:8cd00c26bb47 | 48 | else { |
cpbenite | 6:8cd00c26bb47 | 49 | pc.printf("none \n"); |
cpbenite | 6:8cd00c26bb47 | 50 | smart.stop(); |
cpbenite | 6:8cd00c26bb47 | 51 | |
cpbenite | 6:8cd00c26bb47 | 52 | // Turn On |
cpbenite | 6:8cd00c26bb47 | 53 | if (c == 'o') { |
cpbenite | 6:8cd00c26bb47 | 54 | pc.printf("Turning on.\n"); |
cpbenite | 6:8cd00c26bb47 | 55 | on = 0; |
cpbenite | 6:8cd00c26bb47 | 56 | wait(process); |
cpbenite | 6:8cd00c26bb47 | 57 | on = 1; |
cpbenite | 6:8cd00c26bb47 | 58 | } |
cpbenite | 6:8cd00c26bb47 | 59 | |
cpbenite | 6:8cd00c26bb47 | 60 | // Turn Off |
cpbenite | 6:8cd00c26bb47 | 61 | else if (c == 'k') { |
cpbenite | 6:8cd00c26bb47 | 62 | off = 0; |
cpbenite | 6:8cd00c26bb47 | 63 | wait(process); |
cpbenite | 6:8cd00c26bb47 | 64 | off = 1; |
cpbenite | 6:8cd00c26bb47 | 65 | } |
cpbenite | 6:8cd00c26bb47 | 66 | |
cpbenite | 6:8cd00c26bb47 | 67 | |
cpbenite | 6:8cd00c26bb47 | 68 | else if (c == 'u') { |
cpbenite | 6:8cd00c26bb47 | 69 | up = 0; |
cpbenite | 6:8cd00c26bb47 | 70 | wait(process); |
cpbenite | 6:8cd00c26bb47 | 71 | up = 1; |
ryanlin97 | 0:fc0c4a184482 | 72 | } |
ryanlin97 | 2:c2d049efc266 | 73 | |
cpbenite | 6:8cd00c26bb47 | 74 | else if (c == 'p') { |
cpbenite | 6:8cd00c26bb47 | 75 | down = 0; |
cpbenite | 6:8cd00c26bb47 | 76 | wait(process); |
cpbenite | 6:8cd00c26bb47 | 77 | down = 1; |
ryanlin97 | 0:fc0c4a184482 | 78 | } |
cpbenite | 6:8cd00c26bb47 | 79 | } |
cpbenite | 6:8cd00c26bb47 | 80 | } |
ryanlin97 | 2:c2d049efc266 | 81 | |
cpbenite | 6:8cd00c26bb47 | 82 | else { |
cpbenite | 6:8cd00c26bb47 | 83 | pc.printf("Nothing pressed.\n"); |
cpbenite | 6:8cd00c26bb47 | 84 | smart.stop(); |
cpbenite | 6:8cd00c26bb47 | 85 | } |
cpbenite | 6:8cd00c26bb47 | 86 | */ |
cpbenite | 6:8cd00c26bb47 | 87 | |
cpbenite | 6:8cd00c26bb47 | 88 | smart.move(x,y); |
cpbenite | 6:8cd00c26bb47 | 89 | wait(process); |
cpbenite | 6:8cd00c26bb47 | 90 | } |
ryanlin97 | 0:fc0c4a184482 | 91 | } |
ryanlin97 | 0:fc0c4a184482 | 92 |