proyectotecnicas
/
presionMio
presion rutina vaciado ok
main.cpp
- Committer:
- josedaparte
- Date:
- 2015-12-16
- Revision:
- 0:5f5b67cb745a
- Child:
- 1:c2c292574f7d
File content as of revision 0:5f5b67cb745a:
#include "mbed.h" #include "TextLCD.h" #include "AnalogIn.h" #include "Serial.h" TextLCD lcd(PTD3, PTA12, PTA4, PTA5, PTC8, PTC9, TextLCD::LCD16x2); AnalogIn presionin(PTB2); DigitalOut evalvula(PTE1); float caspresion; int tipobanio=0, cont=0, ev= 1; Serial pc(USBTX, USBRX); void presion() { caspresion = presionin.read() * 3.3; pc.printf("analogin %.2f\n\r", caspresion); switch(tipobanio) { case 0: //baño rapido if(caspresion <= 2.4 && caspresion >= 1.7) { //se lleno pc.printf("se lleno y apago ev\n\r"); ev = 0; } if(caspresion <= 1.53 && caspresion >= 1.3) { //se vacio cont++; pc.printf("se vacio\n\r"); pc.printf("%d\n\r", cont); if(cont > 20) { //contador ev = 1; cont = 0; pc.printf("se activa la ev\n\r"); } } break; case 1: //baño normal if(caspresion == 2.88) { //se lleno pc.printf("se lleno y apago ev\n\r"); ev = 0; } if(caspresion == 1.49) { //se vacio cont++; pc.printf("se vacio\n\r"); pc.printf("%d\n\r", cont); if(cont == 100) { //contador ev = 1; cont = 0; pc.printf("se activa la ev\n\r"); } } break; } //fin switch evalvula.write(ev); } //funcion int main() { pc.baud(115200); while (true) { pc.printf("llama funcion ev=%d\n\r",ev); presion(); wait(1); } //fin while } //fin main