proyectotecnicas / Mbed 2 deprecated intento-menu

Dependencies:   TextLCD mbed

Committer:
josedaparte
Date:
Sun Nov 29 14:50:18 2015 +0000
Revision:
0:20ec80029ebe
Child:
1:db98edccd932
menu

Who changed what in which revision?

UserRevisionLine numberNew contents of line
josedaparte 0:20ec80029ebe 1 #include "mbed.h"
josedaparte 0:20ec80029ebe 2 #include "AnalogIn.h"
josedaparte 0:20ec80029ebe 3 #include "TextLCD.h"
josedaparte 0:20ec80029ebe 4
josedaparte 0:20ec80029ebe 5 Serial pc(USBTX, USBRX);
josedaparte 0:20ec80029ebe 6 AnalogIn externo(PTC2);
josedaparte 0:20ec80029ebe 7 AnalogIn interno(PTB3);
josedaparte 0:20ec80029ebe 8 InterruptIn sw1(SW1);
josedaparte 0:20ec80029ebe 9 DigitalIn sw3(SW3);
josedaparte 0:20ec80029ebe 10 AnalogIn llave(PTA1);
josedaparte 0:20ec80029ebe 11
josedaparte 0:20ec80029ebe 12
josedaparte 0:20ec80029ebe 13 TextLCD lcd(PTD3, PTA12, PTA4, PTA5, PTC8, PTC9, TextLCD::LCD16x2);
josedaparte 0:20ec80029ebe 14
josedaparte 0:20ec80029ebe 15 int sel = 0;
josedaparte 0:20ec80029ebe 16 int temp = 26;
josedaparte 0:20ec80029ebe 17 char tipo;
josedaparte 0:20ec80029ebe 18
josedaparte 0:20ec80029ebe 19 void menu (){
josedaparte 0:20ec80029ebe 20 if(llave == 0){ //modo auto
josedaparte 0:20ec80029ebe 21 lcd.cls();
josedaparte 0:20ec80029ebe 22 do{
josedaparte 0:20ec80029ebe 23 lcd.printf("temperatura");
josedaparte 0:20ec80029ebe 24 }while(sw1 == 1 || sw3 == 1);
josedaparte 0:20ec80029ebe 25 if(sw3 == 0){
josedaparte 0:20ec80029ebe 26 pc.scanf("%d", &temp);
josedaparte 0:20ec80029ebe 27 pc.printf("se seteo la temperatura a %.0d\r\n", temp);
josedaparte 0:20ec80029ebe 28 }
josedaparte 0:20ec80029ebe 29 else{
josedaparte 0:20ec80029ebe 30 lcd.cls();
josedaparte 0:20ec80029ebe 31 do{
josedaparte 0:20ec80029ebe 32 lcd.printf("tipo de banio");
josedaparte 0:20ec80029ebe 33 }while(sw1 == 1 || sw3 == 1);
josedaparte 0:20ec80029ebe 34 if(sw3 == 0){
josedaparte 0:20ec80029ebe 35 pc.scanf("%c", &tipo);
josedaparte 0:20ec80029ebe 36 pc.printf("el tipo de banio es %c\r\n", tipo);
josedaparte 0:20ec80029ebe 37 }
josedaparte 0:20ec80029ebe 38 else{
josedaparte 0:20ec80029ebe 39 lcd.cls();
josedaparte 0:20ec80029ebe 40 do{
josedaparte 0:20ec80029ebe 41 lcd.printf("horarios");
josedaparte 0:20ec80029ebe 42 }while(sw1 == 1 || sw3 == 1);
josedaparte 0:20ec80029ebe 43 if(sw3 == 0){
josedaparte 0:20ec80029ebe 44 }
josedaparte 0:20ec80029ebe 45 else{
josedaparte 0:20ec80029ebe 46 lcd.cls();
josedaparte 0:20ec80029ebe 47 do{
josedaparte 0:20ec80029ebe 48 lcd.printf("reloj");
josedaparte 0:20ec80029ebe 49 }while(sw1 == 1 || sw3 == 1);
josedaparte 0:20ec80029ebe 50 if(sw3 == 0){
josedaparte 0:20ec80029ebe 51 }
josedaparte 0:20ec80029ebe 52 else{
josedaparte 0:20ec80029ebe 53 lcd.cls();
josedaparte 0:20ec80029ebe 54 do{
josedaparte 0:20ec80029ebe 55 lcd.printf("salir");
josedaparte 0:20ec80029ebe 56 }while(sw1 == 1 || sw3 == 1);
josedaparte 0:20ec80029ebe 57 if(sw3 == 0){
josedaparte 0:20ec80029ebe 58 return;
josedaparte 0:20ec80029ebe 59 }
josedaparte 0:20ec80029ebe 60 else{
josedaparte 0:20ec80029ebe 61 menu();
josedaparte 0:20ec80029ebe 62 }}}}}}
josedaparte 0:20ec80029ebe 63 else{
josedaparte 0:20ec80029ebe 64 lcd.cls();
josedaparte 0:20ec80029ebe 65 lcd.printf("move la llave");
josedaparte 0:20ec80029ebe 66 lcd.locate(0,1);
josedaparte 0:20ec80029ebe 67 lcd.printf("pequenio puto");
josedaparte 0:20ec80029ebe 68 } //llave fin else principal
josedaparte 0:20ec80029ebe 69 } //llave de fin funcion
josedaparte 0:20ec80029ebe 70 int main() {
josedaparte 0:20ec80029ebe 71
josedaparte 0:20ec80029ebe 72 pc.baud(115200);
josedaparte 0:20ec80029ebe 73
josedaparte 0:20ec80029ebe 74 float casinterno;
josedaparte 0:20ec80029ebe 75 float casexterno;
josedaparte 0:20ec80029ebe 76 float tinterno;
josedaparte 0:20ec80029ebe 77 float texterno;
josedaparte 0:20ec80029ebe 78 int comp;
josedaparte 0:20ec80029ebe 79
josedaparte 0:20ec80029ebe 80 while(1){
josedaparte 0:20ec80029ebe 81 sw1.fall(&menu);
josedaparte 0:20ec80029ebe 82 lcd.cls();
josedaparte 0:20ec80029ebe 83
josedaparte 0:20ec80029ebe 84 if(llave == 0){
josedaparte 0:20ec80029ebe 85 lcd.locate(0,8);
josedaparte 0:20ec80029ebe 86 lcd.printf("auto");
josedaparte 0:20ec80029ebe 87 }else {
josedaparte 0:20ec80029ebe 88 lcd.locate(0,8);
josedaparte 0:20ec80029ebe 89 lcd.printf("man");
josedaparte 0:20ec80029ebe 90 }
josedaparte 0:20ec80029ebe 91 casexterno = externo.read() * 3.3;
josedaparte 0:20ec80029ebe 92 texterno = (casexterno + 0.2) * 100 / 5;
josedaparte 0:20ec80029ebe 93
josedaparte 0:20ec80029ebe 94 casinterno = interno.read() * 3.3;
josedaparte 0:20ec80029ebe 95 tinterno = (casinterno + 2) * 100 / 8;
josedaparte 0:20ec80029ebe 96
josedaparte 0:20ec80029ebe 97 lcd.printf("int %.0f set %d",tinterno, temp);
josedaparte 0:20ec80029ebe 98 lcd.locate(0,1);
josedaparte 0:20ec80029ebe 99 lcd.printf("ext %.0f ", texterno);
josedaparte 0:20ec80029ebe 100 comp = tinterno;
josedaparte 0:20ec80029ebe 101 if(comp == temp)
josedaparte 0:20ec80029ebe 102 pc.printf("las temperaturas son iguales\n\r");
josedaparte 0:20ec80029ebe 103 else
josedaparte 0:20ec80029ebe 104 pc.printf("temperaturas distintas\n\r");
josedaparte 0:20ec80029ebe 105 wait(1);
josedaparte 0:20ec80029ebe 106 }
josedaparte 0:20ec80029ebe 107 }