Control de nivel

Dependencies:   mbed

Revision:
1:cc6233e787ea
Parent:
0:4193f27fd712
--- a/main.cpp	Sat Feb 01 18:17:18 2020 +0000
+++ b/main.cpp	Sat Feb 15 19:19:36 2020 +0000
@@ -1,12 +1,64 @@
-#include "mbed.h"
+#include "mbed.h"       // llamado a la libreria mbed
+
+//Entradas digitales
+DigitalIn Pulsador(PA_0);
 
-DigitalOut myled(LED1);
+//Salidas digitales
+DigitalOut led_naranja(PD_13);
+DigitalOut led_verde(PD_12);
+DigitalOut led_rojo(PD_14);
+DigitalOut led_azul(PD_15);
+
+//Entradas analogicas
+ AnalogIn ain1(PC_1);
+ 
+//Salidas analogicas
+
+//Variables auxiliares
+
+//Comunicacion 
+Serial device (PA_2,PA_3);
 
 int main() {
+    device.baud(115200);
     while(1) {
-        myled = 1;
-        wait(0.2);
-        myled = 0;
-        wait(0.2);
-    }
-}
+              device.printf("Nivel en porcentaje: %0.1f%%\n", ain1.read()*100.0f);
+              
+              if(ain1 < 0.1f) {     //Condicionamiento para detectar nivel bajo bajo
+                  led_rojo = 1;         //Enciende indicador de nivel bajo bajo
+                  device.printf("Alarma de nivel bajo bajo\r ");
+                  }
+                  else{
+                      led_rojo = 0;     //Apaga indicador de nivel bajo bajo
+                      }
+                      
+              if(ain1 > 0.1f and ain1 < 0.3f) {     //Condicionamiento para detectar nivel bajo
+                  led_naranja = 1;         //Enciende indicador de nivel bajo
+                  }
+                  else{
+                      led_naranja = 0;     //Apaga indicador de nivel bajo
+                      }
+                      
+              if(ain1 > 0.3f and ain1 < 0.9f) {     //Condicionamiento para detectar nivel normal
+                  led_verde = 1;                         //Enciende indicador de nivel normal
+                  }
+                  else{
+                      led_verde = 0;                     //Apaga indicador de nivel normal
+                      }
+              
+              if(ain1 > 0.9f) {                     //Condicionamiento para detectar nivel alto
+                  led_azul = 1;                         //Enciende indicador de nivel alto
+                  device.printf("Alarma de nivel alto\r ");
+                  }
+                  else{
+                      led_azul = 0;                     //Apaga indicador de nivel alto
+                      }
+                      
+              if(Pulsador == 1) {                     //Prueba de pulsador
+                  device.printf("Pulsador presionado\n ");
+                  }
+       
+              wait(0.5f);
+       }
+}        
+