![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
electro
Dependencies: mbed QEI mbed-os KeypadLib TextLCD
electrocoagulador_final.cpp
- Committer:
- afsaavedram
- Date:
- 2019-03-01
- Revision:
- 0:6cde030caebb
- Child:
- 1:48c8726d6824
File content as of revision 0:6cde030caebb:
#include "mbed.h" #include "keypad.h" #include "TextLCD.h" #include "stdlib.h" /*******************ELECTROVALVULAS********************/ DigitalOut E_1(D8); //Control de electrovalvula 1 DigitalOut E_2(D9); //Control de electrovalvula 2 DigitalOut E_3(D10); //Control de electrovalvula 3 DigitalOut E_4(D12); //Control de electrovalvula 4 AnalogIn sensor_nivel(A0); //Sensor nivel tanque 1 /*****************************************************/ /*******************INTERRUPCIONES********************/ InterruptIn button(USER_BUTTON); Timeout t_1; Timeout t_2; Timeout t_3; Timeout t_4; //tiempos de usuario float temp_user_1=0; //tiempo tope de electrocoagulacion float temp_user_2=0; //tiempo tope de reposo de la vinaza float temp_user_3=0; //tiempo tope de vaciado del agua en el tanque 2 float temp_user_4=0; //tiempo tope de vaciado de residuos en el tanque 2 /********************TECLADO Y LCD***********************/ // rs, e,d4,d5,d6,d7 TextLCD lcd(PC_8,PC_9,PC_10,PC_11,PC_12,PD_2); Keypad keypad(D3, D2, D1, D0, D7, D6, D5, D4); float num=0; char cadena[3]= {' ',' ',' '}; int llena=0; //verificar que la entrada es de 3 numeros /*********************FUNCIONES**************************/ void stop() //STOP { while(1) { lcd.cls(); } } bool electro_1() { E_1=!E_1; return E_1; } bool electro_2() { E_2=!E_2; return E_2; } bool electro_3() { E_3=!E_3; return E_3; } bool electro_4() { E_4=!E_4; return E_4; } /***********************MAIN***************************/ int main() { button.rise(&stop); keypad.enablePullUp(); wait(1); ini_1: lcd.locate(0,0); lcd.printf(" Control para\n"); lcd.locate(0,1); lcd.printf("electrocoagular\n"); wait(3); lcd.cls(); while(1) { lcd.locate(0,0); lcd.printf("t_1=%f",temp_user_1); lcd.locate(8,0); lcd.printf("t_2=%f",temp_user_2); lcd.locate(0,1); lcd.printf("t_3=%f",temp_user_3); lcd.locate(8,1); lcd.printf("t_4=%f",temp_user_4); char key = keypad.getKey(); // if(key=='A'){temp_user_1=10;} if(key=='A'){ } /* ini2: if(flag==0) { if(keypad.getKey()=='B') { cadena[0]=' '; cadena[1]=' '; cadena[2]=' '; llena=0; num=0; if(pos==4) { pos=1; } else { pos++; } } else if(keypad.getKey()=='A') { llena--; cadena[llena]=' '; num=strtod(cadena,NULL); } else if((keypad.getKey()=='0')||(keypad.getKey()=='1') ||(keypad.getKey()=='2')||(keypad.getKey()=='3') ||(keypad.getKey()=='4')||(keypad.getKey()=='5') ||(keypad.getKey()=='8')||(keypad.getKey()=='9')) { if(llena<3) { cadena[llena]=keypad.getKey(); num=strtod(cadena,NULL); llena++; } } else if(keypad.getKey()=='D') { lcd.cls(); //borra la pantalla lcd.printf("GUARDADOS!"); wait(1); lcd.cls(); lcd.printf("CONTROL INICIADO"); lcd.cls(); wait(2); ciclo_control: if(keypad.getKey()=='C') { temp_user_1=0; temp_user_2=0; temp_user_3=0; temp_user_4=0; llena=0; pos=1; flag=1; cadena[0]=' '; cadena[1]=' '; cadena[2]=' '; goto ini_1; } } if(pos==1){ temp_user_1=num; lcd.locate(3,0);lcd.printf(" "); lcd.locate(3,0);lcd.printf("%f",t_1); } else if(pos==2){ temp_user_2=num; lcd.locate(11,0);lcd.printf(" "); lcd.locate(11,0);lcd.printf("%f",t_2); } else if(pos==3){ temp_user_3=num; lcd.locate(3,1);lcd.printf(" "); lcd.locate(3,1);lcd.printf("%f",t_3); } else if(pos==4){ temp_user_4=num; lcd.locate(11,1);lcd.printf(" "); lcd.locate(11,1);lcd.printf("%f",t_4); } flag=1; goto ini2;} */ }//termina while de main }//termina main