menu-teclado-lcd-sensores de temperatura (y el puerto serie tambien)
Fork of programa principal by
Revision 4:96c3f113f0b0, committed 2015-12-01
- Comitter:
- josedaparte
- Date:
- Tue Dec 01 15:56:26 2015 +0000
- Parent:
- 3:ef1eaeaf5c4e
- Commit message:
- programa principal
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r ef1eaeaf5c4e -r 96c3f113f0b0 main.cpp --- a/main.cpp Tue Dec 01 03:40:15 2015 +0000 +++ b/main.cpp Tue Dec 01 15:56:26 2015 +0000 @@ -27,12 +27,77 @@ int i = 0; int tipobanio = 0; int tempauto=0; -int hora=0, min=0, seg=0; +int hora=0, min=0, seg=0, horain = 8, minin = 0, horafin = 22, minfin = 0, j = 0; int B1,B2,B3,B4,num; int hh1,hh0,mm0,mm1; void menu(); void selec(); +void func(); + +void sethora(){ + if(i == 0) { //set de primer digito hora + if(num > 2){ + lcd.locate(0,0); + lcd.printf("valor invalido"); + wait(.7); + func(); + } + else{ + hh1 = num; + lcd.cls(); + lcd.printf("%dx:xx",hh1); + lcd.locate(0,1); + lcd.printf("%.0fC %.0fC %c ", texterno, tinterno, modo); + wait(.7); + i++;}}else //fin de set 1er digito hora ok + if(i == 1){ + pc.printf("aca ingresaria 2 dig hora\n\r"); //inicio 2do digito hora + if(hh1 == 2 && num > 4){ + lcd.locate(0,0); + lcd.printf("valor invalido"); + wait(.7); + func(); + }else{ + hh0 = num; + lcd.cls(); + lcd.printf("%d%d:xx",hh1,hh0); + lcd.locate(0,1); + lcd.printf("%.0fC %.0fC %c ", texterno, tinterno, modo); + wait(.7); + i++;} + }else //fin 2do digito hora + if(i == 2){ + pc.printf("aca ingresaria 1 dig seg\n\r"); //inicio 1er digito minuto + if(num > 6){ + lcd.locate(0,0); + lcd.printf("valor invalido"); + wait(.7); + func(); + }else{ + mm1 = num; + lcd.cls(); + lcd.printf("%d%d:%dx",hh1,hh0,mm1); + lcd.locate(0,1); + lcd.printf("%.0fC %.0fC %c ", texterno, tinterno, modo); + wait(.7); + i++;} + }else //fin 2do digito minuto + if(i == 3){ + pc.printf("aca ingresaria 2 dig seg\n\r"); //inicio 2do digito minuto + if(mm1 == 6){ + mm0 = 0; + }else{ + mm0 = num; + } + lcd.cls(); + lcd.printf("%d%d:%d%d",hh1,hh0,mm1,mm0); + lcd.locate(0,1); + lcd.printf("%.0fC %.0fC %c ", texterno, tinterno, modo); + i++; + + } //fin 2do digito minuto + } void imprimehora(){ lcd.locate(11,1); if(min < 10 && hora >= 10) @@ -68,79 +133,20 @@ pc.printf("case 0"); break; case 1: //seteo hora - if(i == 0) { //set de primer digito hora - if(num > 2){ - lcd.locate(0,0); - lcd.printf("valor invalido"); - wait(.7); - func(); - } - else{ - hh1 = num; - lcd.cls(); - lcd.printf("%dx:xx",hh1); - lcd.locate(0,1); - lcd.printf("%.0fC %.0fC %c ", texterno, tinterno, modo); - wait(.7); - i++;}}else //fin de set 1er digito hora ok - if(i == 1){ - pc.printf("aca ingresaria 2 dig hora\n\r"); //inicio 2do digito hora - if(hh1 == 2 && num > 4){ - lcd.locate(0,0); - lcd.printf("valor invalido"); - wait(.7); - func(); - }else{ - hh0 = num; - lcd.cls(); - lcd.printf("%d%d:xx",hh1,hh0); - lcd.locate(0,1); - lcd.printf("%.0fC %.0fC %c ", texterno, tinterno, modo); - wait(.7); - i++;} - }else //fin 2do digito hora creo ok - if(i == 2){ - pc.printf("aca ingresaria 1 dig seg\n\r"); //inicio 1er digito minuto - if(num > 6){ - lcd.locate(0,0); - lcd.printf("valor invalido"); - wait(.7); - func(); - }else{ - mm1 = num; - lcd.cls(); - lcd.printf("%d%d:%dx",hh1,hh0,mm1); - lcd.locate(0,1); - lcd.printf("%.0fC %.0fC %c ", texterno, tinterno, modo); - wait(.7); - i++;} - }else //fin 2do digito minuto - if(i == 3){ - pc.printf("aca ingresaria 2 dig seg\n\r"); //inicio 2do digito minuto - if(mm1 == 6){ - mm0 = 0; - }else{ - mm0 = num; - } - lcd.cls(); - lcd.printf("%d%d:%d%d",hh1,hh0,mm1,mm0); - lcd.locate(0,1); - lcd.printf("%.0fC %.0fC %c ", texterno, tinterno, modo); - i++; - - } //fin 2do digito minuto - if(i == 4) { + sethora(); + if(i == 4) { //pasa la hora al reloj hora = (hh1 * 10) + hh0; min = (mm1 * 10) + mm0; + hh0 = hh1 = mm1 = mm0 = 0; t.start(); lcd.locate(0,0); lcd.printf("reloj "); lcd.locate(0,1); lcd.printf("%.0fC %.0fC %c ", texterno, tinterno, modo); i = 0;} - break; + break; //fin pasa hora al reloj case 2: - pc.printf("ingreso temperaturas de auto\n\r"); + pc.printf("ingreso temperaturas de auto\n\r"); //set temperaturas auto if(num == 0 || num == 1 || num == 2) { tempauto = num; lcd.locate(0,0); @@ -162,7 +168,7 @@ lcd.cls(); } break; - case 3: + case 3: //tipo de baño pc.printf("ingreso tipo banio %d\n\r",num); if(num == 0 || num == 1) { tipobanio = num; @@ -184,10 +190,35 @@ lcd.printf("tipo banio "); } break; - case 4: + case 4: //set de horarios pc.printf("case 4\n\r"); + sethora(); + if(i == 4 && j == 0) { //pasa la hora al reloj + horain = (hh1 * 10) + hh0; + minin = (mm1 * 10) + mm0; + hh0 = hh1 = mm1 = mm0 = 0; + lcd.locate(0,0); + lcd.printf("horario "); + lcd.locate(0,1); + lcd.printf("%.0fC %.0fC %c ", texterno, tinterno, modo); + pc.printf("hora de inicio %d:%d\n\r",horain,minin); + pc.printf("hora de fin %d:%d\n\r",horafin,minfin); + i = 0; + j = 1;} + if(i == 4 && j == 1) { //pasa la hora al reloj + horafin = (hh1 * 10) + hh0; + minfin = (mm1 * 10) + mm0; + hh0 = hh1 = mm1 = mm0 = 0; + lcd.locate(0,0); + lcd.printf("horario "); + lcd.locate(0,1); + lcd.printf("%.0fC %.0fC %c ", texterno, tinterno, modo); + pc.printf("hora de inicio %d:%d\n\r",horain,minin); + pc.printf("hora de fin %d:%d\n\r",horafin,minfin); + i = 0; + j = 0;} break; - case 5: + case 5: //set temperatura manual if(i == 0) { pdig = num; pc.printf("%.1d\n\r", pdig); @@ -208,7 +239,7 @@ i = 0; } break; - case 6: + case 6: //tipo de banio manual pc.printf("ingreso tipo banio %d\n\r",num); if(num == 0 || num == 1) { tipobanio = num;