proyectotecnicas / Mbed 2 deprecated intento-menu

Dependencies:   TextLCD mbed

Committer:
josedaparte
Date:
Sun Nov 29 23:43:52 2015 +0000
Revision:
1:db98edccd932
Parent:
0:20ec80029ebe
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 1:db98edccd932 10 DigitalIn 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 1:db98edccd932 21 wait(1);
josedaparte 0:20ec80029ebe 22 lcd.cls();
josedaparte 0:20ec80029ebe 23 do{
josedaparte 1:db98edccd932 24 lcd.locate(0,0);
josedaparte 0:20ec80029ebe 25 lcd.printf("temperatura");
josedaparte 1:db98edccd932 26 }while(sw1 == 1 && sw3 == 1);
josedaparte 0:20ec80029ebe 27 if(sw3 == 0){
josedaparte 1:db98edccd932 28 lcd.cls();
josedaparte 1:db98edccd932 29 wait(.5);
josedaparte 1:db98edccd932 30 pc.printf("ingrese temperatura\r\n");
josedaparte 0:20ec80029ebe 31 pc.scanf("%d", &temp);
josedaparte 0:20ec80029ebe 32 pc.printf("se seteo la temperatura a %.0d\r\n", temp);
josedaparte 0:20ec80029ebe 33 }
josedaparte 0:20ec80029ebe 34 else{
josedaparte 0:20ec80029ebe 35 lcd.cls();
josedaparte 0:20ec80029ebe 36 do{
josedaparte 1:db98edccd932 37 lcd.locate(0,0);
josedaparte 0:20ec80029ebe 38 lcd.printf("tipo de banio");
josedaparte 1:db98edccd932 39 }while(sw1 == 1 && sw3 == 1);
josedaparte 0:20ec80029ebe 40 if(sw3 == 0){
josedaparte 1:db98edccd932 41 wait(.20);
josedaparte 0:20ec80029ebe 42 pc.scanf("%c", &tipo);
josedaparte 0:20ec80029ebe 43 pc.printf("el tipo de banio es %c\r\n", tipo);
josedaparte 0:20ec80029ebe 44 }
josedaparte 0:20ec80029ebe 45 else{
josedaparte 0:20ec80029ebe 46 lcd.cls();
josedaparte 0:20ec80029ebe 47 do{
josedaparte 1:db98edccd932 48 lcd.locate(0,0);
josedaparte 0:20ec80029ebe 49 lcd.printf("horarios");
josedaparte 1:db98edccd932 50 wait(.20);
josedaparte 1:db98edccd932 51 }while(sw1 == 1 && sw3 == 1);
josedaparte 0:20ec80029ebe 52 if(sw3 == 0){
josedaparte 1:db98edccd932 53 wait(.20);
josedaparte 0:20ec80029ebe 54 }
josedaparte 0:20ec80029ebe 55 else{
josedaparte 1:db98edccd932 56 wait(.15);
josedaparte 0:20ec80029ebe 57 lcd.cls();
josedaparte 0:20ec80029ebe 58 do{
josedaparte 1:db98edccd932 59 lcd.locate(0,0);
josedaparte 0:20ec80029ebe 60 lcd.printf("reloj");
josedaparte 1:db98edccd932 61 wait(.20);
josedaparte 1:db98edccd932 62 }while(sw1 == 1 && sw3 == 1);
josedaparte 0:20ec80029ebe 63 if(sw3 == 0){
josedaparte 1:db98edccd932 64 wait(1);
josedaparte 0:20ec80029ebe 65 }
josedaparte 0:20ec80029ebe 66 else{
josedaparte 0:20ec80029ebe 67 lcd.cls();
josedaparte 0:20ec80029ebe 68 do{
josedaparte 1:db98edccd932 69 lcd.locate(0,0);
josedaparte 0:20ec80029ebe 70 lcd.printf("salir");
josedaparte 1:db98edccd932 71 wait(0.20);
josedaparte 1:db98edccd932 72 }while(sw1 == 1 && sw3 == 1);
josedaparte 0:20ec80029ebe 73 if(sw3 == 0){
josedaparte 1:db98edccd932 74 wait(.20);
josedaparte 0:20ec80029ebe 75 return;
josedaparte 0:20ec80029ebe 76 }
josedaparte 1:db98edccd932 77 else{
josedaparte 0:20ec80029ebe 78 menu();
josedaparte 0:20ec80029ebe 79 }}}}}}
josedaparte 0:20ec80029ebe 80 else{
josedaparte 0:20ec80029ebe 81 lcd.cls();
josedaparte 0:20ec80029ebe 82 lcd.printf("move la llave");
josedaparte 0:20ec80029ebe 83 lcd.locate(0,1);
josedaparte 0:20ec80029ebe 84 lcd.printf("pequenio puto");
josedaparte 0:20ec80029ebe 85 } //llave fin else principal
josedaparte 0:20ec80029ebe 86 } //llave de fin funcion
josedaparte 0:20ec80029ebe 87 int main() {
josedaparte 0:20ec80029ebe 88
josedaparte 0:20ec80029ebe 89 pc.baud(115200);
josedaparte 0:20ec80029ebe 90
josedaparte 0:20ec80029ebe 91 float casinterno;
josedaparte 0:20ec80029ebe 92 float casexterno;
josedaparte 0:20ec80029ebe 93 float tinterno;
josedaparte 0:20ec80029ebe 94 float texterno;
josedaparte 0:20ec80029ebe 95 int comp;
josedaparte 0:20ec80029ebe 96
josedaparte 0:20ec80029ebe 97 while(1){
josedaparte 0:20ec80029ebe 98 sw1.fall(&menu);
josedaparte 0:20ec80029ebe 99 lcd.cls();
josedaparte 0:20ec80029ebe 100
josedaparte 0:20ec80029ebe 101 if(llave == 0){
josedaparte 1:db98edccd932 102 lcd.locate(8,1);
josedaparte 1:db98edccd932 103 lcd.printf("Auto");
josedaparte 0:20ec80029ebe 104 }else {
josedaparte 1:db98edccd932 105 lcd.locate(8,1);
josedaparte 0:20ec80029ebe 106 lcd.printf("man");
josedaparte 0:20ec80029ebe 107 }
josedaparte 0:20ec80029ebe 108 casexterno = externo.read() * 3.3;
josedaparte 0:20ec80029ebe 109 texterno = (casexterno + 0.2) * 100 / 5;
josedaparte 0:20ec80029ebe 110
josedaparte 0:20ec80029ebe 111 casinterno = interno.read() * 3.3;
josedaparte 0:20ec80029ebe 112 tinterno = (casinterno + 2) * 100 / 8;
josedaparte 1:db98edccd932 113 lcd.locate(0,0);
josedaparte 0:20ec80029ebe 114 lcd.printf("int %.0f set %d",tinterno, temp);
josedaparte 0:20ec80029ebe 115 lcd.locate(0,1);
josedaparte 0:20ec80029ebe 116 lcd.printf("ext %.0f ", texterno);
josedaparte 0:20ec80029ebe 117 comp = tinterno;
josedaparte 0:20ec80029ebe 118 if(comp == temp)
josedaparte 0:20ec80029ebe 119 pc.printf("las temperaturas son iguales\n\r");
josedaparte 0:20ec80029ebe 120 else
josedaparte 0:20ec80029ebe 121 pc.printf("temperaturas distintas\n\r");
josedaparte 0:20ec80029ebe 122 wait(1);
josedaparte 0:20ec80029ebe 123 }
josedaparte 0:20ec80029ebe 124 }