proyectotecnicas
/
general
menu-teclado-lcd-pwm(funca todo) (y el puerto serie tambien)
Revision 2:a3cc9101e1c3, committed 2015-11-30
- Comitter:
- josedaparte
- Date:
- Mon Nov 30 23:19:34 2015 +0000
- Parent:
- 1:9ab0f526b7a7
- Child:
- 3:ef1eaeaf5c4e
- Commit message:
- das
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Mon Nov 30 16:47:32 2015 +0000 +++ b/main.cpp Mon Nov 30 23:19:34 2015 +0000 @@ -20,15 +20,16 @@ float casexterno; float tinterno; float texterno; -char modo = 'M'; +char modo = 'M'; +int set = 0; +int pdig, sdig, val; +int i = 0; +int tipobanio = 0; int num, B1,B2,B3,B4; void menu(); void selec(); -void ingresat(){ - - } void func() @@ -37,19 +38,100 @@ B2 = key2.read(); B3 = key3.read(); B4 = key4.read(); - + num = 2*2*2*B1 + 2*2*B2 + 2*B3 + B4; - - if(num == 10){ + pc.printf("llama a func\n\r"); + if(num == 10) { + set = 0; menu(); - }else if(num == 11){ - selec(); - }} + } else if(num == 11) { + set = 0; + selec(); + } else if(num != 10 && num != 11) { -void menu (){ + pc.printf("antes del case\n\r"); + switch(set) { + case 0: + pc.printf("case 0"); + break; + case 1: + pc.printf("case 1\n\r"); + break; + case 2: + pc.printf("case 2\n\r"); + break; + case 3: + pc.printf("ingreso tipo banio %d\n\r",num); + if(num == 0 || num == 1) { + tipobanio = num; + lcd.locate(0,0); + if(num == 0) + lcd.printf("banio rapido"); + else + lcd.printf("banio normal"); + wait(1); + lcd.cls(); + lcd.printf("tipo banio"); + pc.printf("%.1d\n\r", tipobanio); + set = 0; + } else { + lcd.locate(0,0); + lcd.printf("valor invalido"); + wait(1); + lcd.printf("tipo banio"); + lcd.cls(); + } + break; + case 4: + pc.printf("case 4\n\r"); + break; + case 5: + if(i == 0) { + pdig = num; + pc.printf("%.1d\n\r", pdig); + } else if(i == 1) { + sdig = num; + pc.printf("%.1d\n\r", sdig); + val = (pdig * 10) + sdig; + pc.printf("%.1d\n\r", val); + } + i++; + if(i == 2) { + i = 0; + } + break; + case 6: + pc.printf("ingreso tipo banio %d\n\r",num); + if(num == 0 || num == 1) { + tipobanio = num; + lcd.locate(0,0); + if(num == 0) + lcd.printf("banio rapido"); + else + lcd.printf("banio normal"); + wait(1); + lcd.cls(); + lcd.printf("tipo banio"); + pc.printf("%.1d\n\r", tipobanio); + set = 0; + } else { + lcd.locate(0,0); + lcd.printf("valor invalido"); + wait(1); + lcd.printf("tipo banio"); + lcd.cls(); + } + break; + } + pc.printf("salgo case\n\r"); + } +} + +void menu () +{ lcd.cls(); - switch (sel){ - case 1: + switch (sel) { + case 1: lcd.locate(0,0); lcd.printf("auto"); lcd.locate(0,1); @@ -63,14 +145,14 @@ lcd.printf("%.0fC %.0fC %c ho:ra", texterno, tinterno, modo); sel = 3; break; - case 3: + case 3: lcd.locate(0,0); lcd.printf("reloj"); lcd.locate(0,1); lcd.printf("%.0fC %.0fC %c ho:ra", texterno, tinterno, modo); sel = 1; break; - case 4: + case 4: lcd.locate(0,0); lcd.printf("temperatura"); lcd.locate(0,1); @@ -84,28 +166,28 @@ lcd.printf("%.0fC %.0fC %c ho:ra", texterno, tinterno, modo); sel = 6; break; - case 6: + case 6: lcd.locate(0,0); lcd.printf("horarios"); lcd.locate(0,1); lcd.printf("%.0fC %.0fC %c ho:ra", texterno, tinterno, modo); sel = 9; break; - case 7: + case 7: lcd.locate(0,0); lcd.printf("temperatura"); lcd.locate(0,1); lcd.printf("%.0fC %.0fC %c ho:ra", texterno, tinterno, modo); sel = 8; break; - case 8: + case 8: lcd.locate(0,0); lcd.printf("tipo banio"); lcd.locate(0,1); lcd.printf("%.0fC %.0fC %c ho:ra", texterno, tinterno, modo); sel = 10; break; - case 9: + case 9: lcd.locate(0,0); lcd.printf("salir"); lcd.locate(0,1); @@ -118,15 +200,16 @@ lcd.locate(0,1); lcd.printf("%.0fC %.0fC %c ho:ra", texterno, tinterno, modo); sel = 7; - break; - } + break; + } } -void selec(){ - switch (sel){ +void selec() +{ + switch (sel) { case 2: - modo = 'A'; + modo = 'A'; sel = 4; menu(); break; @@ -137,16 +220,17 @@ break; case 1: pc.printf("aca ingresaria la hora\r\n"); - wait(1.5); + set = 1; + wait(3); break; case 5: pc.printf("aca ingresaria la temperatura\r\n"); - ingresat(); - wait(1.5); + set = 2; break; case 6: pc.printf("aca ingresaria el tipo de banio\r\n"); - wait(1.5); + lcd.printf(" 0_rap 1_norm"); + set = 3; break; case 4: sel = 1; @@ -154,7 +238,7 @@ break; case 8: pc.printf("aca ingresaria la temperatura2\r\n"); - wait(1.5); + set = 5; break; case 7: sel = 2; @@ -162,31 +246,32 @@ break; case 9: pc.printf("aca ingresaria el horario\r\n"); - wait(1.5); + set = 4; break; case 10: pc.printf("aca ingresaria tipo banio\r\n"); - wait(1.5); + lcd.printf(" 0_rap 1_norm"); + set = 6; break; - } - } - - -int main() { - + +} + + +int main() +{ + pc.baud(115200); Enable.rise(&func); - + int comp; - while(1){ - -//convierte voltaje a temperatura + while(1) { +//convierte voltaje a temperatura casexterno = externo.read() * 3.3; - texterno = (casexterno + 0.2) * 100 / 5; + texterno = (casexterno + 0.2) * 100 / 5; casinterno = interno.read() * 3.3; tinterno = (casinterno + 2) * 100 / 8; - + lcd.locate(0,1); lcd.printf("%.0fC %.0fC %c ho:ra", texterno, tinterno, modo); comp = tinterno; @@ -194,6 +279,6 @@ pc.printf("las temperaturas son iguales\n\r"); else pc.printf("temperaturas distintas\n\r"); - wait(1); + wait(1); } } \ No newline at end of file