electro

Dependencies:   mbed mbed-os KeypadLib TextLCD

Revision:
0:6cde030caebb
Child:
1:48c8726d6824
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/electrocoagulador_final.cpp	Fri Mar 01 22:37:35 2019 +0000
@@ -0,0 +1,200 @@
+#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