Sturiat

Dependencies:   Motor mbed

Committer:
Eltanke25
Date:
Mon Jan 23 16:54:42 2017 +0000
Revision:
0:ae2143cb24b1
Progetto uni;

Who changed what in which revision?

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