wheelchair code for driver assitance

Dependencies:   mbed

Fork of wheelchairalexa by ryan lin

Committer:
ryanlin97
Date:
Fri Aug 17 03:10:39 2018 +0000
Revision:
12:0e5a0571b497
Parent:
11:75f0f13ff6c1
code for driver assistance;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ryanlin97 0:fc0c4a184482 1 #include "wheelchair.h"
ryanlin97 0:fc0c4a184482 2
ryanlin97 3:a5e71bfdb492 3 AnalogIn x(A0);
ryanlin97 3:a5e71bfdb492 4 AnalogIn y(A1);
ryanlin97 3:a5e71bfdb492 5
ryanlin97 12:0e5a0571b497 6 DigitalOut on(D12);
ryanlin97 12:0e5a0571b497 7 DigitalOut off(D11);
ryanlin97 0:fc0c4a184482 8 DigitalOut up(D2);
ryanlin97 0:fc0c4a184482 9 DigitalOut down(D3);
ryanlin97 2:c2d049efc266 10
ryanlin97 10:e5463c11e0a0 11 bool manual = false;
ryanlin97 12:0e5a0571b497 12 bool leftBound = false;
ryanlin97 12:0e5a0571b497 13 bool rightBound = false;
ryanlin97 12:0e5a0571b497 14 bool straightBound = false;
ryanlin97 10:e5463c11e0a0 15
ryanlin97 12:0e5a0571b497 16 Serial pc(USBTX, USBRX, 9600);
ryanlin97 7:5e38d43fbce3 17 Timer t;
ryanlin97 6:0cd57bdd8fbc 18
ryanlin97 11:75f0f13ff6c1 19 Wheelchair smart(xDir,yDir, &pc, &t);
ryanlin97 11:75f0f13ff6c1 20
ryanlin97 2:c2d049efc266 21
ryanlin97 0:fc0c4a184482 22 int main(void)
ryanlin97 0:fc0c4a184482 23 {
ryanlin97 12:0e5a0571b497 24 smart.stop();
ryanlin97 6:0cd57bdd8fbc 25 while(1) {
ryanlin97 10:e5463c11e0a0 26 pc.printf("turning on joystick\n");
ryanlin97 10:e5463c11e0a0 27 manual = true;
ryanlin97 11:75f0f13ff6c1 28 t.reset();
ryanlin97 10:e5463c11e0a0 29 while(manual) {
ryanlin97 12:0e5a0571b497 30 smart.move(x,y,leftBound,rightBound,straightBound);
ryanlin97 10:e5463c11e0a0 31 if( pc.readable()) {
ryanlin97 10:e5463c11e0a0 32 char d = pc.getc();
ryanlin97 12:0e5a0571b497 33 if( d == 'l') {
ryanlin97 12:0e5a0571b497 34 leftBound = true;
ryanlin97 12:0e5a0571b497 35 }
ryanlin97 12:0e5a0571b497 36
ryanlin97 12:0e5a0571b497 37 if (d == 'e') {
ryanlin97 12:0e5a0571b497 38 leftBound = false;
ryanlin97 12:0e5a0571b497 39 }
ryanlin97 12:0e5a0571b497 40
ryanlin97 12:0e5a0571b497 41 if( d == 'f') {
ryanlin97 12:0e5a0571b497 42 straightBound = true;
ryanlin97 12:0e5a0571b497 43 }
ryanlin97 12:0e5a0571b497 44
ryanlin97 12:0e5a0571b497 45 if (d == 'o') {
ryanlin97 12:0e5a0571b497 46 straightBound = false;
ryanlin97 12:0e5a0571b497 47 }
ryanlin97 12:0e5a0571b497 48
ryanlin97 12:0e5a0571b497 49 if( d == 'r') {
ryanlin97 12:0e5a0571b497 50 rightBound = true;
ryanlin97 12:0e5a0571b497 51 }
ryanlin97 12:0e5a0571b497 52
ryanlin97 12:0e5a0571b497 53 if( d == 'i') {
ryanlin97 12:0e5a0571b497 54 rightBound = false;
ryanlin97 12:0e5a0571b497 55 }
ryanlin97 12:0e5a0571b497 56
ryanlin97 10:e5463c11e0a0 57 if( d == 'm') {
ryanlin97 10:e5463c11e0a0 58 pc.printf("turning off joystick\n");
ryanlin97 10:e5463c11e0a0 59 manual = false;
ryanlin97 10:e5463c11e0a0 60 }
ryanlin97 10:e5463c11e0a0 61 }
ryanlin97 10:e5463c11e0a0 62 }
ryanlin97 10:e5463c11e0a0 63 }
ryanlin97 6:0cd57bdd8fbc 64
ryanlin97 12:0e5a0571b497 65 wait(process);
ryanlin97 0:fc0c4a184482 66 }
ryanlin97 0:fc0c4a184482 67
ryanlin97 12:0e5a0571b497 68
ryanlin97 12:0e5a0571b497 69