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.
Fork of teclado-menu-lcd-reloj by
Diff: main.cpp
- Revision:
- 2:a3cc9101e1c3
- Parent:
- 1:9ab0f526b7a7
- Child:
- 3:ef1eaeaf5c4e
--- 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
