Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
41prueba.cpp
00001 /*Proponga un programa que inicie con el mensaje “Contraseña” y obtenga 3 dígitos de contraseña 00002 mediante el teclado, visualizando en un LCD uno a uno de los caracteres, al obtener los tres dígitos 00003 visualizar la contraseña y esperar un segundo para mostrar el mensaje “acceso” recorriéndolo a la 00004 derecha y activar un actuador(relevador ó motor CD) durante2 segundo, el caso de ser incorrecto 00005 que aparezca “denegado” recorriendo el texto a la derecha durante 2 segundos, al finalizar que 00006 aparezca el texto “Contraseña” 00007 */ 00008 #include "mbed.h" 00009 #include "TextLCD.h" 00010 00011 BusOut r(D8,D9,D10,D11); 00012 BusIn c(D12,D13,D14,D15); 00013 DigitalOut motor(D7); 00014 TextLCD lcd(D2,D3,A2,A3,A4,A5); // rs, e, d4-d7 00015 00016 int main() { 00017 while(1){ 00018 lcd.cls(); 00019 int c1='0';int c2='6';int c3='9'; 00020 int T1='0'; 00021 int T2='0'; 00022 int T3='0'; 00023 int val=1; 00024 val=1; 00025 while(val){ 00026 lcd.printf("Contrasena\n");wait(0.1);lcd.cls(); 00027 for (int i=0; i<4;i++){ 00028 r=1<<i; 00029 switch(c){//switch 1 00030 case 0x01: 00031 switch(r){ 00032 case 0x01: 00033 T1='1';lcd.printf("1\n");wait(0.5);lcd.cls();val=0;break;//1 00034 case 0x02: 00035 T1='4';lcd.printf("4\n");wait(0.5);lcd.cls();val=0;break;//4 00036 case 0x04: 00037 T1='7';lcd.printf("7\n");wait(0.5);lcd.cls();val=0;break;//7 00038 case 0x08: 00039 wait(0.1);break; //asterisco 00040 } 00041 break; 00042 case 0x02: 00043 switch(r){ 00044 case 0x01: 00045 T1='2';lcd.printf("2\n");wait(0.5);lcd.cls();val=0;break;//2 00046 case 0x02: 00047 T1='5';lcd.printf("5\n");wait(0.5);lcd.cls();val=0;break;//5 00048 case 0x04: 00049 T1='8';lcd.printf("8\n");wait(0.5);lcd.cls();val=0;break;//8 00050 case 0x08: 00051 T1='0';lcd.printf("0\n");wait(0.5);lcd.cls();val=0;break; //0 00052 } 00053 break; 00054 case 0x04: 00055 switch(r){ 00056 case 0x01: 00057 T1='3';lcd.printf("3\n");wait(0.5);lcd.cls();val=0;break;//3 00058 case 0x02: 00059 T1='6';lcd.printf("6\n");wait(0.5);lcd.cls();val=0;break;//6 00060 case 0x04: 00061 T1='9';lcd.printf("9\n");wait(0.5);lcd.cls();val=0;break;//9 00062 case 0x08: 00063 wait(0.1);break; //# 00064 } 00065 break; 00066 case 0x08: 00067 switch(r){ 00068 case 0x01: 00069 wait(0.1);break;//A 00070 case 0x02: 00071 wait(0.1);break;//B 00072 case 0x04: 00073 wait(0.1);break;//C 00074 case 0x08: 00075 wait(0.1);break; //D 00076 } //end switch2 00077 break; 00078 default: 00079 wait(0.001); 00080 break; 00081 }//end switch1 00082 }//end for 00083 }//end while val 00084 00085 int val2=1; 00086 val2=1; 00087 while(val2){ 00088 for (int i=0; i<4;i++){ 00089 r=1<<i; 00090 switch(c){//switch 1 00091 case 0x01: 00092 switch(r){ 00093 case 0x01: 00094 T2='1';lcd.printf("1\n");wait(0.5);lcd.cls();val2=0;break;//1 00095 case 0x02: 00096 T2='4';lcd.printf("4\n");wait(0.5);lcd.cls();val2=0;break;//4 00097 case 0x04: 00098 T2='7';lcd.printf("7\n");wait(0.5);lcd.cls();val2=0;break;//7 00099 case 0x08: 00100 wait(0.1);break; //asterisco 00101 } 00102 break; 00103 case 0x02: 00104 switch(r){ 00105 case 0x01: 00106 T2='2';lcd.printf("2\n");wait(0.5);lcd.cls();val2=0;break;//2 00107 case 0x02: 00108 T2='5';lcd.printf("5\n");wait(0.5);lcd.cls();val2=0;break;//5 00109 case 0x04: 00110 T2='8';lcd.printf("8\n");wait(0.5);lcd.cls();val2=0;break;//8 00111 case 0x08: 00112 T2='0';lcd.printf("0\n");wait(0.5);lcd.cls();val2=0;break; //0 00113 } 00114 break; 00115 case 0x04: 00116 switch(r){ 00117 case 0x01: 00118 T2='3';lcd.printf("3\n");wait(0.5);lcd.cls();val2=0;break;//3 00119 case 0x02: 00120 T2='6';lcd.printf("6\n");wait(0.5);lcd.cls();val2=0;break;//6 00121 case 0x04: 00122 T2='9';lcd.printf("9\n");wait(0.5);lcd.cls();val2=0;break;//9 00123 case 0x08: 00124 wait(0.1);break; //# 00125 } 00126 break; 00127 case 0x08: 00128 switch(r){ 00129 case 0x01: 00130 wait(0.1);break;//A 00131 case 0x02: 00132 wait(0.1);break;//B 00133 case 0x04: 00134 wait(0.1);break;//C 00135 case 0x08: 00136 wait(0.1);break; //D 00137 } //end switch2 00138 break; 00139 default: 00140 wait(0.001); 00141 break; 00142 }//end switch1 00143 }//end for 00144 }//end while val 2 00145 00146 int val3=1; 00147 val3=1; 00148 while(val3){ 00149 for (int i=0; i<4;i++){ 00150 r=1<<i; 00151 switch(c){//switch 1 00152 case 0x01: 00153 switch(r){ 00154 case 0x01: 00155 T3='1';lcd.printf("1\n");wait(0.5);lcd.cls();val3=0;break;//1 00156 case 0x02: 00157 T3='4';lcd.printf("4\n");wait(0.5);lcd.cls();val3=0;break;//4 00158 case 0x04: 00159 T3='7';lcd.printf("7\n");wait(0.5);lcd.cls();val3=0;break;//7 00160 case 0x08: 00161 wait(0.1);break; //asterisco 00162 } 00163 break; 00164 case 0x02: 00165 switch(r){ 00166 case 0x01: 00167 T3='2';lcd.printf("2\n");wait(0.5);lcd.cls();val3=0;break;//2 00168 case 0x02: 00169 T3='5';lcd.printf("5\n");wait(0.5);lcd.cls();val3=0;break;//5 00170 case 0x04: 00171 T3='8';lcd.printf("8\n");wait(0.5);lcd.cls();val3=0;break;//8 00172 case 0x08: 00173 T3='0';lcd.printf("0\n");wait(0.5);lcd.cls();val3=0;break; //0 00174 } 00175 break; 00176 case 0x04: 00177 switch(r){ 00178 case 0x01: 00179 T3='3';lcd.printf("3\n");wait(0.5);lcd.cls();val3=0;break;//3 00180 case 0x02: 00181 T3='6';lcd.printf("6\n");wait(0.5);lcd.cls();val3=0;break;//6 00182 case 0x04: 00183 T3='9';lcd.printf("9\n");wait(0.5);lcd.cls();val3=0;break;//9 00184 case 0x08: 00185 wait(0.1);break; //# 00186 } 00187 break; 00188 case 0x08: 00189 switch(r){ 00190 case 0x01: 00191 wait(0.1);break;//A 00192 case 0x02: 00193 wait(0.1);break;//B 00194 case 0x04: 00195 wait(0.1);break;//C 00196 case 0x08: 00197 wait(0.1);break; //D 00198 } //end switch2 00199 break; 00200 default: 00201 wait(0.001); 00202 break; 00203 }//end switch1 00204 }//end for 00205 }//end while val 3 00206 00207 for(int k=0;k<5;k++){ //adorno 00208 lcd.printf("*******\n");wait(0.2);lcd.cls(); 00209 lcd.printf(" \n");wait(0.2);lcd.cls(); 00210 } 00211 00212 lcd.printf(" %c %c %c\n", T1, T2, T3);wait(1);lcd.cls(); //mostrando contraseña 00213 00214 //int c1=contra[0];int c2=contra[1];int c3=contra[2]; 00215 if(T1==c1 && T2==c2 && T3==c3){ 00216 lcd.printf("O\n");wait(0.2);lcd.cls(); 00217 lcd.printf(" \n");wait(0.001);lcd.cls(); 00218 lcd.printf("SO\n");wait(0.2);lcd.cls(); 00219 lcd.printf(" \n");wait(0.001);lcd.cls(); 00220 lcd.printf("ESO\n");wait(0.2);lcd.cls(); 00221 lcd.printf(" \n");wait(0.001);lcd.cls(); 00222 lcd.printf("CESO\n");wait(0.2);lcd.cls(); 00223 lcd.printf(" \n");wait(0.001);lcd.cls(); 00224 lcd.printf("CCESO\n");wait(0.2);lcd.cls(); 00225 lcd.printf(" \n");wait(0.001);lcd.cls(); 00226 lcd.printf("ACCESO\n");wait(0.2);lcd.cls(); 00227 lcd.printf(" \n");wait(0.001);lcd.cls(); 00228 lcd.printf(" ACCESO\n");wait(0.2);lcd.cls(); 00229 lcd.printf(" \n");wait(0.001);lcd.cls(); 00230 lcd.printf(" ACCESO\n");wait(0.2);lcd.cls(); 00231 lcd.printf(" \n");wait(0.001);lcd.cls(); 00232 lcd.printf(" ACCESO\n");wait(0.2);lcd.cls(); 00233 lcd.printf(" \n");wait(0.001);lcd.cls(); 00234 lcd.printf(" ACCESO\n");wait(0.2);lcd.cls(); 00235 lcd.printf(" \n");wait(0.001);lcd.cls(); 00236 lcd.printf(" ACCESO\n");wait(0.2);lcd.cls(); 00237 lcd.printf(" \n");wait(0.001);lcd.cls(); 00238 lcd.printf(" ACCESO\n");wait(0.2);lcd.cls(); 00239 lcd.printf(" \n");wait(0.001);lcd.cls(); 00240 lcd.printf(" ACCESO\n");wait(0.2);lcd.cls(); 00241 lcd.printf(" \n");wait(0.001);lcd.cls(); 00242 lcd.printf(" ACCESO\n");wait(0.2);lcd.cls(); 00243 lcd.printf(" \n");wait(0.001);lcd.cls(); 00244 lcd.printf(" ACCESO\n");wait(0.2);lcd.cls(); 00245 lcd.printf(" \n");wait(0.001);lcd.cls(); 00246 lcd.printf(" ACCESO\n");wait(0.2);lcd.cls(); 00247 lcd.printf(" \n");wait(0.001);lcd.cls(); 00248 lcd.printf(" ACCES\n");wait(0.2);lcd.cls(); 00249 lcd.printf(" \n");wait(0.001);lcd.cls(); 00250 lcd.printf(" ACCE\n");wait(0.2);lcd.cls(); 00251 lcd.printf(" \n");wait(0.001);lcd.cls(); 00252 lcd.printf(" ACC\n");wait(0.2);lcd.cls(); 00253 lcd.printf(" \n");wait(0.001);lcd.cls(); 00254 lcd.printf(" AC\n");wait(0.2);lcd.cls(); 00255 lcd.printf(" \n");wait(0.001);lcd.cls(); 00256 lcd.printf(" A\n");wait(0.2);lcd.cls(); 00257 lcd.printf(" \n");wait(0.001);lcd.cls(); 00258 lcd.printf(" \n");wait(0.2);lcd.cls(); 00259 motor=1; 00260 wait(2); 00261 motor=0; 00262 } 00263 else{ 00264 lcd.printf("O\n");wait(0.2);lcd.cls(); 00265 lcd.printf(" \n");wait(0.001);lcd.cls(); 00266 lcd.printf("DO\n");wait(0.2);lcd.cls(); 00267 lcd.printf(" \n");wait(0.001);lcd.cls(); 00268 lcd.printf("ADO\n");wait(0.2);lcd.cls(); 00269 lcd.printf(" \n");wait(0.001);lcd.cls(); 00270 lcd.printf("GADO\n");wait(0.2);lcd.cls(); 00271 lcd.printf(" \n");wait(0.001);lcd.cls(); 00272 lcd.printf("EGADO\n");wait(0.2);lcd.cls(); 00273 lcd.printf(" \n");wait(0.001);lcd.cls(); 00274 lcd.printf("NEGADO\n");wait(0.2);lcd.cls(); 00275 lcd.printf(" \n");wait(0.001);lcd.cls(); 00276 lcd.printf("ENEGADO\n");wait(0.2);lcd.cls(); 00277 lcd.printf(" \n");wait(0.001);lcd.cls(); 00278 lcd.printf("DENEGADO\n");wait(0.2);lcd.cls(); 00279 lcd.printf(" \n");wait(0.001);lcd.cls(); 00280 lcd.printf(" DENEGADO\n");wait(0.2);lcd.cls(); 00281 lcd.printf(" \n");wait(0.001);lcd.cls(); 00282 lcd.printf(" DENEGADO\n");wait(0.2);lcd.cls(); 00283 lcd.printf(" \n");wait(0.001);lcd.cls(); 00284 lcd.printf(" DENEGADO\n");wait(0.2);lcd.cls(); 00285 lcd.printf(" \n");wait(0.001);lcd.cls(); 00286 lcd.printf(" DENEGADO\n");wait(0.2);lcd.cls(); 00287 lcd.printf(" \n");wait(0.001);lcd.cls(); 00288 lcd.printf(" DENEGADO\n");wait(0.2);lcd.cls(); 00289 lcd.printf(" \n");wait(0.001);lcd.cls(); 00290 lcd.printf(" DENEGADO\n");wait(0.2);lcd.cls(); 00291 lcd.printf(" \n");wait(0.001);lcd.cls(); 00292 lcd.printf(" DENEGADO\n");wait(0.2);lcd.cls(); 00293 lcd.printf(" \n");wait(0.001);lcd.cls(); 00294 lcd.printf(" DENEGADO\n");wait(0.2);lcd.cls(); 00295 lcd.printf(" \n");wait(0.001);lcd.cls(); 00296 lcd.printf(" DENEGAD\n");wait(0.2);lcd.cls(); 00297 lcd.printf(" \n");wait(0.001);lcd.cls(); 00298 lcd.printf(" DENEGA\n");wait(0.2);lcd.cls(); 00299 lcd.printf(" \n");wait(0.001);lcd.cls(); 00300 lcd.printf(" DENEG\n");wait(0.2);lcd.cls(); 00301 lcd.printf(" \n");wait(0.001);lcd.cls(); 00302 lcd.printf(" DENE\n");wait(0.2);lcd.cls(); 00303 lcd.printf(" \n");wait(0.001);lcd.cls(); 00304 lcd.printf(" DEN\n");wait(0.2);lcd.cls(); 00305 lcd.printf(" \n");wait(0.001);lcd.cls(); 00306 lcd.printf(" DE\n");wait(0.2);lcd.cls(); 00307 lcd.printf(" \n");wait(0.001);lcd.cls(); 00308 lcd.printf(" D\n");wait(0.2);lcd.cls(); 00309 lcd.printf(" \n");wait(0.2);lcd.cls(); 00310 NVIC_SystemReset(); 00311 } 00312 00313 } //end while (1) 00314 }//end int
Generated on Tue Jul 12 2022 19:34:18 by
1.7.2