Punto 3 del TP1: Aire Acondicionado

Dependencies:   DS18B20_1wire TextLCD mbed

Committer:
Joacolopez22
Date:
Thu May 31 14:11:23 2018 +0000
Revision:
0:c9d0c42dc7f2
Punto 3 del TP1;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Joacolopez22 0:c9d0c42dc7f2 1 #include "mbed.h"
Joacolopez22 0:c9d0c42dc7f2 2 #include "TextLCD.h"
Joacolopez22 0:c9d0c42dc7f2 3
Joacolopez22 0:c9d0c42dc7f2 4 //ENTRADAS Y SALIDAS
Joacolopez22 0:c9d0c42dc7f2 5 DigitalIn PULS_SUMA(PTC17);
Joacolopez22 0:c9d0c42dc7f2 6 DigitalIn PULS_RESTA(PTC6);
Joacolopez22 0:c9d0c42dc7f2 7 DigitalIn PULS_MODO(PTC12);
Joacolopez22 0:c9d0c42dc7f2 8 DigitalIn PULS_ENCENDIDO(PTC16);
Joacolopez22 0:c9d0c42dc7f2 9 DigitalOut ROJO(LED1);
Joacolopez22 0:c9d0c42dc7f2 10 DigitalOut AZUL(LED3);
Joacolopez22 0:c9d0c42dc7f2 11 TextLCD lcd(PTC7,PTB1,PTB2,PTB3,PTC2,PTC1, TextLCD::LCD20x4); // rs, e, d4-d7
Joacolopez22 0:c9d0c42dc7f2 12 AnalogIn ADC(PTB0);
Joacolopez22 0:c9d0c42dc7f2 13
Joacolopez22 0:c9d0c42dc7f2 14 //ENUMS MAQUINA AIRE //
Joacolopez22 0:c9d0c42dc7f2 15 enum {APAGADO, ESPERA_CALOR, CALOR , FRIO, ESPERA_FRIO,NO_GIRA,IZQUIERDA
Joacolopez22 0:c9d0c42dc7f2 16 };
Joacolopez22 0:c9d0c42dc7f2 17
Joacolopez22 0:c9d0c42dc7f2 18 // ENUMS MAQUINA ANTIRREBOTE //
Joacolopez22 0:c9d0c42dc7f2 19 enum {
Joacolopez22 0:c9d0c42dc7f2 20 SUELTO, QUIZAS_PRESIONADO, PRESIONADO, QUIZAS_SUELTO
Joacolopez22 0:c9d0c42dc7f2 21 };
Joacolopez22 0:c9d0c42dc7f2 22
Joacolopez22 0:c9d0c42dc7f2 23
Joacolopez22 0:c9d0c42dc7f2 24 //ENUMS MAQUINA DETECTOR DE FLANCOS //
Joacolopez22 0:c9d0c42dc7f2 25 enum {
Joacolopez22 0:c9d0c42dc7f2 26 NO_PRESIONADO, APRETADO, DEJO_APRETAR
Joacolopez22 0:c9d0c42dc7f2 27 };
Joacolopez22 0:c9d0c42dc7f2 28
Joacolopez22 0:c9d0c42dc7f2 29 //OBJETOS //
Joacolopez22 0:c9d0c42dc7f2 30 Ticker temporizador;
Joacolopez22 0:c9d0c42dc7f2 31 Ticker med;
Joacolopez22 0:c9d0c42dc7f2 32
Joacolopez22 0:c9d0c42dc7f2 33 //PROTOCOLOS //
Joacolopez22 0:c9d0c42dc7f2 34 void AIRE_Control(int pulsa);
Joacolopez22 0:c9d0c42dc7f2 35 int PULS_Antirrebote(void);
Joacolopez22 0:c9d0c42dc7f2 36 int DETECTOR_Flancos(int maq_antirrebote);
Joacolopez22 0:c9d0c42dc7f2 37 void Set_tempe(int m);
Joacolopez22 0:c9d0c42dc7f2 38 void timer (void);
Joacolopez22 0:c9d0c42dc7f2 39 void Medicion_tempe(void);
Joacolopez22 0:c9d0c42dc7f2 40 void Manejo_display(int pul);
Joacolopez22 0:c9d0c42dc7f2 41
Joacolopez22 0:c9d0c42dc7f2 42 //VARIABLES
Joacolopez22 0:c9d0c42dc7f2 43 unsigned char AIRE_estado = APAGADO;
Joacolopez22 0:c9d0c42dc7f2 44 unsigned char DETECTOR_estado = NO_PRESIONADO;
Joacolopez22 0:c9d0c42dc7f2 45 unsigned char PULS_estado = SUELTO;
Joacolopez22 0:c9d0c42dc7f2 46 int a = 0;
Joacolopez22 0:c9d0c42dc7f2 47 int b = 0;
Joacolopez22 0:c9d0c42dc7f2 48 int timeout = 0;
Joacolopez22 0:c9d0c42dc7f2 49 int tempe_medida_anterior = 0;
Joacolopez22 0:c9d0c42dc7f2 50 int tempe_medida = 0;
Joacolopez22 0:c9d0c42dc7f2 51 int tempe_set = 20;
Joacolopez22 0:c9d0c42dc7f2 52 int modo = 0; // Variable utilizada en maquina AIRE_Control //
Joacolopez22 0:c9d0c42dc7f2 53 int pulsador =0 ; // Variable usada para maquina PULS_Antirrebote //
Joacolopez22 0:c9d0c42dc7f2 54 int p =0; // Variable devuelta por maquina PULS_Antirrebote //
Joacolopez22 0:c9d0c42dc7f2 55 int puls=0 ; // Variable devuelta por maquina DETECTOR_Flancos //
Joacolopez22 0:c9d0c42dc7f2 56 int y = 0; // Variable utilizada en funcion manejo_display //
Joacolopez22 0:c9d0c42dc7f2 57
Joacolopez22 0:c9d0c42dc7f2 58 //MAIN
Joacolopez22 0:c9d0c42dc7f2 59 int main()
Joacolopez22 0:c9d0c42dc7f2 60 {
Joacolopez22 0:c9d0c42dc7f2 61 ROJO = 1; // Led rojo apagado //
Joacolopez22 0:c9d0c42dc7f2 62 AZUL = 1; // Led azul apagado //
Joacolopez22 0:c9d0c42dc7f2 63 temporizador.attach(&timer,0.001);
Joacolopez22 0:c9d0c42dc7f2 64 med.attach(&Medicion_tempe, 1);
Joacolopez22 0:c9d0c42dc7f2 65
Joacolopez22 0:c9d0c42dc7f2 66 while(1) {
Joacolopez22 0:c9d0c42dc7f2 67 a = PULS_Antirrebote();
Joacolopez22 0:c9d0c42dc7f2 68 b = DETECTOR_Flancos(a);
Joacolopez22 0:c9d0c42dc7f2 69 AIRE_Control(b);
Joacolopez22 0:c9d0c42dc7f2 70 if(y == 1) {
Joacolopez22 0:c9d0c42dc7f2 71 Set_tempe(b);
Joacolopez22 0:c9d0c42dc7f2 72 }
Joacolopez22 0:c9d0c42dc7f2 73
Joacolopez22 0:c9d0c42dc7f2 74 tempe_medida = (ADC*30);
Joacolopez22 0:c9d0c42dc7f2 75
Joacolopez22 0:c9d0c42dc7f2 76 Manejo_display(b);
Joacolopez22 0:c9d0c42dc7f2 77 }
Joacolopez22 0:c9d0c42dc7f2 78 }
Joacolopez22 0:c9d0c42dc7f2 79
Joacolopez22 0:c9d0c42dc7f2 80 void AIRE_Control (int pulsa) // Maneja los estados del Aire //
Joacolopez22 0:c9d0c42dc7f2 81 {
Joacolopez22 0:c9d0c42dc7f2 82 switch (AIRE_estado) {
Joacolopez22 0:c9d0c42dc7f2 83 case APAGADO:
Joacolopez22 0:c9d0c42dc7f2 84 if(pulsa == 4) {
Joacolopez22 0:c9d0c42dc7f2 85 AIRE_estado=FRIO;
Joacolopez22 0:c9d0c42dc7f2 86 }
Joacolopez22 0:c9d0c42dc7f2 87 AZUL = 1; // Led azul apagado //
Joacolopez22 0:c9d0c42dc7f2 88 ROJO = 1; // Led rojo apagado //
Joacolopez22 0:c9d0c42dc7f2 89 modo = 0;
Joacolopez22 0:c9d0c42dc7f2 90 break;
Joacolopez22 0:c9d0c42dc7f2 91
Joacolopez22 0:c9d0c42dc7f2 92 case FRIO:
Joacolopez22 0:c9d0c42dc7f2 93 if(pulsa == 4) {
Joacolopez22 0:c9d0c42dc7f2 94 AIRE_estado = APAGADO;
Joacolopez22 0:c9d0c42dc7f2 95 }
Joacolopez22 0:c9d0c42dc7f2 96 if(pulsa == 3) {
Joacolopez22 0:c9d0c42dc7f2 97 AIRE_estado = CALOR;
Joacolopez22 0:c9d0c42dc7f2 98 }
Joacolopez22 0:c9d0c42dc7f2 99 if(tempe_medida <= tempe_set) {
Joacolopez22 0:c9d0c42dc7f2 100 AIRE_estado = ESPERA_FRIO;
Joacolopez22 0:c9d0c42dc7f2 101 }
Joacolopez22 0:c9d0c42dc7f2 102 AZUL = 0; // Led azul prendido //
Joacolopez22 0:c9d0c42dc7f2 103 ROJO = 1; // Led rojo apagado //
Joacolopez22 0:c9d0c42dc7f2 104 modo = 1;
Joacolopez22 0:c9d0c42dc7f2 105 break;
Joacolopez22 0:c9d0c42dc7f2 106
Joacolopez22 0:c9d0c42dc7f2 107 case CALOR:
Joacolopez22 0:c9d0c42dc7f2 108 if(pulsa == 4) {
Joacolopez22 0:c9d0c42dc7f2 109 AIRE_estado = APAGADO;
Joacolopez22 0:c9d0c42dc7f2 110 }
Joacolopez22 0:c9d0c42dc7f2 111 if(pulsa == 3) {
Joacolopez22 0:c9d0c42dc7f2 112 AIRE_estado = FRIO;
Joacolopez22 0:c9d0c42dc7f2 113 }
Joacolopez22 0:c9d0c42dc7f2 114 if(tempe_medida >= tempe_set) {
Joacolopez22 0:c9d0c42dc7f2 115 AIRE_estado = ESPERA_CALOR;
Joacolopez22 0:c9d0c42dc7f2 116 }
Joacolopez22 0:c9d0c42dc7f2 117 AZUL = 1; // Led azul apagado //
Joacolopez22 0:c9d0c42dc7f2 118 ROJO = 0; // Led rojo prendido //
Joacolopez22 0:c9d0c42dc7f2 119 modo = 2;
Joacolopez22 0:c9d0c42dc7f2 120 break;
Joacolopez22 0:c9d0c42dc7f2 121 case ESPERA_CALOR:
Joacolopez22 0:c9d0c42dc7f2 122 if(tempe_medida == (tempe_set-2)) {
Joacolopez22 0:c9d0c42dc7f2 123 AIRE_estado = CALOR;
Joacolopez22 0:c9d0c42dc7f2 124 }
Joacolopez22 0:c9d0c42dc7f2 125 if(pulsa == 4) {
Joacolopez22 0:c9d0c42dc7f2 126 AIRE_estado=APAGADO;
Joacolopez22 0:c9d0c42dc7f2 127 }
Joacolopez22 0:c9d0c42dc7f2 128 if(pulsa == 3) {
Joacolopez22 0:c9d0c42dc7f2 129 AIRE_estado = FRIO;
Joacolopez22 0:c9d0c42dc7f2 130 }
Joacolopez22 0:c9d0c42dc7f2 131 AZUL = 1; // Led azul apagado //
Joacolopez22 0:c9d0c42dc7f2 132 ROJO = 1; // Led rpjo apagado //
Joacolopez22 0:c9d0c42dc7f2 133 modo = 2;
Joacolopez22 0:c9d0c42dc7f2 134 break;
Joacolopez22 0:c9d0c42dc7f2 135 case ESPERA_FRIO:
Joacolopez22 0:c9d0c42dc7f2 136 if(tempe_medida == (tempe_set+2)) {
Joacolopez22 0:c9d0c42dc7f2 137 AIRE_estado = FRIO;
Joacolopez22 0:c9d0c42dc7f2 138 }
Joacolopez22 0:c9d0c42dc7f2 139 if(pulsa == 4) {
Joacolopez22 0:c9d0c42dc7f2 140 AIRE_estado =APAGADO;
Joacolopez22 0:c9d0c42dc7f2 141 }
Joacolopez22 0:c9d0c42dc7f2 142 if(pulsa == 3) {
Joacolopez22 0:c9d0c42dc7f2 143 AIRE_estado = CALOR;
Joacolopez22 0:c9d0c42dc7f2 144 }
Joacolopez22 0:c9d0c42dc7f2 145 AZUL = 1; // Led azul apagado //
Joacolopez22 0:c9d0c42dc7f2 146 ROJO = 1; // Led rojo apagado //
Joacolopez22 0:c9d0c42dc7f2 147 modo = 1;
Joacolopez22 0:c9d0c42dc7f2 148 break;
Joacolopez22 0:c9d0c42dc7f2 149 }
Joacolopez22 0:c9d0c42dc7f2 150 }
Joacolopez22 0:c9d0c42dc7f2 151
Joacolopez22 0:c9d0c42dc7f2 152
Joacolopez22 0:c9d0c42dc7f2 153 int PULS_Antirrebote(void) // Elimina el rebote del pulsador. Devuelve "0" si ningun
Joacolopez22 0:c9d0c42dc7f2 154 { // pulsador fue presionado. Si se presiona un pulsador devuelve "1",
Joacolopez22 0:c9d0c42dc7f2 155 if (PULS_SUMA == 1) { // "2","3" o "4" dependiendo de que pulsador fue presionado.
Joacolopez22 0:c9d0c42dc7f2 156 pulsador = PULS_SUMA ;
Joacolopez22 0:c9d0c42dc7f2 157 }
Joacolopez22 0:c9d0c42dc7f2 158 if (PULS_RESTA == 1) {
Joacolopez22 0:c9d0c42dc7f2 159 pulsador = PULS_RESTA ;
Joacolopez22 0:c9d0c42dc7f2 160 }
Joacolopez22 0:c9d0c42dc7f2 161 if (PULS_MODO == 1) {
Joacolopez22 0:c9d0c42dc7f2 162 pulsador = PULS_MODO ;
Joacolopez22 0:c9d0c42dc7f2 163 }
Joacolopez22 0:c9d0c42dc7f2 164 if (PULS_ENCENDIDO == 1) {
Joacolopez22 0:c9d0c42dc7f2 165 pulsador = PULS_ENCENDIDO ;
Joacolopez22 0:c9d0c42dc7f2 166 }
Joacolopez22 0:c9d0c42dc7f2 167
Joacolopez22 0:c9d0c42dc7f2 168 if (PULS_SUMA == 0 && PULS_RESTA == 0 && PULS_MODO == 0 && PULS_ENCENDIDO == 0) {
Joacolopez22 0:c9d0c42dc7f2 169 pulsador = 0;
Joacolopez22 0:c9d0c42dc7f2 170 }
Joacolopez22 0:c9d0c42dc7f2 171
Joacolopez22 0:c9d0c42dc7f2 172 switch (PULS_estado) {
Joacolopez22 0:c9d0c42dc7f2 173 default:
Joacolopez22 0:c9d0c42dc7f2 174 case SUELTO:
Joacolopez22 0:c9d0c42dc7f2 175 p = 0;
Joacolopez22 0:c9d0c42dc7f2 176 if (pulsador == 1) {
Joacolopez22 0:c9d0c42dc7f2 177 PULS_estado = QUIZAS_PRESIONADO;
Joacolopez22 0:c9d0c42dc7f2 178 timeout = 30;
Joacolopez22 0:c9d0c42dc7f2 179 }
Joacolopez22 0:c9d0c42dc7f2 180 break;
Joacolopez22 0:c9d0c42dc7f2 181 case QUIZAS_PRESIONADO:
Joacolopez22 0:c9d0c42dc7f2 182 p = 0;
Joacolopez22 0:c9d0c42dc7f2 183 if (timeout == 0 && pulsador == 1) {
Joacolopez22 0:c9d0c42dc7f2 184 PULS_estado = PRESIONADO;
Joacolopez22 0:c9d0c42dc7f2 185 }
Joacolopez22 0:c9d0c42dc7f2 186 if (timeout == 0 && pulsador == 0) {
Joacolopez22 0:c9d0c42dc7f2 187 PULS_estado = SUELTO;
Joacolopez22 0:c9d0c42dc7f2 188 }
Joacolopez22 0:c9d0c42dc7f2 189 break;
Joacolopez22 0:c9d0c42dc7f2 190 case PRESIONADO:
Joacolopez22 0:c9d0c42dc7f2 191 if (pulsador == PULS_SUMA) {
Joacolopez22 0:c9d0c42dc7f2 192 p = 1;
Joacolopez22 0:c9d0c42dc7f2 193 }
Joacolopez22 0:c9d0c42dc7f2 194 if (pulsador == PULS_RESTA) {
Joacolopez22 0:c9d0c42dc7f2 195 p = 2;
Joacolopez22 0:c9d0c42dc7f2 196 }
Joacolopez22 0:c9d0c42dc7f2 197 if (pulsador == PULS_MODO) {
Joacolopez22 0:c9d0c42dc7f2 198 p = 3;
Joacolopez22 0:c9d0c42dc7f2 199 }
Joacolopez22 0:c9d0c42dc7f2 200 if (pulsador == PULS_ENCENDIDO) {
Joacolopez22 0:c9d0c42dc7f2 201 p = 4;
Joacolopez22 0:c9d0c42dc7f2 202 }
Joacolopez22 0:c9d0c42dc7f2 203 if (pulsador == 0) {
Joacolopez22 0:c9d0c42dc7f2 204 PULS_estado = QUIZAS_SUELTO;
Joacolopez22 0:c9d0c42dc7f2 205 timeout = 30;
Joacolopez22 0:c9d0c42dc7f2 206 }
Joacolopez22 0:c9d0c42dc7f2 207 break;
Joacolopez22 0:c9d0c42dc7f2 208 case QUIZAS_SUELTO:
Joacolopez22 0:c9d0c42dc7f2 209 if (pulsador == PULS_SUMA) {
Joacolopez22 0:c9d0c42dc7f2 210 p = 1;
Joacolopez22 0:c9d0c42dc7f2 211 }
Joacolopez22 0:c9d0c42dc7f2 212 if (pulsador == PULS_RESTA) {
Joacolopez22 0:c9d0c42dc7f2 213 p = 2;
Joacolopez22 0:c9d0c42dc7f2 214 }
Joacolopez22 0:c9d0c42dc7f2 215 if (pulsador == PULS_MODO) {
Joacolopez22 0:c9d0c42dc7f2 216 p = 3;
Joacolopez22 0:c9d0c42dc7f2 217 }
Joacolopez22 0:c9d0c42dc7f2 218 if (pulsador == PULS_ENCENDIDO) {
Joacolopez22 0:c9d0c42dc7f2 219 p = 4;
Joacolopez22 0:c9d0c42dc7f2 220 }
Joacolopez22 0:c9d0c42dc7f2 221
Joacolopez22 0:c9d0c42dc7f2 222 if (timeout == 0 && pulsador == 1) {
Joacolopez22 0:c9d0c42dc7f2 223 PULS_estado = PRESIONADO;
Joacolopez22 0:c9d0c42dc7f2 224 }
Joacolopez22 0:c9d0c42dc7f2 225 if (timeout == 0 && pulsador == 0) {
Joacolopez22 0:c9d0c42dc7f2 226 PULS_estado = SUELTO;
Joacolopez22 0:c9d0c42dc7f2 227 }
Joacolopez22 0:c9d0c42dc7f2 228 break;
Joacolopez22 0:c9d0c42dc7f2 229 }
Joacolopez22 0:c9d0c42dc7f2 230 return p;
Joacolopez22 0:c9d0c42dc7f2 231 }
Joacolopez22 0:c9d0c42dc7f2 232
Joacolopez22 0:c9d0c42dc7f2 233 int DETECTOR_Flancos(int antirrebote) // Entrega un solo "1", un solo "2", un solo "3" o un solo "4"
Joacolopez22 0:c9d0c42dc7f2 234 { // cada vez que se presiona un pulsador, dependiendo de cual fue.
Joacolopez22 0:c9d0c42dc7f2 235 switch(DETECTOR_estado) { // Si no se presiona ningún pulsador devuelve "0".
Joacolopez22 0:c9d0c42dc7f2 236 case NO_PRESIONADO:
Joacolopez22 0:c9d0c42dc7f2 237 puls=0;
Joacolopez22 0:c9d0c42dc7f2 238 if(antirrebote != 0) {
Joacolopez22 0:c9d0c42dc7f2 239 DETECTOR_estado = APRETADO;
Joacolopez22 0:c9d0c42dc7f2 240 }
Joacolopez22 0:c9d0c42dc7f2 241 break;
Joacolopez22 0:c9d0c42dc7f2 242 case APRETADO:
Joacolopez22 0:c9d0c42dc7f2 243 if (antirrebote == 1) {
Joacolopez22 0:c9d0c42dc7f2 244 puls = 1;
Joacolopez22 0:c9d0c42dc7f2 245 }
Joacolopez22 0:c9d0c42dc7f2 246 if (antirrebote == 2) {
Joacolopez22 0:c9d0c42dc7f2 247 puls = 2;
Joacolopez22 0:c9d0c42dc7f2 248 }
Joacolopez22 0:c9d0c42dc7f2 249 if (antirrebote == 3) {
Joacolopez22 0:c9d0c42dc7f2 250 puls = 3;
Joacolopez22 0:c9d0c42dc7f2 251 }
Joacolopez22 0:c9d0c42dc7f2 252 if (antirrebote == 4) {
Joacolopez22 0:c9d0c42dc7f2 253 puls = 4;
Joacolopez22 0:c9d0c42dc7f2 254 }
Joacolopez22 0:c9d0c42dc7f2 255 DETECTOR_estado = DEJO_APRETAR;
Joacolopez22 0:c9d0c42dc7f2 256 break;
Joacolopez22 0:c9d0c42dc7f2 257
Joacolopez22 0:c9d0c42dc7f2 258 case DEJO_APRETAR:
Joacolopez22 0:c9d0c42dc7f2 259 puls = 0;
Joacolopez22 0:c9d0c42dc7f2 260 if(antirrebote == 0) {
Joacolopez22 0:c9d0c42dc7f2 261 DETECTOR_estado = NO_PRESIONADO;
Joacolopez22 0:c9d0c42dc7f2 262 }
Joacolopez22 0:c9d0c42dc7f2 263 break;
Joacolopez22 0:c9d0c42dc7f2 264 }
Joacolopez22 0:c9d0c42dc7f2 265 return puls;
Joacolopez22 0:c9d0c42dc7f2 266 }
Joacolopez22 0:c9d0c42dc7f2 267
Joacolopez22 0:c9d0c42dc7f2 268 void Set_tempe(int m) // Incrementa o decrementa el valor de la temperatura
Joacolopez22 0:c9d0c42dc7f2 269 { // seteada de acuerdo al valor de la variable "m"
Joacolopez22 0:c9d0c42dc7f2 270 if(m == 1) { // (entregada por el detector de flancos).
Joacolopez22 0:c9d0c42dc7f2 271 tempe_set++;
Joacolopez22 0:c9d0c42dc7f2 272 }
Joacolopez22 0:c9d0c42dc7f2 273 if(m == 2) {
Joacolopez22 0:c9d0c42dc7f2 274 tempe_set--;
Joacolopez22 0:c9d0c42dc7f2 275 }
Joacolopez22 0:c9d0c42dc7f2 276 }
Joacolopez22 0:c9d0c42dc7f2 277
Joacolopez22 0:c9d0c42dc7f2 278 void timer (void)
Joacolopez22 0:c9d0c42dc7f2 279 {
Joacolopez22 0:c9d0c42dc7f2 280 if (timeout >0)
Joacolopez22 0:c9d0c42dc7f2 281 timeout--;
Joacolopez22 0:c9d0c42dc7f2 282 }
Joacolopez22 0:c9d0c42dc7f2 283
Joacolopez22 0:c9d0c42dc7f2 284 void Manejo_display(int pul) // Maneja el LCD //
Joacolopez22 0:c9d0c42dc7f2 285 {
Joacolopez22 0:c9d0c42dc7f2 286 if(pul == 4) { // Si se toca el pulsador de encendido...//
Joacolopez22 0:c9d0c42dc7f2 287 y++;
Joacolopez22 0:c9d0c42dc7f2 288 }
Joacolopez22 0:c9d0c42dc7f2 289 if (y == 2) {
Joacolopez22 0:c9d0c42dc7f2 290 y = 0;
Joacolopez22 0:c9d0c42dc7f2 291 }
Joacolopez22 0:c9d0c42dc7f2 292 if (y == 1) { // Cuando el Aire está prendido //
Joacolopez22 0:c9d0c42dc7f2 293 lcd.TextLCD::locate(0, 0);
Joacolopez22 0:c9d0c42dc7f2 294 lcd.printf("MODO:");
Joacolopez22 0:c9d0c42dc7f2 295 lcd.TextLCD::locate(0, 1);
Joacolopez22 0:c9d0c42dc7f2 296 lcd.printf("Temp medida: %d", tempe_medida);
Joacolopez22 0:c9d0c42dc7f2 297 lcd.TextLCD::locate(0, 2);
Joacolopez22 0:c9d0c42dc7f2 298 lcd.printf("Temp seteada: %d", tempe_set );
Joacolopez22 0:c9d0c42dc7f2 299 }
Joacolopez22 0:c9d0c42dc7f2 300 if(y == 0) { // Cuando el Aire está apagado //
Joacolopez22 0:c9d0c42dc7f2 301 lcd.cls();
Joacolopez22 0:c9d0c42dc7f2 302 }
Joacolopez22 0:c9d0c42dc7f2 303
Joacolopez22 0:c9d0c42dc7f2 304 if(pul == 1|| pul == 2) { // Si se incrementa o decrementa la
Joacolopez22 0:c9d0c42dc7f2 305 lcd.locate(14,2); // temperatura seteada...
Joacolopez22 0:c9d0c42dc7f2 306 lcd.printf("%d ",tempe_set);
Joacolopez22 0:c9d0c42dc7f2 307 }
Joacolopez22 0:c9d0c42dc7f2 308
Joacolopez22 0:c9d0c42dc7f2 309 if(modo == 1) { // Si la maquina AIRE_Control está en
Joacolopez22 0:c9d0c42dc7f2 310 lcd.TextLCD::locate(6, 0); // estado FRIO...
Joacolopez22 0:c9d0c42dc7f2 311 lcd.printf("FRIO ");
Joacolopez22 0:c9d0c42dc7f2 312 }
Joacolopez22 0:c9d0c42dc7f2 313
Joacolopez22 0:c9d0c42dc7f2 314 if(modo == 2) {
Joacolopez22 0:c9d0c42dc7f2 315 lcd.TextLCD::locate(6, 0); // Si la maquina AIRE_Control está en
Joacolopez22 0:c9d0c42dc7f2 316 lcd.printf("CALOR"); // estado CALOR...
Joacolopez22 0:c9d0c42dc7f2 317 }
Joacolopez22 0:c9d0c42dc7f2 318
Joacolopez22 0:c9d0c42dc7f2 319 if(tempe_medida_anterior != tempe_medida) { // Si cambia la temperatura medida....
Joacolopez22 0:c9d0c42dc7f2 320 lcd.locate(13,1);
Joacolopez22 0:c9d0c42dc7f2 321 lcd.printf("%d ",tempe_medida);
Joacolopez22 0:c9d0c42dc7f2 322 }
Joacolopez22 0:c9d0c42dc7f2 323
Joacolopez22 0:c9d0c42dc7f2 324 }
Joacolopez22 0:c9d0c42dc7f2 325
Joacolopez22 0:c9d0c42dc7f2 326 void Medicion_tempe(void)
Joacolopez22 0:c9d0c42dc7f2 327 {
Joacolopez22 0:c9d0c42dc7f2 328 tempe_medida_anterior = tempe_medida;
Joacolopez22 0:c9d0c42dc7f2 329 }
Joacolopez22 0:c9d0c42dc7f2 330
Joacolopez22 0:c9d0c42dc7f2 331