electro

Dependencies:   mbed 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