Tot

Dependencies:   HCSR04 TextLCD mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "TextLCD.h"
00003 #include "hcsr04.h"
00004 
00005 PwmOut dreapta(PTA4);
00006 PwmOut stanga(PTD3);
00007 DigitalOut in1(PTA5);
00008 DigitalOut in2(PTC8);
00009 DigitalOut in3(PTD0);
00010 DigitalOut in4(PTD2);
00011 TextLCD lcd(PTE21,PTE20,PTB0,PTB1,PTB2,PTB3);
00012 Serial device(PTE22, PTE23);
00013 DigitalOut Spate(PTC2);
00014 DigitalOut Fata1(PTC1);
00015 DigitalOut Fata2(PTA1);
00016 DigitalOut SemnalizareStanga(PTD1);
00017 DigitalOut SemnalizareDreapta(PTA2);
00018 
00019 void setare_PWM_motoare(double Stanga,double Dreapta)
00020 {
00021     stanga.period(0.020); 
00022     dreapta.period(0.020); 
00023     stanga.pulsewidth(Stanga);
00024     dreapta.pulsewidth(Dreapta);
00025 }
00026 
00027 int main() {
00028     double S,D;
00029     char Instr;
00030     device.baud(9600);
00031          
00032     while(1)
00033     {
00034     
00035         if(device.readable())
00036         {
00037         
00038             lcd.cls();
00039             lcd.locate(0,0);
00040             Instr = device.getc();
00041             switch (Instr){
00042                 case 48://viteza motoare
00043                     lcd.cls();
00044                     lcd.locate(3,0);
00045                     lcd.printf("Viteza 0");
00046                     break;
00047                 case 49://viteza motoare
00048                     lcd.cls();
00049                     lcd.locate(3,0);
00050                     lcd.printf("Viteza 1");
00051                     S=0.005;
00052                     D=0.005;
00053                     break;
00054                 case 50://viteza motoare
00055                     lcd.cls();
00056                     lcd.locate(3,0);
00057                     lcd.printf("Viteza 2");
00058                     S=0.006;
00059                     D=0.006;
00060                     break;
00061                 case 51://viteza motoare
00062                     lcd.cls();
00063                     lcd.locate(3,0);
00064                     lcd.printf("Viteza 3");
00065                     S=0.008;
00066                     D=0.008;
00067                     break;
00068                 case 52://viteza motoare
00069                     lcd.cls();
00070                     lcd.locate(3,0);
00071                     lcd.printf("Viteza 4");
00072                     S=0.010;
00073                     D=0.010;
00074                     break;
00075                 case 53://viteza motoare
00076                     lcd.cls();
00077                     lcd.locate(3,0);
00078                     lcd.printf("Viteza 5");
00079                     S=0.012;
00080                     D=0.012;
00081                     break;
00082                 case 54://viteza motoare
00083                     lcd.cls();
00084                     lcd.locate(3,0);
00085                     lcd.printf("Viteza 6");
00086                     S=0.014;
00087                     D=0.014;
00088                     break;
00089                 case 55://viteza motoare
00090                     lcd.cls();
00091                     lcd.locate(3,0);
00092                     lcd.printf("Viteza 7");
00093                     S=0.016;
00094                     D=0.016;
00095                     break;
00096                 case 56://viteza motoare
00097                     lcd.cls();
00098                     lcd.locate(3,0);
00099                     lcd.printf("Viteza 8");
00100                     S=0.018;
00101                     D=0.018;
00102                     break;
00103                 case 57://viteza motoare
00104                     lcd.cls();
00105                     lcd.locate(3,0);
00106                     lcd.printf("Viteza 9");
00107                     S=0.019;
00108                     D=0.019;
00109                     break; 
00110                 case 87: //faruri fata ON
00111                     Fata1=1;
00112                     Fata2=1;
00113                     break;
00114                 case 119://faruri fata OFF
00115                     Fata1=0;
00116                     Fata2=0;
00117                 case 83://Stop
00118                     setare_PWM_motoare(0,0);
00119                     lcd.cls();
00120                     lcd.locate(5,0);
00121                     lcd.printf("Stop");
00122                     SemnalizareStanga=0;
00123                     SemnalizareDreapta=0;
00124                     Spate=1;
00125                     wait(0.02);
00126                     Spate=0;
00127                     break;
00128                 case 70://inainte
00129                     lcd.cls();
00130                     lcd.locate(5,0);
00131                     lcd.printf("Inainte");
00132                     in1=0;
00133                     in2=1;
00134                     in3=1;
00135                     in4=0;
00136                     setare_PWM_motoare(S,D);
00137                     Spate=0;
00138                     SemnalizareStanga=0;
00139                     SemnalizareDreapta=0;
00140                 break;
00141                 case 66://inapoi
00142                     lcd.cls();
00143                     lcd.locate(5,0);
00144                     lcd.printf("Inapoi");
00145                     in1=1;
00146                     in2=0;
00147                     in3=0;
00148                     in4=1;
00149                     setare_PWM_motoare(S,D);
00150                     Spate=1;
00151                     SemnalizareStanga=0;
00152                     SemnalizareDreapta=0;
00153                 break;
00154                 case 82://viraj dreapta
00155                     lcd.cls();
00156                     lcd.locate(5,0);
00157                     lcd.printf("Dreapta");
00158                     setare_PWM_motoare(S,0);
00159                     SemnalizareStanga=0;
00160                     SemnalizareDreapta=1;
00161                     wait(0.04);
00162                     SemnalizareDreapta=0;
00163                 break;
00164                 case 76://viraj stanga
00165                     lcd.cls();
00166                     lcd.locate(5,0);
00167                     lcd.printf("Stanga");
00168                     setare_PWM_motoare(0,D);
00169                     SemnalizareStanga=1;
00170                     SemnalizareDreapta=0;
00171                     wait(0.04);
00172                     SemnalizareStanga=0;
00173                 break;
00174                 case 73://inainte->dreapta
00175                     lcd.cls();
00176                     lcd.locate(5,0);
00177                     lcd.printf("Inainte");
00178                     lcd.locate(5,1);
00179                     lcd.printf("Dreapta");
00180                     in1=0;
00181                     in2=1;
00182                     in3=1;
00183                     in4=0;
00184                     setare_PWM_motoare(S,D-0.005);
00185                     SemnalizareStanga=0;
00186                     SemnalizareDreapta=1;
00187                     wait(0.04);
00188                     SemnalizareDreapta=0;
00189                 break;
00190                 case 71://inainte->stanga
00191                     lcd.cls();
00192                     lcd.locate(5,0);
00193                     lcd.printf("Inainte");
00194                     lcd.locate(5,1);
00195                     lcd.printf("Stanga");
00196                     in1=0;
00197                     in2=1;
00198                     in3=1;
00199                     in4=0;
00200                     setare_PWM_motoare(S-0.005,D);
00201                     SemnalizareStanga=1;
00202                     SemnalizareDreapta=0;
00203                     wait(0.04);
00204                     SemnalizareStanga=0;
00205                 break;
00206                 case 72://inapoi->stanga
00207                     lcd.cls();
00208                     lcd.locate(5,0);
00209                     lcd.printf("Inapoi");
00210                     lcd.locate(5,1);
00211                     lcd.printf("Stanga");
00212                     in1=1;
00213                     in2=0;
00214                     in3=0;
00215                     in4=1;
00216                     setare_PWM_motoare(S-0.005,D);
00217                     SemnalizareStanga=1;
00218                     SemnalizareDreapta=0;
00219                     wait(0.04);
00220                     SemnalizareStanga=0;
00221                 break;
00222                 case 74://inapoi->dreapta
00223                     lcd.cls();
00224                     lcd.locate(5,0);
00225                     lcd.printf("Inapoi");
00226                     lcd.locate(5,1);
00227                     lcd.printf("Dreapta");
00228                     in1=1;
00229                     in2=0;
00230                     in3=0;
00231                     in4=1;
00232                     setare_PWM_motoare(S,D-0.005);
00233                     SemnalizareStanga=0;
00234                     SemnalizareDreapta=1;
00235                     wait(0.04);
00236                     SemnalizareDreapta=0;
00237                 break;
00238             }
00239         }
00240     }
00241 }