Javier Negrette
/
tarea_miercoles
egrfgfrgg
Embed:
(wiki syntax)
Show/hide line numbers
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 }
Generated on Wed Jul 20 2022 02:03:29 by 1.7.2