proyectotecnicas
/
presionMio
presion rutina vaciado ok
main.cpp@0:5f5b67cb745a, 2015-12-16 (annotated)
- Committer:
- josedaparte
- Date:
- Wed Dec 16 01:13:11 2015 +0000
- Revision:
- 0:5f5b67cb745a
- Child:
- 1:c2c292574f7d
rutina presion ok
Who changed what in which revision?
User | Revision | Line number | New 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 | 0:5f5b67cb745a | 20 | if(caspresion <= 2.4 && caspresion >= 1.7) { //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 | 0:5f5b67cb745a | 24 | if(caspresion <= 1.53 && caspresion >= 1.3) { //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 | 0:5f5b67cb745a | 36 | if(caspresion == 2.88) { //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 | 0:5f5b67cb745a | 40 | if(caspresion == 1.49) { //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 | 0:5f5b67cb745a | 44 | if(cont == 100) { //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 |