![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
electro
Dependencies: mbed QEI mbed-os KeypadLib TextLCD
Diff: electrocoagulador_final.cpp
- Revision:
- 8:3649a359ee91
- Parent:
- 7:52b459308d55
- Child:
- 9:1683e8d3454f
diff -r 52b459308d55 -r 3649a359ee91 electrocoagulador_final.cpp --- a/electrocoagulador_final.cpp Tue Mar 05 13:33:10 2019 +0000 +++ b/electrocoagulador_final.cpp Sat Mar 09 17:20:18 2019 +0000 @@ -19,10 +19,10 @@ InterruptIn button(USER_BUTTON); // Cancelar operación /*******************VARIABLES********************/ -int tempUser1 = 5; // Tiempo tope de electrocoagulacion -int tempUser2 = 5; // Tiempo tope de reposo de la vinaza -int tempUser3 = 5; // Tiempo tope de vaciado del agua en el tanque 2 -int tempUser4 = 5; // Tiempo tope de vaciado de residuos en el tanque 2 +int tempUser1 = 1; // Tiempo tope de electrocoagulacion +int tempUser2 = 1; // Tiempo tope de reposo de la vinaza +int tempUser3 = 1; // Tiempo tope de vaciado del agua en el tanque 2 +int tempUser4 = 1; // Tiempo tope de vaciado de residuos en el tanque 2 int pwm = 50.0f; // Duty cycle del motor int tiempoLlenado = 5; // Tiempo de llenado del tanque 1 @@ -40,6 +40,8 @@ float r=1.0f; float e_pas=0; +int timeScale = 60; + /******************** TECLADO Y LCD ***********************/ Serial pc(USBTX, USBRX); //rs, e,d4,d5,d6,d7 TextLCD lcd(PC_8,PC_9,PC_10,PC_11,PC_12,PD_2); @@ -47,8 +49,7 @@ /********************* FUNCIONES **************************/ -void printLCD() -{ +void printLCD(){ while(1) { lcd.cls(); lcd.locate(0,0); @@ -97,39 +98,28 @@ while(1) { char key = keypad.getKey(); switch(key) { - case '0': - return 0; - case '1': - return 1; - case '2': - return 2; - case '3': - return 3; - case '4': - return 4; - case '5': - return 5; - case '6': - return 6; - case '7': - return 7; - case '8': - return 8; - case '9': - return 9; + case '0': return 0; + case '1': return 1; + case '2': return 2; + case '3': return 3; + case '4': return 4; + case '5': return 5; + case '6': return 6; + case '7': return 7; + case '8': return 8; + case '9': return 9; case 'A': campo++; if(campo==6) campo=1; - return -1; - //case 'B': return -2; - //case 'C': return -3; + return -2; + //case 'B': return -3; + //case 'C': return -4; case 'D': - return -4; + return -5; default: ; break; - } - wait_ms(100); + } } } @@ -155,41 +145,45 @@ void setUserTimes() { while(1) { -setvalue: + + setvalue: + while(keypad.getKey()!='*'){} a = 100*getNum(); - wait_ms(200); - if(a==-1)goto setvalue; - if(a==-4)break; + if(a==-200)goto setvalue; + if(a==-500)break; + while(keypad.getKey()!='*'){} b = 10*getNum(); - wait_ms(200); - if(b==-1)goto setvalue; - if(b==-4)break; + if(b==-20)goto setvalue; + if(b==-50)break; + while(keypad.getKey()!='*'){} c = getNum(); - wait_ms(200); - if(c==-1)goto setvalue; - if(c==-4)break; + if(c==-2)goto setvalue; + if(c==-5)break; + switch(campo) { case 1: - tempUser1=a+b+c; + tempUser1 = 60*(a+b+c); break; case 2: - tempUser2=a+b+c; + tempUser2 = timeScale*(a+b+c); break; case 3: - tempUser3=a+b+c; + tempUser3 = timeScale*(a+b+c); break; case 4: - tempUser4=a+b+c; + tempUser4 = timeScale*(a+b+c); break; case 5: pwm=a+b+c; + if(pwm < 5) pwm = 5; + if(pwm > 100) pwm = 100; break; default: ; break; } - wait_ms(200); + wait_ms(2); } return; } @@ -264,9 +258,7 @@ running = 1; init(); Thread lcdprint; - lcdprint.start(printLCD); - - + lcdprint.start(printLCD); campo = 1; setUserTimes(); @@ -274,8 +266,8 @@ campo = 0; finished = 0; canceled = 0; + E_1 = 1; - t.attach(&tiempoValvula1, tiempoLlenado); }