![](/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-02
- Revision:
- 3:a4994da37d1f
- Parent:
- 2:4b27d3d7341a
- Child:
- 4:2636fe1c6527
File content as of revision 3:a4994da37d1f:
#include "mbed.h" #include "keypad.h" #include "TextLCD.h" #include "stdlib.h" /*******************ELECTROVALVULAS********************/ DigitalOut E_1(D8,0); //Control de electrovalvula 1 DigitalOut E_2(D9,0); //Control de electrovalvula 2 DigitalOut E_3(D10,0); //Control de electrovalvula 3 DigitalOut E_4(D12,0); //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 int temp_user_1=0; //tiempo tope de electrocoagulacion int temp_user_2=0; //tiempo tope de reposo de la vinaza int temp_user_3=0; //tiempo tope de vaciado del agua en el tanque 2 int 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(); lcd.printf(" STOP!"); lcd.locate(0,1); lcd.printf(" PLEASE RESET"); wait_ms(150); } } void electro_1() { E_1=!E_1; } void electro_2() { E_2=!E_2; } void electro_3() { E_3=!E_3; } void electro_4() { E_4=!E_4; } /***********************MAIN***************************/ int main() { button.rise(&stop); keypad.enablePullUp(); wait(1); lcd.locate(0,0); lcd.printf(" Control para\n"); lcd.locate(0,1); lcd.printf("electrocoagular\n"); wait(1.5); lcd.cls(); while(1) { ini_1: lcd.cls(); lcd.locate(0,0); lcd.printf("t_1=%d",temp_user_1); lcd.locate(8,0); lcd.printf("t_2=%d",temp_user_2); lcd.locate(0,1); lcd.printf("t_3=%d",temp_user_3); lcd.locate(8,1); lcd.printf("t_4=%d",temp_user_4); wait_ms(100); char key = keypad.getKey(); //if(key=='A') { //lcd.cls(); //lcd.locate(0,0); //lcd.printf("%c",key); //wait(3); // lcd.printf("t_1=%f",temp_user_1); if(key=='1') { temp_user_1=temp_user_1+10; if(temp_user_1<00) { temp_user_1=00; } wait_ms(150); } if(key=='2') { temp_user_1=temp_user_1-1; if(temp_user_1<00) { temp_user_1=00; } wait_ms(150); } if(key=='3') { temp_user_2=temp_user_2+10; if(temp_user_2<00) { temp_user_2=00; } wait_ms(150); } if(key=='A') { temp_user_2=temp_user_2-1; if(temp_user_2<00) { temp_user_2=00; } wait_ms(150); } if(key=='4') { temp_user_3=temp_user_3+10; if(temp_user_3<00) { temp_user_3=00; } wait_ms(150); } if(key=='5') { temp_user_3=temp_user_3-1; if(temp_user_3<00) { temp_user_3=00; } wait_ms(150); } if(key=='6') { temp_user_4=temp_user_4+10; if(temp_user_4<00) { temp_user_4=00; } wait_ms(150); } if(key=='B') { temp_user_4=temp_user_4-1; if(temp_user_4<00) { temp_user_4=00; } wait_ms(150); } /***********************COMIENZA CONTROL***********************/ if(key=='D' && temp_user_1!=0) { t_1.attach(&electro_1,temp_user_1); } else if (key=='D' && temp_user_1==0) { lcd.cls(); lcd.printf(" t_1 empty"); wait(1.5); key='\0'; goto ini_1; } /* if(key=='A'){ while(llena<=2){ if(llena<3){ cadena[llena]=keypad.getKey(); temp_user_1=strtod(cadena,NULL); llena++; switch(llena){ case 0: if(llena==0 && keypad.getKey()!= '\0'){ cadena[llena]=keypad.getKey(); llena=llena +1; break; } case 1: if(llena==1 && keypad.getKey()!= '\0'){ cadena[llena]=keypad.getKey(); llena=llena+1; break; } case 2: if(llena==2 && keypad.getKey()!= '\0'){ cadena[llena]=keypad.getKey(); llena=llena+1; break;} default: break; }*/ //lcd.cls(); //temp_user_1=strtod(cadena,NULL); //lcd.locate(0,0); //lcd.printf("t_1=%f",temp_user_1); }//termina while de main }//termina main