presion rutina vaciado ok

Dependencies:   TextLCD mbed

Committer:
josedaparte
Date:
Wed Dec 16 01:15:44 2015 +0000
Revision:
1:c2c292574f7d
Parent:
0:5f5b67cb745a
presion;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
josedaparte 0:5f5b67cb745a 1 #include "mbed.h"
josedaparte 0:5f5b67cb745a 2 #include "TextLCD.h"
josedaparte 0:5f5b67cb745a 3 #include "AnalogIn.h"
josedaparte 0:5f5b67cb745a 4 #include "Serial.h"
josedaparte 0:5f5b67cb745a 5
josedaparte 0:5f5b67cb745a 6 TextLCD lcd(PTD3, PTA12, PTA4, PTA5, PTC8, PTC9, TextLCD::LCD16x2);
josedaparte 0:5f5b67cb745a 7 AnalogIn presionin(PTB2);
josedaparte 0:5f5b67cb745a 8 DigitalOut evalvula(PTE1);
josedaparte 0:5f5b67cb745a 9 float caspresion;
josedaparte 0:5f5b67cb745a 10 int tipobanio=0, cont=0, ev= 1;
josedaparte 0:5f5b67cb745a 11 Serial pc(USBTX, USBRX);
josedaparte 0:5f5b67cb745a 12
josedaparte 0:5f5b67cb745a 13 void presion()
josedaparte 0:5f5b67cb745a 14 {
josedaparte 0:5f5b67cb745a 15 caspresion = presionin.read() * 3.3;
josedaparte 0:5f5b67cb745a 16 pc.printf("analogin %.2f\n\r", caspresion);
josedaparte 0:5f5b67cb745a 17
josedaparte 0:5f5b67cb745a 18 switch(tipobanio) {
josedaparte 0:5f5b67cb745a 19 case 0: //baño rapido
josedaparte 1:c2c292574f7d 20 if(caspresion >= 2.2) { //se lleno
josedaparte 0:5f5b67cb745a 21 pc.printf("se lleno y apago ev\n\r");
josedaparte 0:5f5b67cb745a 22 ev = 0;
josedaparte 0:5f5b67cb745a 23 }
josedaparte 1:c2c292574f7d 24 if(caspresion <= 1.53) { //se vacio
josedaparte 0:5f5b67cb745a 25 cont++;
josedaparte 0:5f5b67cb745a 26 pc.printf("se vacio\n\r");
josedaparte 0:5f5b67cb745a 27 pc.printf("%d\n\r", cont);
josedaparte 0:5f5b67cb745a 28 if(cont > 20) { //contador
josedaparte 0:5f5b67cb745a 29 ev = 1;
josedaparte 0:5f5b67cb745a 30 cont = 0;
josedaparte 0:5f5b67cb745a 31 pc.printf("se activa la ev\n\r");
josedaparte 0:5f5b67cb745a 32 }
josedaparte 0:5f5b67cb745a 33 }
josedaparte 0:5f5b67cb745a 34 break;
josedaparte 0:5f5b67cb745a 35 case 1: //baño normal
josedaparte 1:c2c292574f7d 36 if(caspresion >= 2.6) { //se lleno
josedaparte 0:5f5b67cb745a 37 pc.printf("se lleno y apago ev\n\r");
josedaparte 0:5f5b67cb745a 38 ev = 0;
josedaparte 0:5f5b67cb745a 39 }
josedaparte 1:c2c292574f7d 40 if(caspresion <= 1.53) { //se vacio
josedaparte 0:5f5b67cb745a 41 cont++;
josedaparte 0:5f5b67cb745a 42 pc.printf("se vacio\n\r");
josedaparte 0:5f5b67cb745a 43 pc.printf("%d\n\r", cont);
josedaparte 1:c2c292574f7d 44 if(cont == 20) { //contador
josedaparte 0:5f5b67cb745a 45 ev = 1;
josedaparte 0:5f5b67cb745a 46 cont = 0;
josedaparte 0:5f5b67cb745a 47 pc.printf("se activa la ev\n\r");
josedaparte 0:5f5b67cb745a 48 }
josedaparte 0:5f5b67cb745a 49 }
josedaparte 0:5f5b67cb745a 50 break;
josedaparte 0:5f5b67cb745a 51 } //fin switch
josedaparte 0:5f5b67cb745a 52 evalvula.write(ev);
josedaparte 0:5f5b67cb745a 53 } //funcion
josedaparte 0:5f5b67cb745a 54
josedaparte 0:5f5b67cb745a 55 int main()
josedaparte 0:5f5b67cb745a 56 {
josedaparte 0:5f5b67cb745a 57 pc.baud(115200);
josedaparte 0:5f5b67cb745a 58 while (true) {
josedaparte 0:5f5b67cb745a 59 pc.printf("llama funcion ev=%d\n\r",ev);
josedaparte 0:5f5b67cb745a 60 presion();
josedaparte 0:5f5b67cb745a 61 wait(1);
josedaparte 0:5f5b67cb745a 62 } //fin while
josedaparte 0:5f5b67cb745a 63 } //fin main