Tot

Dependencies:   HCSR04 TextLCD mbed

Committer:
Cip
Date:
Sun May 07 11:18:58 2017 +0000
Revision:
0:10cdeeb1f90e
Masinuta Pantel

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Cip 0:10cdeeb1f90e 1 #include "mbed.h"
Cip 0:10cdeeb1f90e 2 #include "TextLCD.h"
Cip 0:10cdeeb1f90e 3 #include "hcsr04.h"
Cip 0:10cdeeb1f90e 4
Cip 0:10cdeeb1f90e 5 PwmOut dreapta(PTA4);
Cip 0:10cdeeb1f90e 6 PwmOut stanga(PTD3);
Cip 0:10cdeeb1f90e 7 DigitalOut in1(PTA5);
Cip 0:10cdeeb1f90e 8 DigitalOut in2(PTC8);
Cip 0:10cdeeb1f90e 9 DigitalOut in3(PTD0);
Cip 0:10cdeeb1f90e 10 DigitalOut in4(PTD2);
Cip 0:10cdeeb1f90e 11 TextLCD lcd(PTE21,PTE20,PTB0,PTB1,PTB2,PTB3);
Cip 0:10cdeeb1f90e 12 Serial device(PTE22, PTE23);
Cip 0:10cdeeb1f90e 13 DigitalOut Spate(PTC2);
Cip 0:10cdeeb1f90e 14 DigitalOut Fata1(PTC1);
Cip 0:10cdeeb1f90e 15 DigitalOut Fata2(PTA1);
Cip 0:10cdeeb1f90e 16 DigitalOut SemnalizareStanga(PTD1);
Cip 0:10cdeeb1f90e 17 DigitalOut SemnalizareDreapta(PTA2);
Cip 0:10cdeeb1f90e 18
Cip 0:10cdeeb1f90e 19 void setare_PWM_motoare(double Stanga,double Dreapta)
Cip 0:10cdeeb1f90e 20 {
Cip 0:10cdeeb1f90e 21 stanga.period(0.020);
Cip 0:10cdeeb1f90e 22 dreapta.period(0.020);
Cip 0:10cdeeb1f90e 23 stanga.pulsewidth(Stanga);
Cip 0:10cdeeb1f90e 24 dreapta.pulsewidth(Dreapta);
Cip 0:10cdeeb1f90e 25 }
Cip 0:10cdeeb1f90e 26
Cip 0:10cdeeb1f90e 27 int main() {
Cip 0:10cdeeb1f90e 28 double S,D;
Cip 0:10cdeeb1f90e 29 char Instr;
Cip 0:10cdeeb1f90e 30 device.baud(9600);
Cip 0:10cdeeb1f90e 31
Cip 0:10cdeeb1f90e 32 while(1)
Cip 0:10cdeeb1f90e 33 {
Cip 0:10cdeeb1f90e 34
Cip 0:10cdeeb1f90e 35 if(device.readable())
Cip 0:10cdeeb1f90e 36 {
Cip 0:10cdeeb1f90e 37
Cip 0:10cdeeb1f90e 38 lcd.cls();
Cip 0:10cdeeb1f90e 39 lcd.locate(0,0);
Cip 0:10cdeeb1f90e 40 Instr = device.getc();
Cip 0:10cdeeb1f90e 41 switch (Instr){
Cip 0:10cdeeb1f90e 42 case 48://viteza motoare
Cip 0:10cdeeb1f90e 43 lcd.cls();
Cip 0:10cdeeb1f90e 44 lcd.locate(3,0);
Cip 0:10cdeeb1f90e 45 lcd.printf("Viteza 0");
Cip 0:10cdeeb1f90e 46 break;
Cip 0:10cdeeb1f90e 47 case 49://viteza motoare
Cip 0:10cdeeb1f90e 48 lcd.cls();
Cip 0:10cdeeb1f90e 49 lcd.locate(3,0);
Cip 0:10cdeeb1f90e 50 lcd.printf("Viteza 1");
Cip 0:10cdeeb1f90e 51 S=0.005;
Cip 0:10cdeeb1f90e 52 D=0.005;
Cip 0:10cdeeb1f90e 53 break;
Cip 0:10cdeeb1f90e 54 case 50://viteza motoare
Cip 0:10cdeeb1f90e 55 lcd.cls();
Cip 0:10cdeeb1f90e 56 lcd.locate(3,0);
Cip 0:10cdeeb1f90e 57 lcd.printf("Viteza 2");
Cip 0:10cdeeb1f90e 58 S=0.006;
Cip 0:10cdeeb1f90e 59 D=0.006;
Cip 0:10cdeeb1f90e 60 break;
Cip 0:10cdeeb1f90e 61 case 51://viteza motoare
Cip 0:10cdeeb1f90e 62 lcd.cls();
Cip 0:10cdeeb1f90e 63 lcd.locate(3,0);
Cip 0:10cdeeb1f90e 64 lcd.printf("Viteza 3");
Cip 0:10cdeeb1f90e 65 S=0.008;
Cip 0:10cdeeb1f90e 66 D=0.008;
Cip 0:10cdeeb1f90e 67 break;
Cip 0:10cdeeb1f90e 68 case 52://viteza motoare
Cip 0:10cdeeb1f90e 69 lcd.cls();
Cip 0:10cdeeb1f90e 70 lcd.locate(3,0);
Cip 0:10cdeeb1f90e 71 lcd.printf("Viteza 4");
Cip 0:10cdeeb1f90e 72 S=0.010;
Cip 0:10cdeeb1f90e 73 D=0.010;
Cip 0:10cdeeb1f90e 74 break;
Cip 0:10cdeeb1f90e 75 case 53://viteza motoare
Cip 0:10cdeeb1f90e 76 lcd.cls();
Cip 0:10cdeeb1f90e 77 lcd.locate(3,0);
Cip 0:10cdeeb1f90e 78 lcd.printf("Viteza 5");
Cip 0:10cdeeb1f90e 79 S=0.012;
Cip 0:10cdeeb1f90e 80 D=0.012;
Cip 0:10cdeeb1f90e 81 break;
Cip 0:10cdeeb1f90e 82 case 54://viteza motoare
Cip 0:10cdeeb1f90e 83 lcd.cls();
Cip 0:10cdeeb1f90e 84 lcd.locate(3,0);
Cip 0:10cdeeb1f90e 85 lcd.printf("Viteza 6");
Cip 0:10cdeeb1f90e 86 S=0.014;
Cip 0:10cdeeb1f90e 87 D=0.014;
Cip 0:10cdeeb1f90e 88 break;
Cip 0:10cdeeb1f90e 89 case 55://viteza motoare
Cip 0:10cdeeb1f90e 90 lcd.cls();
Cip 0:10cdeeb1f90e 91 lcd.locate(3,0);
Cip 0:10cdeeb1f90e 92 lcd.printf("Viteza 7");
Cip 0:10cdeeb1f90e 93 S=0.016;
Cip 0:10cdeeb1f90e 94 D=0.016;
Cip 0:10cdeeb1f90e 95 break;
Cip 0:10cdeeb1f90e 96 case 56://viteza motoare
Cip 0:10cdeeb1f90e 97 lcd.cls();
Cip 0:10cdeeb1f90e 98 lcd.locate(3,0);
Cip 0:10cdeeb1f90e 99 lcd.printf("Viteza 8");
Cip 0:10cdeeb1f90e 100 S=0.018;
Cip 0:10cdeeb1f90e 101 D=0.018;
Cip 0:10cdeeb1f90e 102 break;
Cip 0:10cdeeb1f90e 103 case 57://viteza motoare
Cip 0:10cdeeb1f90e 104 lcd.cls();
Cip 0:10cdeeb1f90e 105 lcd.locate(3,0);
Cip 0:10cdeeb1f90e 106 lcd.printf("Viteza 9");
Cip 0:10cdeeb1f90e 107 S=0.019;
Cip 0:10cdeeb1f90e 108 D=0.019;
Cip 0:10cdeeb1f90e 109 break;
Cip 0:10cdeeb1f90e 110 case 87: //faruri fata ON
Cip 0:10cdeeb1f90e 111 Fata1=1;
Cip 0:10cdeeb1f90e 112 Fata2=1;
Cip 0:10cdeeb1f90e 113 break;
Cip 0:10cdeeb1f90e 114 case 119://faruri fata OFF
Cip 0:10cdeeb1f90e 115 Fata1=0;
Cip 0:10cdeeb1f90e 116 Fata2=0;
Cip 0:10cdeeb1f90e 117 case 83://Stop
Cip 0:10cdeeb1f90e 118 setare_PWM_motoare(0,0);
Cip 0:10cdeeb1f90e 119 lcd.cls();
Cip 0:10cdeeb1f90e 120 lcd.locate(5,0);
Cip 0:10cdeeb1f90e 121 lcd.printf("Stop");
Cip 0:10cdeeb1f90e 122 SemnalizareStanga=0;
Cip 0:10cdeeb1f90e 123 SemnalizareDreapta=0;
Cip 0:10cdeeb1f90e 124 Spate=1;
Cip 0:10cdeeb1f90e 125 wait(0.02);
Cip 0:10cdeeb1f90e 126 Spate=0;
Cip 0:10cdeeb1f90e 127 break;
Cip 0:10cdeeb1f90e 128 case 70://inainte
Cip 0:10cdeeb1f90e 129 lcd.cls();
Cip 0:10cdeeb1f90e 130 lcd.locate(5,0);
Cip 0:10cdeeb1f90e 131 lcd.printf("Inainte");
Cip 0:10cdeeb1f90e 132 in1=0;
Cip 0:10cdeeb1f90e 133 in2=1;
Cip 0:10cdeeb1f90e 134 in3=1;
Cip 0:10cdeeb1f90e 135 in4=0;
Cip 0:10cdeeb1f90e 136 setare_PWM_motoare(S,D);
Cip 0:10cdeeb1f90e 137 Spate=0;
Cip 0:10cdeeb1f90e 138 SemnalizareStanga=0;
Cip 0:10cdeeb1f90e 139 SemnalizareDreapta=0;
Cip 0:10cdeeb1f90e 140 break;
Cip 0:10cdeeb1f90e 141 case 66://inapoi
Cip 0:10cdeeb1f90e 142 lcd.cls();
Cip 0:10cdeeb1f90e 143 lcd.locate(5,0);
Cip 0:10cdeeb1f90e 144 lcd.printf("Inapoi");
Cip 0:10cdeeb1f90e 145 in1=1;
Cip 0:10cdeeb1f90e 146 in2=0;
Cip 0:10cdeeb1f90e 147 in3=0;
Cip 0:10cdeeb1f90e 148 in4=1;
Cip 0:10cdeeb1f90e 149 setare_PWM_motoare(S,D);
Cip 0:10cdeeb1f90e 150 Spate=1;
Cip 0:10cdeeb1f90e 151 SemnalizareStanga=0;
Cip 0:10cdeeb1f90e 152 SemnalizareDreapta=0;
Cip 0:10cdeeb1f90e 153 break;
Cip 0:10cdeeb1f90e 154 case 82://viraj dreapta
Cip 0:10cdeeb1f90e 155 lcd.cls();
Cip 0:10cdeeb1f90e 156 lcd.locate(5,0);
Cip 0:10cdeeb1f90e 157 lcd.printf("Dreapta");
Cip 0:10cdeeb1f90e 158 setare_PWM_motoare(S,0);
Cip 0:10cdeeb1f90e 159 SemnalizareStanga=0;
Cip 0:10cdeeb1f90e 160 SemnalizareDreapta=1;
Cip 0:10cdeeb1f90e 161 wait(0.04);
Cip 0:10cdeeb1f90e 162 SemnalizareDreapta=0;
Cip 0:10cdeeb1f90e 163 break;
Cip 0:10cdeeb1f90e 164 case 76://viraj stanga
Cip 0:10cdeeb1f90e 165 lcd.cls();
Cip 0:10cdeeb1f90e 166 lcd.locate(5,0);
Cip 0:10cdeeb1f90e 167 lcd.printf("Stanga");
Cip 0:10cdeeb1f90e 168 setare_PWM_motoare(0,D);
Cip 0:10cdeeb1f90e 169 SemnalizareStanga=1;
Cip 0:10cdeeb1f90e 170 SemnalizareDreapta=0;
Cip 0:10cdeeb1f90e 171 wait(0.04);
Cip 0:10cdeeb1f90e 172 SemnalizareStanga=0;
Cip 0:10cdeeb1f90e 173 break;
Cip 0:10cdeeb1f90e 174 case 73://inainte->dreapta
Cip 0:10cdeeb1f90e 175 lcd.cls();
Cip 0:10cdeeb1f90e 176 lcd.locate(5,0);
Cip 0:10cdeeb1f90e 177 lcd.printf("Inainte");
Cip 0:10cdeeb1f90e 178 lcd.locate(5,1);
Cip 0:10cdeeb1f90e 179 lcd.printf("Dreapta");
Cip 0:10cdeeb1f90e 180 in1=0;
Cip 0:10cdeeb1f90e 181 in2=1;
Cip 0:10cdeeb1f90e 182 in3=1;
Cip 0:10cdeeb1f90e 183 in4=0;
Cip 0:10cdeeb1f90e 184 setare_PWM_motoare(S,D-0.005);
Cip 0:10cdeeb1f90e 185 SemnalizareStanga=0;
Cip 0:10cdeeb1f90e 186 SemnalizareDreapta=1;
Cip 0:10cdeeb1f90e 187 wait(0.04);
Cip 0:10cdeeb1f90e 188 SemnalizareDreapta=0;
Cip 0:10cdeeb1f90e 189 break;
Cip 0:10cdeeb1f90e 190 case 71://inainte->stanga
Cip 0:10cdeeb1f90e 191 lcd.cls();
Cip 0:10cdeeb1f90e 192 lcd.locate(5,0);
Cip 0:10cdeeb1f90e 193 lcd.printf("Inainte");
Cip 0:10cdeeb1f90e 194 lcd.locate(5,1);
Cip 0:10cdeeb1f90e 195 lcd.printf("Stanga");
Cip 0:10cdeeb1f90e 196 in1=0;
Cip 0:10cdeeb1f90e 197 in2=1;
Cip 0:10cdeeb1f90e 198 in3=1;
Cip 0:10cdeeb1f90e 199 in4=0;
Cip 0:10cdeeb1f90e 200 setare_PWM_motoare(S-0.005,D);
Cip 0:10cdeeb1f90e 201 SemnalizareStanga=1;
Cip 0:10cdeeb1f90e 202 SemnalizareDreapta=0;
Cip 0:10cdeeb1f90e 203 wait(0.04);
Cip 0:10cdeeb1f90e 204 SemnalizareStanga=0;
Cip 0:10cdeeb1f90e 205 break;
Cip 0:10cdeeb1f90e 206 case 72://inapoi->stanga
Cip 0:10cdeeb1f90e 207 lcd.cls();
Cip 0:10cdeeb1f90e 208 lcd.locate(5,0);
Cip 0:10cdeeb1f90e 209 lcd.printf("Inapoi");
Cip 0:10cdeeb1f90e 210 lcd.locate(5,1);
Cip 0:10cdeeb1f90e 211 lcd.printf("Stanga");
Cip 0:10cdeeb1f90e 212 in1=1;
Cip 0:10cdeeb1f90e 213 in2=0;
Cip 0:10cdeeb1f90e 214 in3=0;
Cip 0:10cdeeb1f90e 215 in4=1;
Cip 0:10cdeeb1f90e 216 setare_PWM_motoare(S-0.005,D);
Cip 0:10cdeeb1f90e 217 SemnalizareStanga=1;
Cip 0:10cdeeb1f90e 218 SemnalizareDreapta=0;
Cip 0:10cdeeb1f90e 219 wait(0.04);
Cip 0:10cdeeb1f90e 220 SemnalizareStanga=0;
Cip 0:10cdeeb1f90e 221 break;
Cip 0:10cdeeb1f90e 222 case 74://inapoi->dreapta
Cip 0:10cdeeb1f90e 223 lcd.cls();
Cip 0:10cdeeb1f90e 224 lcd.locate(5,0);
Cip 0:10cdeeb1f90e 225 lcd.printf("Inapoi");
Cip 0:10cdeeb1f90e 226 lcd.locate(5,1);
Cip 0:10cdeeb1f90e 227 lcd.printf("Dreapta");
Cip 0:10cdeeb1f90e 228 in1=1;
Cip 0:10cdeeb1f90e 229 in2=0;
Cip 0:10cdeeb1f90e 230 in3=0;
Cip 0:10cdeeb1f90e 231 in4=1;
Cip 0:10cdeeb1f90e 232 setare_PWM_motoare(S,D-0.005);
Cip 0:10cdeeb1f90e 233 SemnalizareStanga=0;
Cip 0:10cdeeb1f90e 234 SemnalizareDreapta=1;
Cip 0:10cdeeb1f90e 235 wait(0.04);
Cip 0:10cdeeb1f90e 236 SemnalizareDreapta=0;
Cip 0:10cdeeb1f90e 237 break;
Cip 0:10cdeeb1f90e 238 }
Cip 0:10cdeeb1f90e 239 }
Cip 0:10cdeeb1f90e 240 }
Cip 0:10cdeeb1f90e 241 }