Mendez Vilchis Emilio. Sistema de deteccion agua a traves de sensores infrarrojos (receptor y emisor) y llenado en un recipiente.

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
Emenvil
Date:
Fri May 31 00:50:05 2019 +0000
Commit message:
Sistema de deteccion de agua (con sensores infrarrojos) y llenado de un recipiente a traves de motores

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 4dcbc10d139b main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri May 31 00:50:05 2019 +0000
@@ -0,0 +1,107 @@
+/* ###########################################################################
+**    Archivo        : main.c
+**    Proyecto       : FRDM-KL46Z_Plantilla
+**    Procesador     : MKL46Z256VLL4
+**    Herramienta    : Mbed
+**    Version        : Driver 01.01
+**    Compilador     : GNU C Compiler
+**    Fecha/Hora     : 14-07-2015, 11:48, # CodeGen: 0
+**    Descripción    :
+**         Este proyecto hace el monitoreo de un recipiente con agua, mediante sensores infrarrojos emisor y receptor, para encender motores que 
+**         facilitan el llenado de este.
+**         This module contains user's application code.
+**   Componentes     : GPIO, Timer, etc .
+**   Configuraciones : Includes, Stacks y Drivers externos
+**   Autores         : Méndez Vilchis Emilio
+**         ATEAM Development Group:
+**          - Antulio Morgado Valle
+**
+**   Versión        : Beta
+**   Revisión       : A
+**   Release        : 0
+**   Bugs & Fixes   :
+**   Date           : 18/05/2019
+**                    Added support for Led_RGB
+**                    22/09/2018 
+**                    Added LCD Menu, Beta version (with bugs)
+**
+* ###########################################################################/
+/*
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+:  Includes
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+*/
+#include "mbed.h"
+
+
+DigitalIn sens1(PTE31); //inicializa canal digital para sensor 1
+DigitalIn sens2(PTE19); //inicializa canal digital para sensor 2
+DigitalIn sens3(PTE18); //inicializa canal digital para sensor 3
+
+DigitalOut gseg(PTE20);   // Inicializa el segmento g del display de catodo comun
+DigitalOut fseg(PTE21);     // Inicializa el segmento f del display de catodo comun
+DigitalOut aseg(PTE22);  // Inicializa el segmento a del display de catodo comun
+DigitalOut bseg(PTE23);     // Inicializa el segmento b del display de catodo comun
+DigitalOut eseg(PTE17);  // Inicializa el segmento e del display de catodo comun
+DigitalOut dseg(PTE16);  // Inicializa el segmento d del display de catodo comun
+DigitalOut cseg(PTE6);  // Inicializa el segmento c del display de catodo comun
+
+DigitalOut motor1(PTB18); // Inicializa motor 1
+DigitalOut motor2(PTB19); // Inicializa motor 2
+
+DigitalOut Buzzer(PTE30); // Inicializa el buzzer (indica al usuario cuando el agua llega al tope del recipiente)
+
+//t cero=0;
+//t uno=1;
+
+int main()
+{
+    while(1) {     //ciclo infinito, para la connstate lectura de los datos de entrada
+        if(sens1.read()==0) {   // Recordando que el sensor receptor emisor al no tener una interrupcion entrela señal delel emisor y receptor nos regresara un 1 
+                                // Al interferir la señal de este se marcara un 0 y por lo tanto, al tener el primer sensor tapado podemos inferir que el nivel de agua en el
+                                //sensor esta en el nivel mas bajo.
+            gseg=1;
+            fseg=0;
+            aseg=1;    ////// el display marca un 2 al mandar 1 a los segmentos de este
+            bseg=1;
+            eseg=1;
+            dseg=1;
+            cseg=0;
+
+
+            motor1=1;        // Se procede a encender ambos motores para hacer mas rapido el llenado del agua
+            motor2=1;
+
+        }
+
+        else if (sens1.read()==0 && sens2.read()==0){ /// al tener interrupcion de la señal en los primeros 2 sensores (nivel inferior y nivel medio)
+        gseg=0;
+        fseg=0;
+        aseg=0;
+        bseg=1; // imprime 1 en el display, indicando que solo un motor trabajara
+        eseg=0;
+        dseg=0;
+        cseg=1;
+        motor1=1;  // el motor 1 sigue su proceso de llenado
+        motor2=0;  // el motor 2 se apaga, pues no es necesario que el recipiente siga llenandose con la misma rapidez
+    }
+
+    else if (sens1.read()==0 && sens2.read()==0 && sens3.read()==0){ // si los 3 sensores tienen su señal interrumpida, sabremos que estamos en el nivel 3
+             
+             gseg=1;
+             fseg=1;
+             aseg=1;
+             bseg=0;          //// estamos en el nivel 3 y se le manda 1 a los segmentos que se requieren para marcar este nivel en el diaplay
+             eseg=1;
+             dseg=1;
+             cseg=0;
+             
+             
+             Buzzer=1;      /// Se acciona el buzzer, como aviso al usuario, el recipiente esta lleno}
+             
+             motor1=0;       /// no es necesario continuar el llenado del recipiente, se procede a mandar 0 a los motores, apagandolos.
+             motor2=0;
+    }
+}
+
+}
diff -r 000000000000 -r 4dcbc10d139b mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Fri May 31 00:50:05 2019 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file