FAD 2016/2017
/
Progetto
Sturiat
main.cpp@0:ae2143cb24b1, 2017-01-23 (annotated)
- Committer:
- Eltanke25
- Date:
- Mon Jan 23 16:54:42 2017 +0000
- Revision:
- 0:ae2143cb24b1
Progetto uni;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Eltanke25 | 0:ae2143cb24b1 | 1 | #include "mbed.h" |
Eltanke25 | 0:ae2143cb24b1 | 2 | #include "Motor.h" |
Eltanke25 | 0:ae2143cb24b1 | 3 | |
Eltanke25 | 0:ae2143cb24b1 | 4 | Motor m1(D10, D4, D9); //pwm (E1), fwd (1A), rev (1B) |
Eltanke25 | 0:ae2143cb24b1 | 5 | Motor m2(D5, D6, D7); //pwm (E2), fwd (2A), rev (2B) |
Eltanke25 | 0:ae2143cb24b1 | 6 | |
Eltanke25 | 0:ae2143cb24b1 | 7 | // Pin digitale di uscita |
Eltanke25 | 0:ae2143cb24b1 | 8 | RawSerial hc05(D8, D2); |
Eltanke25 | 0:ae2143cb24b1 | 9 | DigitalOut leddx1(D3); |
Eltanke25 | 0:ae2143cb24b1 | 10 | DigitalOut leddx2(D11); |
Eltanke25 | 0:ae2143cb24b1 | 11 | DigitalOut ledsx1(D12); |
Eltanke25 | 0:ae2143cb24b1 | 12 | DigitalOut ledsx2(D13); |
Eltanke25 | 0:ae2143cb24b1 | 13 | DigitalOut anter(PC_1); |
Eltanke25 | 0:ae2143cb24b1 | 14 | Timeout tempo; |
Eltanke25 | 0:ae2143cb24b1 | 15 | |
Eltanke25 | 0:ae2143cb24b1 | 16 | |
Eltanke25 | 0:ae2143cb24b1 | 17 | void avanti(float x) |
Eltanke25 | 0:ae2143cb24b1 | 18 | { |
Eltanke25 | 0:ae2143cb24b1 | 19 | m1.speed(x); |
Eltanke25 | 0:ae2143cb24b1 | 20 | m2.speed(x); |
Eltanke25 | 0:ae2143cb24b1 | 21 | } |
Eltanke25 | 0:ae2143cb24b1 | 22 | void indietro(float x) |
Eltanke25 | 0:ae2143cb24b1 | 23 | { |
Eltanke25 | 0:ae2143cb24b1 | 24 | m1.speed(-x); |
Eltanke25 | 0:ae2143cb24b1 | 25 | m2.speed(-x); |
Eltanke25 | 0:ae2143cb24b1 | 26 | } |
Eltanke25 | 0:ae2143cb24b1 | 27 | void destra(float x) |
Eltanke25 | 0:ae2143cb24b1 | 28 | { |
Eltanke25 | 0:ae2143cb24b1 | 29 | m1.speed(0); |
Eltanke25 | 0:ae2143cb24b1 | 30 | m2.speed(x); |
Eltanke25 | 0:ae2143cb24b1 | 31 | |
Eltanke25 | 0:ae2143cb24b1 | 32 | } |
Eltanke25 | 0:ae2143cb24b1 | 33 | void sinistra(float x) |
Eltanke25 | 0:ae2143cb24b1 | 34 | { |
Eltanke25 | 0:ae2143cb24b1 | 35 | m1.speed(x); |
Eltanke25 | 0:ae2143cb24b1 | 36 | m2.speed(0); |
Eltanke25 | 0:ae2143cb24b1 | 37 | |
Eltanke25 | 0:ae2143cb24b1 | 38 | } |
Eltanke25 | 0:ae2143cb24b1 | 39 | void avantisinistra(float x) |
Eltanke25 | 0:ae2143cb24b1 | 40 | { |
Eltanke25 | 0:ae2143cb24b1 | 41 | m1.speed(x); |
Eltanke25 | 0:ae2143cb24b1 | 42 | m2.speed(x/2); |
Eltanke25 | 0:ae2143cb24b1 | 43 | } |
Eltanke25 | 0:ae2143cb24b1 | 44 | void avantidestra(float x) |
Eltanke25 | 0:ae2143cb24b1 | 45 | { |
Eltanke25 | 0:ae2143cb24b1 | 46 | m1.speed(x/2); |
Eltanke25 | 0:ae2143cb24b1 | 47 | m2.speed(x); |
Eltanke25 | 0:ae2143cb24b1 | 48 | } |
Eltanke25 | 0:ae2143cb24b1 | 49 | void indietrosinistra(float x) |
Eltanke25 | 0:ae2143cb24b1 | 50 | { |
Eltanke25 | 0:ae2143cb24b1 | 51 | m1.speed(-x); |
Eltanke25 | 0:ae2143cb24b1 | 52 | m2.speed(-x/2); |
Eltanke25 | 0:ae2143cb24b1 | 53 | } |
Eltanke25 | 0:ae2143cb24b1 | 54 | void indietrodestra(float x) |
Eltanke25 | 0:ae2143cb24b1 | 55 | { |
Eltanke25 | 0:ae2143cb24b1 | 56 | m1.speed(-x/2); |
Eltanke25 | 0:ae2143cb24b1 | 57 | m2.speed(-x); |
Eltanke25 | 0:ae2143cb24b1 | 58 | } |
Eltanke25 | 0:ae2143cb24b1 | 59 | void stop() |
Eltanke25 | 0:ae2143cb24b1 | 60 | { |
Eltanke25 | 0:ae2143cb24b1 | 61 | m1.speed(0); |
Eltanke25 | 0:ae2143cb24b1 | 62 | m2.speed(0); |
Eltanke25 | 0:ae2143cb24b1 | 63 | } |
Eltanke25 | 0:ae2143cb24b1 | 64 | |
Eltanke25 | 0:ae2143cb24b1 | 65 | int main () |
Eltanke25 | 0:ae2143cb24b1 | 66 | { |
Eltanke25 | 0:ae2143cb24b1 | 67 | float v=0; |
Eltanke25 | 0:ae2143cb24b1 | 68 | char a; |
Eltanke25 | 0:ae2143cb24b1 | 69 | hc05.baud(9600); |
Eltanke25 | 0:ae2143cb24b1 | 70 | |
Eltanke25 | 0:ae2143cb24b1 | 71 | while (1) { |
Eltanke25 | 0:ae2143cb24b1 | 72 | // se e’¨ stato ricevuto un carattere |
Eltanke25 | 0:ae2143cb24b1 | 73 | a=hc05.getc(); |
Eltanke25 | 0:ae2143cb24b1 | 74 | if(a=='F') |
Eltanke25 | 0:ae2143cb24b1 | 75 | avanti(v); |
Eltanke25 | 0:ae2143cb24b1 | 76 | |
Eltanke25 | 0:ae2143cb24b1 | 77 | else if (a=='B') { |
Eltanke25 | 0:ae2143cb24b1 | 78 | |
Eltanke25 | 0:ae2143cb24b1 | 79 | indietro(v); |
Eltanke25 | 0:ae2143cb24b1 | 80 | } else if (a=='L') { |
Eltanke25 | 0:ae2143cb24b1 | 81 | |
Eltanke25 | 0:ae2143cb24b1 | 82 | sinistra(v); |
Eltanke25 | 0:ae2143cb24b1 | 83 | } else if(a=='R') { |
Eltanke25 | 0:ae2143cb24b1 | 84 | |
Eltanke25 | 0:ae2143cb24b1 | 85 | destra(v); |
Eltanke25 | 0:ae2143cb24b1 | 86 | } else if(a=='G') |
Eltanke25 | 0:ae2143cb24b1 | 87 | avantisinistra(v); |
Eltanke25 | 0:ae2143cb24b1 | 88 | else if(a=='I') |
Eltanke25 | 0:ae2143cb24b1 | 89 | avantidestra(v); |
Eltanke25 | 0:ae2143cb24b1 | 90 | else if(a=='H') |
Eltanke25 | 0:ae2143cb24b1 | 91 | indietrosinistra(v); |
Eltanke25 | 0:ae2143cb24b1 | 92 | else if(a=='J') |
Eltanke25 | 0:ae2143cb24b1 | 93 | indietrodestra(v); |
Eltanke25 | 0:ae2143cb24b1 | 94 | else if (a=='S') |
Eltanke25 | 0:ae2143cb24b1 | 95 | stop(); |
Eltanke25 | 0:ae2143cb24b1 | 96 | else if(a=='0') |
Eltanke25 | 0:ae2143cb24b1 | 97 | v=0; |
Eltanke25 | 0:ae2143cb24b1 | 98 | else if(a=='1') |
Eltanke25 | 0:ae2143cb24b1 | 99 | v=0.1; |
Eltanke25 | 0:ae2143cb24b1 | 100 | else if(a=='2') |
Eltanke25 | 0:ae2143cb24b1 | 101 | v=0.2; |
Eltanke25 | 0:ae2143cb24b1 | 102 | else if(a=='3') |
Eltanke25 | 0:ae2143cb24b1 | 103 | v=0.3; |
Eltanke25 | 0:ae2143cb24b1 | 104 | else if(a=='4') |
Eltanke25 | 0:ae2143cb24b1 | 105 | v=0.4; |
Eltanke25 | 0:ae2143cb24b1 | 106 | else if(a=='5') |
Eltanke25 | 0:ae2143cb24b1 | 107 | v=0.5; |
Eltanke25 | 0:ae2143cb24b1 | 108 | else if(a=='6') |
Eltanke25 | 0:ae2143cb24b1 | 109 | v=0.6; |
Eltanke25 | 0:ae2143cb24b1 | 110 | else if(a=='7') |
Eltanke25 | 0:ae2143cb24b1 | 111 | v=0.7; |
Eltanke25 | 0:ae2143cb24b1 | 112 | else if(a=='8') |
Eltanke25 | 0:ae2143cb24b1 | 113 | v=0.8; |
Eltanke25 | 0:ae2143cb24b1 | 114 | else if(a=='9') |
Eltanke25 | 0:ae2143cb24b1 | 115 | v=0.9; |
Eltanke25 | 0:ae2143cb24b1 | 116 | else if(a=='q') |
Eltanke25 | 0:ae2143cb24b1 | 117 | v=1; |
Eltanke25 | 0:ae2143cb24b1 | 118 | else if(a=='W') { |
Eltanke25 | 0:ae2143cb24b1 | 119 | leddx1=1; |
Eltanke25 | 0:ae2143cb24b1 | 120 | ledsx1=1; |
Eltanke25 | 0:ae2143cb24b1 | 121 | } else if(a=='w') { |
Eltanke25 | 0:ae2143cb24b1 | 122 | leddx1=0; |
Eltanke25 | 0:ae2143cb24b1 | 123 | ledsx1=0; |
Eltanke25 | 0:ae2143cb24b1 | 124 | } else if(a=='U') { |
Eltanke25 | 0:ae2143cb24b1 | 125 | leddx2=1; |
Eltanke25 | 0:ae2143cb24b1 | 126 | ledsx2=1; |
Eltanke25 | 0:ae2143cb24b1 | 127 | } else if(a=='u') { |
Eltanke25 | 0:ae2143cb24b1 | 128 | leddx2=0; |
Eltanke25 | 0:ae2143cb24b1 | 129 | ledsx2=0; |
Eltanke25 | 0:ae2143cb24b1 | 130 | } |
Eltanke25 | 0:ae2143cb24b1 | 131 | |
Eltanke25 | 0:ae2143cb24b1 | 132 | |
Eltanke25 | 0:ae2143cb24b1 | 133 | |
Eltanke25 | 0:ae2143cb24b1 | 134 | |
Eltanke25 | 0:ae2143cb24b1 | 135 | |
Eltanke25 | 0:ae2143cb24b1 | 136 | |
Eltanke25 | 0:ae2143cb24b1 | 137 | |
Eltanke25 | 0:ae2143cb24b1 | 138 | |
Eltanke25 | 0:ae2143cb24b1 | 139 | |
Eltanke25 | 0:ae2143cb24b1 | 140 | |
Eltanke25 | 0:ae2143cb24b1 | 141 | |
Eltanke25 | 0:ae2143cb24b1 | 142 | |
Eltanke25 | 0:ae2143cb24b1 | 143 | |
Eltanke25 | 0:ae2143cb24b1 | 144 | |
Eltanke25 | 0:ae2143cb24b1 | 145 | |
Eltanke25 | 0:ae2143cb24b1 | 146 | |
Eltanke25 | 0:ae2143cb24b1 | 147 | } |
Eltanke25 | 0:ae2143cb24b1 | 148 | } |