Sunteți pe pagina 1din 24

ndice de conenidos

1. Contenido
ndice de conenidos ..............................................................................................................................1
ndice de Ilustraciones ..........................................................................................................................1
2. Descripcin del proyecto. .............................................................................................................2
3. Propuesta del proyecto. ...............................................................................................................2
I. Objetivos. .................................................................................................................................2
4. Diseo Mecnico. .........................................................................................................................2
5. Diseo elctrico. ...........................................................................................................................4
6. Diseo electrnico. .......................................................................................................................5
II. Configuracin de cada uno de los puertos y sus respectivas conexiones. ...............................6
7. Lista de piezas y materiales. .........................................................................................................6
8. Presupuesto Real a detalle con valores gastados.........................................................................7
9. Manual de Operacin y mantenimiento. .....................................................................................7
10. Manual de mantenimiento.....................................................................................................10
11. Cdigo de programacin. .......................................................................................................10

ndice de Ilustraciones

Ilustracin 1. Vista superior del sistema mecanico ...............................................................................3


Ilustracin 2. Vista frontal del sistema mecnico .................................................................................3
Ilustracin 3. Diseo esquemtico de una fuente de voltaje de 9 v. .....................................................4
Ilustracin 4. Diseo final de la fuente de voltaje de 9 v. .....................................................................4
Ilustracin 5. Circuito impreso y sellado en la baquelita. .....................................................................5
Ilustracin 6. Diseo de conexiones de los componentes electrnicos. ................................................5

2. Descripcin del proyecto.


El siguiente proyecto es una compilacin de las tcnicas aprendidas en la clase de
electrnica para ciencias de ingeniera y el respectivo laboratorio. Por lo tanto, se procedi
a realizar una maqueta que simula el regado automtico de un sistema de sembro. El
enfoque de dicho proyecto estar direccionado a mantener un ahorro en la cantidad de
agua que se utilice en los procesos de sembro industrial. De esta forma, mediante un
modelo mecnico, elctrico y electrnico, se construy una simulacin de un sistema
automatizado de riego programado. El sistema funciona mediante un microcontrolador
(Arduino Uno) el cual ejecuta las tareas fundamentales programadas en la memoria del
Arduino. Mediante un sensor de humedad, se realiza un escaneo del nivel de agua en la
tierra de una maceta para sembro. Si la informacin ejecutada por el sensor muestra un
valor de humedad entre (1000 y 600) lo cual implica que la tierra se encuentra seca, el
sistema procede a activar la bomba de agua y por lo tanto a regar la maceta de sembro.
Por otro lado, si el sensor de humedad, registra un valor entre (600 y 370) lo cual implica
que la tierra se encuentra humedad, el sistema procede a no activar la bomba de agua.
Adems, el sistema de bomba se regulariza y se apaga automticamente hasta obtener un
valor de humedad permitido entre 600 y 370. Si el sistema del sensor detecta un nivel de
humedad inferior a 370, inmediatamente emite una seal de voltaje hacia el rele de tal
manera que apague la bomba de agua y se interrumpa el flujo de riego. De esta manera
se busca ahorrar la cantidad de agua que se utiliza para los sembros convencionales.

3. Propuesta del proyecto.


EL proyecto busca beneficiar los sistemas de riego que son utilizados de manera casera e
industrial. Mediante el sistema de riego automatizado, se emplea ahorrar la cantidad de
agua que se desperdicia por la falta de conocimiento al momento der evaluar el nivel de
humedad que una planta o sembro necesita para satisfacer las necesidades dentro del
crecimiento. Adems busca ahorrar tiempo y mano de obra, ya que funciona mediante un
sensor que activa una bomba automticamente cuando las condiciones en el terreno as lo
dispongan.

I. Objetivos.
Buscar un ahorro considerable en el riego de un sembro o planta casera mediante
el sistema de riego automatizado.
Mediante la teora y experiencia evaluada en e laboratorio de electrnica, asegurar
que la eficientica tanto energtica como mecnica, se garantiza en el sistema de
riego automatizado.

4. Diseo Mecnico.

Dentro del diseo mecnico, el sistema de riego automatizado presenta una geometra
relativamente sencilla. Los componentes principales son un soporte de madera que
anclara a una caja que contiene los circuitos responsables del funcionamiento electrnico
del sistema de riego automatizado. Adems, se utilizara un tanque de coleccin de agua
que para ejemplificar el caso tiene la cantidad de fluido necesario para poder funcionar
constantemente el sistema de riego. Para la simulacin, se adjunta una maceta que
contiene tierra.
Vista superior. (Acotada en cm)

ILUSTRACIN 1. VISTA SUPERIOR DEL SISTEMA MECANICO

Vista Frontal (Acotada en cm)

ILUSTRACIN 2. VISTA FRONTAL DEL SISTEMA MECNICO

Dentro del diseo mecnico, se consider que el agua tenga una altura considerable capaz
de que el sistema de bombeo se ejecute con mayor rapidez. La altura mxima de
almacenamiento, ser de 20 cm. Sin embargo, este sistema puede ser autoajustable e
incluso se puede aadir un sistema de mayor capacidad (cm3) e incluso de mayor altura.
La variacin de altura ser eficiente para que la bomba trabaje menos. El material
utilizado para el diseo mecnico es madera de roble. Se eligi este material por presentar
durabilidad y adems consistencia. Para la maseta, durante la presentacin del proyecto
por fines prcticos se consider adaptar una tarrina de plstico, para poder mejorar la
maleabilidad al momento de ubicar el sensor de humedad. De igual forma el tipo de
maseta que se utilice para fines prcticos puede ser variable.

5. Diseo elctrico.
El primer paso que se tom dentro del diseo electrico, fue la de construir una fuente de
voltaje de 9 v que alimentara al Arduino. La fuente de voltaje contiene un transformador
de 120 v -12 v, un puente de diodos, un capacitor de 1000 micro Faradios, un componente
LM7809, un capacitor de 0,01 micro faradios y dos borneras para la entrada y salida de
cables.

ILUSTRACIN 3. DISEO ESQUEMTICO DE UNA FUENTE DE VOLTAJE DE 9 V.

El funcionamiento de esta fuente de voltaje, empieza en la recoleccin de energa elctrica de 120 v


a partir de un transformador que entrega un voltaje de 12 v. Despus atraviesa un puente de diodos
que funciona como rectificador de onda, de tal manera que nos entrega ondas continuas positivas. El
capacitor C1, funciona como un filtro de onda, de tal manera que los picos mximos y mnimos del
voltaje se ajustan. Al pasar por el componente LM7809, la onda toma un rumbo casi constante entre
9 v, sin embargo, se pone un capacitor C2 para poder eliminar el ruido elctrico.

Una vez concebido el diseo esquemtico y el funcionamiento de la fuente de voltaje, se procedi a


disear el esquema elctrico que ser impreso en una baquelita de cobre. Para este paso, se procede a
utilizar el sistema conversor de Proteus, con lo cual se obtuvo el siguiente circuito.

ILUSTRACIN 4. DISEO FINAL DE LA FUENTE DE VOLTAJE DE 9 V.

En esta vista se puede apreciar cmo van las conexiones en la baquelita, de tal manera
que el siguiente paso es imprimir en papel fotogrfico, la rplica exacta en modo espejo
para poder traspasar la tinta de la impresin lser hacia una baquelita. Despus se debe
ubicar cada uno de los componentes para su posterior soldadura.

ILUSTRACIN 5. CIRCUITO IMPRESO Y SELLADO EN LA BAQUELITA.

La ilustracin 5, muestra el circuito que se sella en la baquelita. Para este proceso se


debe lijar la superficie de cobre, despus planchar el papel fotogrfico hasta que quede
impreso y finalmente remojar en acido frrico disuelto en agua, de tal manera que solo
queden los caminos pintados en cobre. Despus se procede a taladrar cada uno de los
huecos donde se colocan los componentes electrnicos.
Para alimentar la bomba de agua de 12 v, se utiliz una fuente de poder fabricada que
emite un voltaje de 12 v. En este aspecto no se utiliz una conexin extra que sea
planificada con un diseo elctrico en Proteus. Por opciones limitadas de tiempo
simplemente se auto modifico la conexin de una fuente hacia la bomba de agua.

6. Diseo electrnico.
En el diseo electrnico, se encuentran todos los circuitos que tienen una funcin
operacional en cada proceso de la informacin programada. En el siguiente esquema se
procede a identificar el sistema de conexiones para el diseo electrnico.

ILUSTRACIN 6. DISEO DE CONEXIONES DE LOS COMPONENTES ELECTRNICOS.

Descripcin: El Arduino Uno, es el cerebro de todo el proyecto. Se encarga de procesar


la informacin que previamente se subi mediante la compilacin de un lenguaje de
programacin. Con un teclado tipo membrana, se procede a registrar las ordenes que se
ven sujetas en una pantalla led. Mediante este dispositivo se sube las ordenes por medio
del usuario para proceder a correr el sistema de riego automatizado en cada una de sus
fases. Para poder controlar el flujo de energa elctrica hacia la bomba, al momento de
que las condiciones sujetas por el sensor de humedad sean las ptimas, se activa el rel
de tal manera que permite el flujo de energa elctrica hacia la bomba. De igual forma
cuando las condiciones sean las ptimas para finalizar el proceso de riego, el rele recibe
la orden por parte del micro controlador, de cerrar el flujo de electricidad. Cabe recalcar
que existen dos fuentes de voltaje independientes, para el Arduino (9v) y el
funcionamiento de la bomba (12v).

II. Configuracin de cada uno de los puertos y sus respectivas


conexiones.

La pantalla tiene 4 entradas la SSA, SSL, GND Y 5V. La entrada SSA de la pantalla va
conectada a la SSA del Arduino. La entrada SSL de la pantalla va conectada a la SSL del
Arduino. Tanto las entradas de voltaje a 5v y las tierras, siempre deben ser emparejadas
entre el componente y el adruino mediante el uso de la protoboard. Despus tenemos el
sensor de humedad, el cual se encuentra conectado a su componente. La salida de 5v del
sensor debe estar conectada a la entrada de 5 v del Arduino y de igual formas las tierras
deben estar emparejadas. Adems, la entrada digital del sensor debe ir direccionada a la
entrada A0, del Arduino. Esta ltima entrada es la no analgica del arduino. Para el rel,
este debe estar conectado un cable al negativo de la bomba y el otro cable al negativo del
transformador. Por otro lado, el positivo del transformador va directo a la bomba. El rel
tiene una entrada a 5 v una entrada a tierra que va emparejado mediante la protoboard. El
ultimo pin del rel, va conectado al pin 7 del Arduino. Finalmente, para la pantalla, las
primeras 4 salidas son de filas y van conectadas a los puertos de 3 a la 6 del Arduino. La
columna 8 de la pantalla, va conectada a la entrada 2 del Arduino.

7. Lista de piezas y materiales.

Materiales
Soporte y estructura de madera
Tubo flexible de plstico
Maceta estndar
Tanque de almacenamiento
Arduino Uno
Baquelitas
2 Capacitores
Puente de diodos
Componente LM7809
Sensor de Humedad
Bomba de Agua
Teclado Membrana
Pantalla LCD
Cables tipo MM.
Cables tipo MH.
Fuente de Voltaje de 12 V
Rel electromecnico
2 Borneras

8. Presupuesto Real a detalle con valores gastados.

Materiales Costo (dolares)


Soporte y estructura de madera 40
Tubo flexible de plstico 0,50
Maceta estndar 0,50
Tanque de almacenamiento 1
Arduino Uno 30
Baquelitas 1
2 Capacitores 1
Puente de diodos 5
Componente LM7809 5
Sensor de Humedad 12
Bomba de Agua 12
Teclado Membrana 3
Pantalla LCD 12
Cables tipo MM. 2.50
Cables tipo MH. 1
Fuente de Voltaje de 12 V 10
Rel electromecnico 1
2 Borneras 1
Total 138.50

9. Manual de Operacin y mantenimiento.


Bienvenido a PLantPal vamos a comenzar

Para analizar la humedad presiona B Se procede a analizar la humedad

Al medir el nivel de humeda de la planta se obtienen 4


casos

Caso 3 : Tu
Caso 2: Sensor Caso 4: Tu planta
Caso 1: Se procede planta puede
desconectado, se encuentra
a relaizar el riego ahogarse, retira
de la planta revisa tus bien, verfica
el tapon de la
conexciones. luego
maceta.

Para el caso 1

Caso 1a: Presiona a Caso 1b: Presiona B Para salir presione A y


para riego automatico. para riego manual. luego presione C
El nivel de humedad es bajo y la planta debe
ser regada. En este caso puede regar el
usuario o la bomba.
El sistema permite la eleccion de un tipo de
Caso 1 riego, ya sea automatico o manual.
El sistema monitorea el nivel de humedad
constantemente. En un momento optimo, el
sistema avisa sobre la finalizacion del
proceso.

El sensor esta desconectado de la maceta.

Caso 2 Es necesario verificar la posicion del sensor.


Recordar que en sensor se debe ubicar en la
parte inferior de la maceta.

En este caso, el nivel de humedad es


exesivo. Por lo tanto el sensor de humedad
Caso 3 detecta una seal que no permite el flujo de
agua hacia la maceta. Tanto el riego manual
como automatico queda inhabilitado.

En este caso la planta tiene un nivel de


Caso 4 humedad optimo, por lo tanto no necesita ser
regada. El programa avisa y termina.
10. Manual de mantenimiento.

Siempre desconectar primero la bomba y luego el


circuito

Para encender conecte el circuito y luego la bomba.

Para realizar el manteniemiento en la tuberia o


drenaje de la bomba, desconecte de la fuente de
poder

Limpiar las aspas del sensor de humedad con un


pauelo fino de fibra.

Mantener la caja de circuitos en un lugar fresco y


cerrado, para evitar cualquier contacto con los
fluidos.

Si se ubica el sistema al aire libre, percatarse que se


encuentre con recubrimiento y un sistema de
enfriamiento para posibles sobrecalentamiento.

11. Cdigo de programacin.

#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <Keypad.h>
LiquidCrystal_I2C LCD(0x27,20,4);
const byte Filas = 4;
const byte Cols = 1;

byte Pins_Filas[] = {6, 5, 4, 3};


byte Pins_Cols[] = {2};

char Teclas [ Filas ][ Cols ] =


{
{'A'},
{'B'},
{'C'},
{'D'},

};

Keypad teclado = Keypad (makeKeymap(Teclas), Pins_Filas, Pins_Cols, Filas, Cols);

int rele = 7;

void setup() {

pinMode(7, OUTPUT);
digitalWrite(12, LOW);

Serial.begin(9600);
LCD.begin(20, 4);
LCD.backlight();
LCD.init();

inicio();

delay(50);

void inicio() {
LCD.clear();
LCD.setCursor (0,0);
LCD.print("Bienvenido a ");
LCD.setCursor (0,1);
LCD.print ("PlantPal");
LCD.setCursor(0,2);
LCD.print("vamos a ");
LCD.setCursor(0,3);
LCD.print("comenzar ");
delay(5000);
LCD.clear();
LCD.setCursor (0,0);
LCD.print("Para ");
LCD.setCursor (0,1);
LCD.print ("analizar la");
LCD.setCursor(0,2);
LCD.print("humedad presiona ");
LCD.setCursor(0,3);
LCD.print("B ");
}

void loop() {

int nivelhumedad = analogRead(A0);


char key_ini2 = teclado.getKey();

if (key_ini2 == 'B')
{

LCD.clear();
LCD.setCursor(0,0);
LCD.print("Vamos a medir ");
LCD.setCursor(0,1);
LCD.print("el nivel de");
LCD.setCursor(0,2);
LCD.print("humedad de la");
LCD.setCursor(0,3);
LCD.print("Planta");
delay(5000);
if(nivelhumedad >= 1000)
{
Menu_Humedad(3);

}
if(nivelhumedad < 1000 && nivelhumedad >= 600)
{
Menu_Humedad(0);
Menu_Riego();
}

if(nivelhumedad < 600 && nivelhumedad >= 370)


{
Menu_Humedad(1);
Menu_NORiego();
}

if(nivelhumedad < 370)


{
Menu_Humedad(2);
Menu_Destape();
}

inicio();
}

nivelhumedad = analogRead(A0);
Serial.println(nivelhumedad);

delay(10);
}

void Menu_Humedad(int tipo){

switch(tipo)
{
case 0:
{
LCD.clear();
LCD.setCursor(0,0);
LCD.print("Resultado Listo");
LCD.setCursor(0,1);
LCD.print(" ");
LCD.setCursor(0,2);
LCD.print("Tu planta");
LCD.setCursor(0,3);
LCD.print("requiere riego");

delay(3000);

LCD.clear();
LCD.setCursor(0,0);
LCD.print("Presiona A");
LCD.setCursor(0,2);
LCD.print("Para riego");
LCD.setCursor(0,3);
LCD.print("Automatico");

delay(3000);

LCD.clear();
LCD.setCursor(0,0);
LCD.print("Presiona B");
LCD.setCursor(0,3);
LCD.print("Para riego manual");

delay(3000);

break;
}
case 1:
{
LCD.clear();
LCD.setCursor(0,0);
LCD.print("Tu planta se");
LCD.setCursor(0,1);
LCD.print("encuentra bien");
LCD.setCursor(0,2);
LCD.print("verifica luego");
LCD.setCursor(0,3);
LCD.print("Gracias");

delay(4000);

break;
}
case 2:
{
LCD.clear();
LCD.setCursor(0,0);
LCD.print("Tu planta ");
LCD.setCursor(0,1);
LCD.print("puede ahogarse");
LCD.setCursor(0,2);
LCD.print("reira el tapon ");
LCD.setCursor(0,3);
LCD.print("de la maceta");

delay(4000);

break;
}
case 3:
{
LCD.clear();
LCD.setCursor(0,0);
LCD.print("SENSOR ");
LCD.setCursor(0,1);
LCD.print("DESCONECTADO");
LCD.setCursor(0,2);
LCD.print("REVISA ");
LCD.setCursor(0,3);
LCD.print("TUS CONECCIONES");

delay(4000);

break;
}
}
}

void Menu_Riego() {
char key_ini3 = teclado.getKey();

while(key_ini3 != '*')
{
char key_tipo = teclado.getKey();
if(key_tipo == 'A')
{
Menu_Automatico();
}

if(key_tipo == 'B')
{
Menu_Manual();
}

if(key_tipo == 'C')
{
break;
}

delay(10);
}
}

void Menu_Automatico(){
LCD.clear();

int nivelhumedad2 = analogRead(A0);

char key_ini4 = teclado.getKey();

while(key_ini4 != '*')
{
nivelhumedad2 = analogRead(A0);
key_ini4 = teclado.getKey();

if(nivelhumedad2 < 1000 && nivelhumedad2 >= 600)


{
LCD.clear();

while(nivelhumedad2 < 1000 && nivelhumedad2 >= 600)


{
LCD.setCursor(0,0);
LCD.print("Regando");
LCD.setCursor(0,1);
LCD.print("tu planta");
digitalWrite(rele, HIGH);
nivelhumedad2 = analogRead(A0);
Serial.println(nivelhumedad2);
delay(250);
}

digitalWrite(rele, LOW);
LCD.clear();
}

LCD.setCursor(0,0);
LCD.print("Para salir");
LCD.setCursor(0,1);
LCD.print("presione A");
LCD.setCursor(0,2);
LCD.print("luego");
LCD.setCursor(0,3);
LCD.print("precione C");

if(key_ini4 == 'A')
{
break;
}
delay(10);
}
}

void Menu_Manual(){

LCD.clear();

int nivelhumedad3 = analogRead(A0);

char key_ini5 = teclado.getKey();


while(key_ini5 != '*')
{
nivelhumedad3 = analogRead(A0);
key_ini5 = teclado.getKey();

if(nivelhumedad3 < 1000 && nivelhumedad3 >= 600)


{
LCD.clear();

while(nivelhumedad3 < 1000 && nivelhumedad3 >= 600)


{
LCD.setCursor(0,0);
LCD.print("Comienze");
LCD.setCursor(0,1);
LCD.print("a regar");

nivelhumedad3 = analogRead(A0);
Serial.println(nivelhumedad3);
delay(250);
}

LCD.clear();
}

LCD.setCursor(0,0);
LCD.print("Para salir");
LCD.setCursor(0,1);
LCD.print("presione A");
LCD.setCursor(0,2);
LCD.print("luego");
LCD.setCursor(0,3);
LCD.print("precione C");

if(key_ini5 == 'A')
{
break;
}
delay(10);
}
}

void Menu_NORiego(){

LCD.clear();
char key_ini6 = teclado.getKey();

while(key_ini6 != 'D')
{
LCD.setCursor(0,0);
LCD.print("Presione D");
LCD.setCursor(0,1);
LCD.print("para salir");
key_ini6 = teclado.getKey();
delay(10);
}

}
void Menu_Destape(){

LCD.clear();

int nivelhumedad4 = analogRead(A0);

char key_ini7 = teclado.getKey();

while(key_ini7 != '*')
{
nivelhumedad4 = analogRead(A0);
key_ini7 = teclado.getKey();

if(nivelhumedad4 < 370)


{
LCD.clear();

while(nivelhumedad4 < 600)


{
LCD.setCursor(0,0);
LCD.print("Analizando");
LCD.setCursor(0,1);
LCD.print("nivel de humedad");

nivelhumedad4 = analogRead(A0);
Serial.println(nivelhumedad4);
delay(250);
}
LCD.clear();
}

LCD.setCursor(0,0);
LCD.print("Para salir");
LCD.setCursor(0,1);
LCD.print("presione A");

if(key_ini7 == 'A')
{
break;
}
delay(10);
}
}

S-ar putea să vă placă și