Wheelchair control

Dependencies:   BNO055 mbed

Fork of wheelchaircontrol by ryan lin

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?

UserRevisionLine numberNew 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