egrfgfrgg

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "DebouncedIn.h"
00003 #include "TextLCD.h"
00004 
00005 AnalogIn Vin(PTC2);
00006 TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); // rs, e, d4-d7
00007 
00008 DigitalOut led1(LED1);
00009 DigitalOut led2(LED2);
00010 DigitalOut led3(LED3);
00011 DebouncedIn button1(PTC12);
00012 DebouncedIn button2(PTC13);
00013 DebouncedIn button3(PTC16);
00014 DebouncedIn button4(PTC17);
00015 
00016       //codigos movimiento del curzor
00017       //18 para izquierda
00018       //1A para derecha
00019 
00020 int C1=0x0E; // solo muestra el curzor
00021 int C2=0x18; // desplaza izquierda
00022 int C3=0x1A; // desplaza derecha
00023 int C4=0x0C; // quito cursor bajo
00024 
00025 int i; // indice de la variable
00026 int j; //variable controla cambio 4 posiciones
00027 int kp, ki, kd, sp; 
00028 
00029 int main() {
00030     lcd.writeCommand(C1);//escribimos un comando segun el manual del modulo LCD
00031     lcd.cls();
00032     lcd.locate(0,0);
00033     lcd.printf("Sp%d",sp);//primero print y luego locate?? o al contrario??
00034     lcd.locate(8,0);
00035     lcd.printf("Kp%d",kp);
00036     lcd.locate(0,1);
00037     lcd.printf("Ki%d",ki);
00038     lcd.locate(8,1);
00039     lcd.printf("Kd%d",kd);
00040   
00041         
00042     while(1) {
00043               led3 =1;
00044            if (button3.falling()) {
00045               led3 =!led3;              
00046                ++j;
00047                }                                     //INCREMENTA POSICION DEL MENU CON BOTON 3
00048            if (j==0){
00049                lcd.locate(2,0);
00050                lcd.printf("%d",sp);
00051                wait(0.5);
00052                   led1 =1;
00053                   if (button1.falling()) { 
00054                   led1 =!led1;                           
00055                   ++sp; // ademas revisa boton 1 para incrementar
00056                                          }
00057                    led2 =1;
00058                   if (button2.falling()) {  
00059                   led2 =!led2;                          
00060                   --sp; // ademas revisa boton 2 para decrementar
00061                                          } 
00062                        if (sp>9999){
00063                        sp=9999;
00064                                 } 
00065                                          
00066                        if (sp<0){
00067                        sp=0;
00068                                 }   
00069                  if (button4.falling()){
00070                     sp=0;
00071                     kp=0;
00072                     ki=0;
00073                     kd=0;
00074                                        }               
00075               }
00076            if (j==1) {
00077                lcd.locate(10,0);
00078                lcd.printf("%d",kp);
00079                wait(0.5);
00080                   led1 =1;
00081                   if (button1.falling()) {
00082                   led1 =!led1;
00083                   ++kp;
00084                                          }
00085                   led2 =1;
00086                   if (button2.falling()) {  
00087                   led2 =!led2;                          
00088                   --kp;
00089                                          }
00090                  if (kp>9999){
00091                        kp=9999;
00092                        lcd.locate(10,0);
00093                        lcd.printf("%d",kp);
00094                                 } 
00095                                          
00096                        if (kp<0){
00097                        kp=0;
00098                        lcd.locate(10,0);
00099                        lcd.printf("%d",kp);
00100                                 }   
00101                  if (button4.falling()){
00102                     sp=0;
00103                     kp=0;
00104                     ki=0;
00105                     kd=0;
00106                     lcd.locate(10,1);
00107                     lcd.printf("%d",kd);
00108                     lcd.locate(2,1);
00109                     lcd.printf("%d",ki);
00110                     lcd.locate(10,0);
00111                     lcd.printf("%d",kp);
00112                     lcd.locate(2,0);
00113                     lcd.printf("%d",sp);
00114                                        }  
00115               }
00116            if (j==2) {
00117                lcd.locate(2,1);
00118                lcd.printf("%d",ki);
00119                wait(0.5);
00120                   led1 =1;
00121                   if (button1.falling()){
00122                   led1 =!led1;
00123                   ++ki;
00124                                         }
00125                   led2 =1;
00126                   if (button2.falling()){  
00127                   led2 =!led2;                          
00128                   --ki;
00129                                         }   
00130                        if (ki>9999){
00131                        ki=9999;
00132                        lcd.locate(2,1);
00133                        lcd.printf("%d",ki);
00134                                    } 
00135                                          
00136                        if (ki<0){
00137                        ki=0;
00138                        lcd.locate(2,1);
00139                        lcd.printf("%d",ki);
00140                                 }   
00141                  if (button4.falling()){
00142                     sp=0;
00143                     kp=0;
00144                     ki=0;
00145                     kd=0;
00146                     lcd.locate(10,1);
00147                     lcd.printf("%d",kd);
00148                     lcd.locate(2,1);
00149                     lcd.printf("%d",ki);
00150                     lcd.locate(10,0);
00151                     lcd.printf("%d",kp);
00152                     lcd.locate(2,0);
00153                     lcd.printf("%d",sp);
00154                                        } 
00155                               
00156               }
00157            if (j==3) {
00158                lcd.locate(10,1);
00159                lcd.printf("%d",kd);
00160                wait(0.5);
00161                   led1 =1;
00162                   if (button1.falling()){
00163                   led1 =!led1;
00164                   ++kd;
00165                   }
00166                   led2 =1;
00167                   if (button2.falling()){
00168                   led2 =!led2;                            
00169                   --kd;
00170                   }
00171                   if (kd>9999){
00172                        kd=9999;
00173                        lcd.locate(10,1);
00174                        lcd.printf("%d",kd);
00175                                    } 
00176                                          
00177                        if (kd<0){
00178                        kd=0;
00179                        lcd.locate(10,1);
00180                        lcd.printf("%d",kd);
00181                                 }   
00182                  if (button4.falling()){
00183                     sp=0;
00184                     kp=0;
00185                     ki=0;
00186                     kd=0;
00187                     lcd.locate(10,1);
00188                     lcd.printf("%d",kd);
00189                     lcd.locate(2,1);
00190                     lcd.printf("%d",ki);
00191                     lcd.locate(10,0);
00192                     lcd.printf("%d",kp);
00193                     lcd.locate(2,0);
00194                     lcd.printf("%d",sp);
00195                                        } 
00196                   
00197               } 
00198            if (j==4) {
00199                j=0;
00200                }                          
00201     
00202            
00203                         
00204                                         }
00205         }