Sei sulla pagina 1di 35

INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

TECNOLOGICO NACIONAL DE MEXICO


INSTITUTO TECNOLOGICO DE OAXACA

PROGRAMACIN VISUAL

PROYECTO FINAL (SISTEMA DE RIEGO AUTOMATICO)

INGENIERIA ELECTRONICA

HORA: 5:00 PM 6:00 PM

VELASCO MEJIA JAIME


BUSTAMANTE MARTNEZ JOS DAVID

OAXACA DE JUAREZ, OAXACA A 07 DE DICIEMBRE DE 2017

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 1

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

INTRODUCCION

Los sistemas de riego permiten tener un mayor control del entorno donde crecen las
plantas. Son utilizados para aumentar la calidad y rendimiento de las plantaciones
en ciertas ubicaciones que tienen estaciones cortas de crecimiento, o bien malas
condiciones de riego debido a las localizaciones geogrficas, por lo que permiten
mejorar la produccin de alimentos vegetales en entornos extremos.
En este proyecto se ha desarrollado una maqueta de un sistema de riego y se
propone el uso del microcontrolador Arduino y del Visual Basic, con el objetivo de
lograr una tarea de control y monitorizacin sobre dicha maqueta.
Por una parte, se utiliza la placa Arduino como tarjeta controladora del sistema y, a
su vez, como tarjeta adquiridora de datos, y por otra parte se ha desarrollado una
interfaz capaz de monitorizar, controlar y supervisar el estado del sistema de riego.
Para llevar a cabo el flujo de informacin entre el sistema de riego y los dispositivos
de monitorizacin, se ha desarrollado una interfaz bajo el cdigo de Visual Basic,
capaz de administrar la informacin del sistema de riego.

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 2

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

Contenido
Hiptesis .............................................................................................................................................. 4
Objetivo general .................................................................................................................................. 4
Objetivos especficos ........................................................................................................................... 4
Tipo de regado (Sistema de riego Automatizado) .............................................................................. 4
Sensores electrnicos.......................................................................................................................... 6
ARDUINO UNO ................................................................................................................................ 7
Sistema de Monitoreo y controlador .............................................................................................. 7
Sensor de humedad (YL-69) ............................................................................................................ 7
Caractersticas: ............................................................................................................................ 8
Aplicaciones:................................................................................................................................ 8
Diagrama de bloques .......................................................................................................................... 9
Diseo del hardware y software del sistema de riego automatizado ............................................ 9
Vlvula de control ......................................................................................................................... 10
Lgica de control ............................................................................................................................... 11
Descripcin del programa principal .............................................................................................. 11
DESARROLLO DEL PROYECTO (SISTEMA DE RIEGO AUTOMATICO) .................................................. 12
CONCLUSIONES ................................................................................................................................. 23
ANEXO ............................................................................................................................................... 24
(FOTOS) ......................................................................................................................................... 24

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 3

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

Hiptesis
Si se disea un sistema automatizado de riego por goteo entonces se podr reducir
el consumo de recurso hdrico en un 85 90%.

Objetivo general
Implementar un control de riego, controlado por sensores de humedad, para el
cultivo de diferentes tipos de herbolaria.

Objetivos especficos
Investigar sobre las condiciones en que se debe cultivar, como son la temperatura,
y condiciones del suelo.
Determinar el tamao mnimo para la implementacin del sistema, al igual que la
correcta eleccin de los componentes que se necesiten.
Disear y construir un sistema de invernadero con elementos reciclables.
El diseo del proceso de automatizacin del sistema de riego automtico.
El desarrollo de la implementacin del algoritmo de control usando un
microcontrolador.
El desarrollo de un programa de entorno visual para el monitoreo de los datos
obtenidos por los sensores, y finalmente, la validacin del sistema automatizado.

Tipo de regado (Sistema de riego Automatizado)


Estado del arte: el objetivo de poder aplicar en campo un controlador automtico
que opera en lazo cerrado, es decir, un sistema de control realimentado; para
aumentar el ahorro del recurso hdrico aplicando las dosis y periodos de riego en
lnea. Adems, de disear el sistema de control y monitoreo del nivel de humedad
cercano a un valor de referencia en los cultivos.
En la configuracin de lazo o malla cerrada, se establece acciones de control que
dependen directamente del estado en que se encuentra la variable de salida, esta
informacin es transmitida al controlador a travs de los sensores que son los que
convierte la variable fsica en una variable elctrica. Dichas acciones se calculan en
funcin del error que se genera entre la variable de referencia y la variable de salida.
En este caso, se emplea sensores que midan el nivel de humedad del suelo que
indican cuando se requiere regar; y aplicar la seal de control en las vlvulas que

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 4

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

actan como los actuadores que regulan el nivel de agua que se emplea para regar
el cultivo.
En el caso del lazo abierto consiste en mantener operativo el sistema por un
determinado periodo de tiempo para que pasado el mismo, el sistema deje de
funcionar y detiene el proceso de riego; sin importar si el nivel de agua requerido
para la planta sea el adecuado. Adems, es necesario conocer la relacin entre la
entrada y la salida del sistema de control, esto es la cantidad de agua aportada al
suelo y la humedad del mismo, respectivamente. De esta forma se puede ajustar
los parmetros del controlador.
La necesidad de reducir el consumo del agua en regiones de tipos ridas y
semiridas es vital para los productores agrcolas. Por tal motivo, se busca nuevas
tecnologas con el fin de lograr tal cometido y asimismo incrementar el nivel de
productividad de los terrenos.
El uso eficiente del agua, lo que en otras palabras se puede interpretar como la
aplicacin de la cantidad de riego requerida para la planta ayuda en reducir las
prdidas tales como: lixiviacin, escorrenta, percolacin, etc.
El principal objetivo del sistema es mantener el nivel de agua adecuado en el cultivo,
ya que esto representa un ptimo consumo del recurso hdrico y un eficiente
consumo de energa elctrica.
La metodologa se realiz estableciendo tres niveles de comunicacin.
El primer nivel consiste en la informacin que se obtiene de los
sensores de humedad que permite obtener el nivel de agua que se aplic al cultivo
y/o planta. Luego, la segundad etapa de comunicacin se da entre el controlador y
el sistema de monitoreo y controlador, en este caso se cre una interfaz en Visual
Basic, en el cual se mostrar el porcentaje de humedad y dependiendo el rango de
hmedo, mandar la seal al actuador. La tercera entapa viene dada por el
controlador, ya que este recibe la seal de los sensores y la interfaz, las procesa y
enva la seal de correccin a los actuadores, (servomotores), para que ajuste y
regule el nivel de agua que ingresa a los cultivos. Dicha seal tambin es conocida
como variable controlada. En ese caso, el sistema le permite a la persona
interactuar y operar con los dispositivos del sistema, tales como el controlador, los
actuadores y sensores.
En un sistema de riego automatizado intervienen elementos electromecnicos.
como bombas, vlvulas, sensores de humedad, goteros, mangueras y tuberas.
Los actuadores son dispositivos que transforman una seal de entrada que es
elctrica en

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 5

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

otro tipo de seal, tales como: elctrica, neumtica, hidrulica, etc. Tiene la
capacidad de
modificar o alterar las condiciones del proceso. Un actuador recibe la orden del
controlador y da una salida necesaria para activar a un elemento final de control.
CLASE DE ACTUADOR EJEMPLO
Elctricos Rels, servomotores, contadores, y
motores DC, de paso, etc..
Hidrulicos Vlvulas solenoides, servo vlvulas.
Trmicos Hornos, y sistemas de enfriamiento.
Neumticos Cilindros y bombas centrifugas.
Sensores electrnicos
Un sensor es un transductor que se encarga de convertir una seal fsica en una
seal elctrica que puede ser voltaje o corriente. Estas seales fsicas provienen
generalmente de fenmenos fsicos, tales como: temperatura, presin, humedad,
pH, movimiento, etc.

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 6

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

ARDUINO UNO
El Arduino es una plataforma computacional fsica open-source basada en una
simple tarjeta de I/O y un entorno de desarrollo que implementa el lenguaje
Processing/Wiring. El Arduino Uno R3 puede ser utilizado para desarrollar objetos
interactivos o puede ser conectado a software de tu computadora (por ejemplo,
Flash, Processing, MaxMSP). El IDE open-source puede ser descargado
gratuitamente (actualmente para Mac OS X,
Caractersticas:
Microcontrolador ATmega328.
Voltaje de entrada 7-12V.
14 pines digitales de I/O (6 salidas PWM).
6 entradas anlogas.
32k de memoria Flash.
Reloj de 16MHz de velocidad.

Sistema de Monitoreo y controlador


Este sistema de riego automatizado se le cre
una interfaz grfica de usuario (GUI)
desarrollada para monitorear y controlar la
variable de proceso, esta interfaz se desarroll
en la plataforma de Visual Basic.
Sensor de humedad (YL-69)
Este sensor puede medir la cantidad de humedad presente en el suelo que lo rodea
empleando dos electrodos que pasan corriente a travs del suelo, y lee la
resistencia. Mayor presencia de agua hace que la tierra conduzca electricidad ms
fcil (Menor resistencia), mientras que un suelo
seco es un conductor pobre de la electricidad
(Mayor resistencia).
Para aplicacin como sensor de humedad en
suelo por largos periodos de tiempo, se
recomienda alimentar el mdulo electrnico
automticamente para encenderlo nicamente
al momento de tomar las mediciones,
apagndolo inmediatamente al terminar y as
minimizar la corrosin electroltica. Tambin se

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 7

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

puede intercambiar las conexiones del elemento sensor peridicamente para que
los dos electrodos roten de polaridad.
Caractersticas:
Medida anloga de la humedad con salida de variacin de voltaje (AO)

Seal digital de superacin de umbral con salida para el usuario (DO) y LED
indicador. La sensibilidad de disparo se puede ajustar mediante trimmer. Esta
funcin es provista por un comparador con LM393
Pines de conexin de la tarjeta: VCC: alimentacin, GND: Tierra, DO: Salida
digital indicadora de superacin de umbral, AO: Salida anloga de la medicin
de humedad
LED indicador de encendido
Voltaje de alimentacin: 2 V a 6 V
Dos agujeros de sujecin en el sensor de dimetro 3 mm aprox. y un agujero de
sujecin en el mdulo electrnico de 2 mm aprox.
Incluye 6 cables de conexin Hembra-Hembra de 20 cm.
Dimensiones aprox: Sensor 6 cm x 2 cm. Mdulo electrnico 4 cm x 1.5 cm
Aplicaciones:
Monitoreo de la humedad en suelos

Jardinera
Alarma de inundacin
Deteccin de nivel mximo en un tanque
DATASHEET DEL SENSOR DE HUMEDAD YL-69
http://www.electronicoscaldas.com/datasheet/OBSoil-01_ElecFreaks.pdf

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 8

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

Diagrama de bloques
El sistema a disear se asemeja a un lazo cerrado de control como el que se puede
apreciar en la siguiente
imagen. Entre los bloques
principales que se
encuentran en el
diagrama, est el
controlador, el actuador,
el sensor y la planta.
Adems, se adiciona el
bloque de la interfaz
grfica de usuario.

Diseo del hardware y software del sistema de riego automatizado


El presente captulo comprende la etapa de seleccin de los componentes que se
requiere para el diseo del sistema automatizado para riego.
El proceso comienza mediante el sensor que mide la variable de inters, en nuestro
caso se trata de la humedad del suelo. Esta variable se va a identificar en el sistema
como la variable de proceso, ya que, dependiendo de su lectura, el controlador en
la interfaz de Visual Basic compara esta seal con una de referencia. Luego, este
ltimo, seleccionar una accin de control que ser enviada a un actuador que, para
nuestro caso, es un servomotor. Esta vlvula solo dispone de 2 estados de
operacin, abierta o cerrada, la cual depende de la accin de control que se escoja
en el controlador. De esta forma, se modifica el valor de la variable manipulada, que
en nuestro caso es el flujo de agua que se transporta a travs de las mangueras.
Entonces el proceso de riego se realiza de manera sncrona, esto significa que se
comienza con el riego todos los sectores con 0 de humedad y una vez que se los

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 9

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

sensores hayan obtenido el nivel de agua necesario para las plantas, el controlador
enva una seal de control a la vlvula para que se cierre y no permite el pase del
flujo de agua.

Vlvula de control
En el sistema automatizado de riego, se necesita del actuador que es el componente
que regula la humedad de suelo al nivel requerido.
Se escogi la vlvula de paso de baja presin ya que se
puede controlar el funcionamiento del mismo por medio de un
micro-controlador, en este caso la plataforma de hardware
libre Arduino UNO. La vlvula que se escogi es de la marca
FLAIR A NTP 3/8" A 1/2".
La vlvula se encuentra completamente abierta o cerrada.
Se encuentra cerrada mientras est desactivada (NC).
Respecto a la bobina, se seleccion el modelo BE, dado que
opera a corriente continua y cumple con el requisito que debe operar en 2 estados.

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 10

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

Lgica de control
Se presenta el diagrama de flujo del programa
principal de la lgica de control del proceso de riego
en la figura de al lado.

Descripcin del programa principal


El programa principal se divide en 3 etapas que se ha
considerado dentro del proceso de riego. La primera
se trata de la configuracin inicial, como todo
programa se necesita de habilitar los pines que se
utilizan tanto de entrada como de salida. Tambin se
necesita habilitar los perifricos que sern utilizados
en el presente programa, tales como: el conversor
anlogo digital y la comunicacin serial. Adems de la
inicializacin de las variables que se requieren para
un adecuado funcionamiento del programa.
La segunda etapa del programa principal consiste en
la calibracin de los sensores, esto se debe a que el
terreno no es homogneo por lo que se necesita una
etapa donde los instrumentos de medicin de
humedad de suelo se acenten con la variedad que
el terreno presenta. Por tal razn, se requiere tomar muestras en un determinado
periodo de riego. Debido que el cambio de humedad en el suelo es lento, se ha
seleccionado un periodo de muestreo de 3 segundos por un total de 5 minutos, lo
que hace un total de 100 muestras por cada sensor.
La tercera y ltima etapa consiste en el proceso de riego. Adicionalmente, en esta
etapa del proceso de riego, cada vez que se obtenga informacin de los sensores
el programa genera una especie de comando en formato string, que ser enviado a
la interfaz grfica de usuario a travs de la comunicacin serial. Este comando enva
la informacin necesaria para conocer el estado en el que se encuentra el proceso
de riego, de esta manera se puede realizar un adecuado monitoreo.

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 11

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

DESARROLLO DEL PROYECTO (SISTEMA DE RIEGO


AUTOMATICO)

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 12

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

1. Lo primero que se realiz fue un pequeo diagrama de clases de


nuestra interfaz que controlar y mostrar los valores que estar
recibiendo de los sensores de Humedad YL-69, mediante ARDUINO
UNO:

Form 1

serial SerialPort
nvl_Humedad Boolean
nvl_HumedadD Boolean
MUEVE
VALOR
String
POSICION String
SELECCION Integer

ButtonMENOS_Click(sender As Object, e As EventArgs)


Timer1_Tick(sender As Object, e As EventArgs)
ButtonMAS_Click(sender As Object, e As EventArgs)
HScrollBar1_Scroll(sender As Object, e As ScrollEventArgs)
HScrollBar2_Scroll(sender As Object, e As ScrollEventArgs)
HScrollBar2_KeyUp(sender As Object, e As KeyEventArgs)
HScrollBar2_KeyDown(sender As Object, e As KeyEventArgs)
HScrollBar2_Move(sender As Object, e As EventArgs)
HScrollBar1_KeyUp(sender As Object, e As KeyEventArgs)
HScrollBar1_KeyDown(sender As Object, e As KeyEventArgs)
HScrollBar1_Move(sender As Object, e As EventArgs)
Value = nvl_Humedad
TrackBar2.Value = nvl_Humedad

SerialConection

conSerial SerialPort
data Boolean
status Boolean
serialData String
namePort String
rate Integer

openConnection() Boolean
readSerial() String
closeConnection() writeSerial Boolean
(ByVal datos As String)

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 13

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

2. Una vez teniendo la lgica de implementacin de nuestra interfaz, se


procedi hacer la comunicacin en Arduino para poder conectar los
sensores y los servomotores a la maqueta, cabe recalcar que el
ARDUINO UNO se conectara a la interfaz mediante el puerto serial en
este caso ser COM10 para que la interfaz en Visual Basic, pueda
leer los valores y escribir en el ARDUINO la seal que ser entregada
al servomotor. (FOTOS ANEXO)

3. Se muestra el cdigo en #include <Servo.h> //LIBRERIA STANDARD DE


ARDUINO, como fueron ARDUINO

declarados, los pines de Servo servo1;


entrada y salida: Servo servo2;

char recibidoo; //GUARDA EL CARACTER RECIBIDO

int angulo ;

int recibido ;

int buzzer7 = 7 ;

int ledrojo6 = 6;

Se declara la librera para que me int ledverde5 = 5;


pueda reconocer los const int analogPin=A0;
servomotores, en el cual se
int value = 0; // valor de la humedad
ocuparon los pines 8 y 9, ya para
el sensor se ocup el pin byte VALSAL = 0; // valor de la humedad en byte

analgico A0, para que reconozca void setup() {


el grado de humedad del suelo. servo1.attach(9); //Se conecta al pin 9

servo2.attach(8);

pinMode(buzzer7, OUTPUT);//INICIALIZA

pinMode(ledrojo6, OUTPUT);//INICIALIZA

pinMode(ledverde5, OUTPUT);//INICIALIZA EL
PIN

Serial.begin(9600);

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 14

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

void loop() {

Para que el sensor me mande un value = analogRead(analogPin); //realiza la lectura


analogica
porcentaje de 0 a 100 se hace la
siguiente conversin: VALSAL =(100.0*value)/1024;

if (Serial.available() > 0) //Es para leer el bit de entrada


Se multiplica el valor recibido del {
sensor por 100 entre 1024. recibido = Serial.read();

switch (recibido)

case '0':angulo = 0; break;

case '1':angulo = 90;break;

//case '2':angulo = 180;break;

servo1.write (angulo);

servo2.write (angulo);

//---------------------------------------------------

Serial.println(VALSAL);

delay(50);

//---------------------------------------------------

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 15

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

4. Una vez copilado este cdigo, nos pasamos a crear nuestra interfaz de
muestreo y control de nuestro sistema de riego.

En el cual como se muestra en la imagen se ocuparon, botones, TrackBall, y barra


de desplazamientos, y por supuestos los labels para mostrar algunos valores.
Los dos TrackBall son los que va a recibir el valor del ARDUINO, que estarn
enviando los dos sensores de humedad de suelo instalado, la cual estar enlazado
a los dos label para mostrar el valor recibido en forma de porcentaje, en el cual
podr mostrar si la tierra esta mojada o seca, en este caso esta configurado, que
cuando me muestre un porcentaje de 80% - 100% la tierra estar seca, y cuando
me muestre de 0% - 40% la tierra estar mojada.
Ya en la barra de desplazamiento recibir el valor del TrackBall el cual este lo
interpretar en solo dos estados, el cual van a ser los grados que se van a mover
los servomotores, ya sea que regrese a 0 o avance al 90.
Contiene dos botones el cual se pueden activar si en dado caso nuestra vlvula se
traba o sucede un accidente. (FOTOS ANEXO)

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 16

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

5. Se anexa el cdigo fuente de la clase de serial conexin de nuestro


Visual Basic para que reconozca la escritura en los puertos seriales.
Imports System.IO.Ports
Imports System.Text
Public Class Cls_SerialConection
Public conSerial As SerialPort = Nothing 'puerto serial en donde se harn las operaciones de
escritura y lectura con arduino
Public data As Boolean = False
Public status As Boolean = False

Public serialData As String


'constructor de la clase que se encarga de inicializar el puerto serie para la comunicacin con
Arduino
Sub New(Optional ByVal namePort As String = "COM10", Optional ByVal rate As Integer = 9600)
Try
conSerial = New SerialPort(namePort, rate)
AddHandler conSerial.DataReceived, AddressOf recepcion 'Rutina asignada a escuchar
cuando exista informacin en el puerto serie
Catch ex As Exception

End Try
End Sub

Private Sub recepcion()


serialData = readSerial()
End Sub

'rutina para abrir el puerto


Public Function openConnection() As Boolean
Try
If Not conSerial.IsOpen Then
conSerial.Open()
status = True
End If
Return True
Catch ex As Exception
MsgBox("No se pudo abrir el puerto" & ex.Message)
Return False
End Try
End Function

'rutina que hace la lectura de uno de los pines del puerto


Public Function readSerial() As String
Dim dato As String = ""
Try
dato = conSerial.ReadLine()
If dato <> Nothing Then
Return dato
Else
Return ""
End If
data = False 'cambiamos la bandera porque se ha ledo el dato del puerto
Catch ex As Exception
MsgBox("Error al ler el puerto serial")
Return ""
End Try
End Function

'rutina para cerrar la conexin hacia el puerto


Public Sub closeConnection()
Try

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 17

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

If conSerial.IsOpen Then conSerial.Close() : status = False


Catch ex As Exception
MsgBox("No se pudo cerrar el puerto")
End Try
End Sub

Public Sub writeSerial(ByVal datos As String)


Try
'int caracter
'0-9
Dim buffer() = Encoding.ASCII.GetBytes(datos) 'Buffer con la cadena que se enviar al
serial
conSerial.Write(buffer, 0, buffer.Length) 'Escribimos sobre el puerto serial
Catch ex As Exception
MsgBox("Error al escribir en el puerto serial")
End Try
End Sub

End Class

6. Se anexa nuestro cdigo de nuestro formulario (interfaz) la cual se


utiliz:
Public Class Form1

Dim serial As New Cls_SerialConection


Dim nvl_Humedad As String
Dim nvl_HumedadD As String
Dim MUEVE As Boolean 'DETERMINA SI SE HA INICIADO LA SELECCION EN UN TRACKBAR
Dim VALOR As Integer 'ALMACENA EL VALOR DEL TRACKBAR
Dim POSICION As Integer 'PARA GUARDAR LAS DIFERENTES POSICIONES
Dim SELECCION As Boolean 'PARA ACTIVAR Y DESACTIVAR EL TRACKBAR
Private Sub ButtonMENOS_Click(sender As Object, e As EventArgs) Handles ButtonMENOS.Click
HScrollBar1.Value = 0 'REDUCE LA POSICION
HScrollBar2.Value = 0 'REDUCE LA POSICION
If HScrollBar1.Value >= 0 Then 'SI LA POSICION ES MAYOR O IGUAL A 0 ENVIA EL VALOR CORRESPONDIENTE
(VER PROCEDIMIENTO ENVIA() )
ENVIA()
Else
HScrollBar1.Value = 0 'SI ES MENOR QUE CERO SOLO LA CORRIGE A CERO Y MUESTRA EL MENSAJE DE QUE YA
ESTA EN LA POSICION MINIMA
MsgBox("POSICION MINIMA")
End If
If HScrollBar2.Value >= 0 Then 'SI LA POSICION ES MAYOR O IGUAL A 0 ENVIA EL VALOR CORRESPONDIENTE
(VER PROCEDIMIENTO ENVIA() )
ENVIA()
Else
HScrollBar2.Value = 0 'SI ES MENOR QUE CERO SOLO LA CORRIGE A CERO Y MUESTRA EL MENSAJE DE QUE YA
ESTA EN LA POSICION MINIMA
MsgBox("POSICION MINIMA")
End If
End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load


CheckForIllegalCrossThreadCalls = False 'PARA PODER MOSTRAR LOS MENSAJES DESDE ARDUINO EN LA ETIQUETA
CORRESPONDIENTE
serial.closeConnection()
serial.openConnection()

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 18

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

Timer1.Start()
End Sub

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick


nvl_Humedad = CInt(serial.serialData)
TrackBarROJO.Value = nvl_Humedad
TrackBar2.Value = nvl_Humedad
LabelValor.Text = nvl_Humedad
Label8.Text = nvl_Humedad
Try
If TrackBarROJO.Value >= 0 And nvl_Humedad <= 40 Then
HScrollBar1.Value = 0
HScrollBar2.Value = 0
serial.writeSerial("0")
serial.writeSerial("6")
serial.writeSerial("4")
serial.writeSerial("8")
ElseIf TrackBarROJO.Value >= 80 And nvl_Humedad <= 100 Then

HScrollBar1.Value = 90
HScrollBar2.Value = 90
serial.writeSerial("1")
serial.writeSerial("4")
serial.writeSerial("6")
serial.writeSerial("8")
End If
HScrollBar1.Value = HScrollBar1.Value 'AJUSTA EL VALOR DEL TRACKBAR AL VALOR ENVIADO
Label3.Text = HScrollBar1.Value 'MUESTRA EL VALOR DE LA POSICION ENVIADA
Label6.Text = HScrollBar1.Value
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Public Sub ENVIA()
'ARDUINO SOLO LEE UN CARACTER A LA VEZ. EN ESTE PROCEDIMIENTO HEMOS DIVIDIDO LOS 180 DEL SERVO EN 12
INTERVALOS DE 15 CADA UNO.
'Y ESTABLECEMOS UNA CORRELACION ENTRE UN CARACTER Y UNA POSICION
Try
If HScrollBar1.Value = 0 Then
Button1.BackColor = Color.Green
Button5.BackColor = Color.Blue
Button4.BackColor = Color.Silver
serial.writeSerial("0")
serial.writeSerial("6")
serial.writeSerial("4")
serial.writeSerial("8")
ElseIf HScrollBar1.Value = 90 Then
Button1.BackColor = Color.Red
Button5.BackColor = Color.Silver
Button4.BackColor = Color.Silver
serial.writeSerial("1")
serial.writeSerial("4")
serial.writeSerial("6")

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 19

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

serial.writeSerial("8")
End If
ScrollBar1.Value = HScrollBar1.Value 'AJUSTA EL VALOR DEL TRACKBAR AL VALOR ENVIADO
Label3.Text = HScrollBar1.Value 'MUESTRA EL VALOR DE LA POSICION ENVIADA
Label6.Text = HScrollBar1.Value
Catch ex As Exception
MsgBox(ex.Message)
End Try

End Sub
Private Sub TrackBarROJO_Scroll(sender As Object, e As EventArgs) Handles TrackBarROJO.Scroll
If MUEVE = True Then 'MUESTRA EL VALOR DEL TRACKBAR EN LA ETIQUETA CORRESPONDIENTE DURANTE LA
SELECCION
VALOR = TrackBarROJO.Value
End If
End Sub
Private Sub ButtonMAS_Click(sender As Object, e As EventArgs) Handles ButtonMAS.Click
HScrollBar1.Value = 90 'AUMENTA LA POSICION
HScrollBar2.Value = 90 'AUMENTA LA POSICION
If HScrollBar1.Value <= 90 Then 'SI LA POSICION ES MENOR O IGUAL A 180 ENVIA EL VALOR CORRESPONDIENTE
(VER PROCEDIMIENTO ENVIA() )
ENVIA()
Else
HScrollBar1.Value = 90 'SI ES MAYOR QUE 180 SOLO LA CORRIGE A 180 Y MUESTRA EL MENSAJE DE QUE YA
ESTA EN LA POSICION MAXIMA
MsgBox("POSICION MAXIMA")
End If

If HScrollBar2.Value <= 90 Then 'SI LA POSICION ES MENOR O IGUAL A 180 ENVIA EL VALOR CORRESPONDIENTE
(VER PROCEDIMIENTO ENVIA() )
ENVIA()

Else
HScrollBar2.Value = 90 'SI ES MAYOR QUE 180 SOLO LA CORRIGE A 180 Y MUESTRA EL MENSAJE DE QUE YA
ESTA EN LA POSICION MAXIMA
MsgBox("POSICION MAXIMA")
End If
End Sub
Private Sub HScrollBar1_Scroll(sender As Object, e As ScrollEventArgs) Handles HScrollBar1.Scroll
If HScrollBar1.Value = 0 Then
HScrollBar2.Value = HScrollBar1.Value
serial.writeSerial("0")
serial.writeSerial("6")
serial.writeSerial("4")
serial.writeSerial("8")
ElseIf HScrollBar1.Value = 90 Then
HScrollBar2.Value = HScrollBar1.Value
serial.writeSerial("1")
serial.writeSerial("4")
serial.writeSerial("6")
serial.writeSerial("8")
End If
Label3.Text = HScrollBar1.Value
Label6.Text = HScrollBar1.Value
End Sub

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 20

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

Private Sub HScrollBar2_Scroll(sender As Object, e As ScrollEventArgs) Handles HScrollBar2.Scroll


If HScrollBar2.Value = 0 Then
serial.writeSerial("0")
serial.writeSerial("6")
serial.writeSerial("4")
serial.writeSerial("8")
ElseIf HScrollBar2.Value = 90 Then
serial.writeSerial("1")
serial.writeSerial("4")
serial.writeSerial("6")
serial.writeSerial("8")
'ElseIf HScrollBar2.Value = 180 Then
' serial.writeSerial("1")
End If
Label6.Text = HScrollBar2.Value
End Sub
Private Sub HScrollBar2_KeyUp(sender As Object, e As KeyEventArgs) Handles HScrollBar1.KeyUp
Try
ENVIA()
SELECCION = False 'DESACTIVA EL TRACKBAR
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub HScrollBar2_KeyDown(sender As Object, e As KeyEventArgs) Handles HScrollBar1.KeyDown
SELECCION = True 'ACTIVA EL TRACKBAR AL PRESIONAR EL MOUSE IZQUIERDO SOBRE EL TRACKBAR
End Sub
Private Sub HScrollBar2_Move(sender As Object, e As EventArgs) Handles HScrollBar1.Move
If SELECCION = True Then
HScrollBar1.Value = HScrollBar1.Value 'POSICION GUARDA EL VALOR DEL TRACKAR CADA VEZ QUE SE MUEVE
Label3.Text = HScrollBar1.Value 'MUESTRA EL VALOR DEL TRACKBAR (POSICION)
End If
End Sub
Private Sub HScrollBar1_KeyUp(sender As Object, e As KeyEventArgs) Handles HScrollBar1.KeyUp
Try
ENVIA()

SELECCION = False 'DESACTIVA EL TRACKBAR


Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub HScrollBar1_KeyDown(sender As Object, e As KeyEventArgs) Handles HScrollBar1.KeyDown
SELECCION = True 'ACTIVA EL TRACKBAR AL PRESIONAR EL MOUSE IZQUIERDO SOBRE EL TRACKBAR
End Sub

Private Sub HScrollBar1_Move(sender As Object, e As EventArgs) Handles HScrollBar1.Move


If SELECCION = True Then
HScrollBar1.Value = HScrollBar1.Value 'POSICION GUARDA EL VALOR DEL TRACKAR CADA VEZ QUE SE MUEVE
Label3.Text = HScrollBar1.Value 'MUESTRA EL VALOR DEL TRACKBAR (POSICION)
End If
End Sub

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 21

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

End Sub

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click

End Sub
End Class

7. Integracin del sistema de riego con el sistema de monitoreo y controlador.


En primera instancia se requiere seleccionar los parmetros de comunicacin serial,
bsicamente se trata de escoger el puerto por donde se transmitir la informacin del
Arduino Uno. Una vez establecido esto, se da comienzo al sistema de monitoreo activando
el interruptor general de la interfaz, el cual puede ser visualizado por el indicador. Adems,
se ha considerado un botn de parada en caso se quiera detener el ciclo de riego. Se
agreg dos cuadros donde se puede observar que el comando generado por el Arduino
Uno ha sido enviado. De esta forma, se corrobora que la informacin enviada se plasma en
el visualizador y en los indicadores. Se puede apreciar el nivel de humedad de suelo, el
estado de funcionamiento de la vlvula de riego y el sector en el que se encuentra
actualmente. (FOTOS ANEXO)

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 22

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

CONCLUSIONES
Este proyecto ha sido de mucha importancia ya que se pusieron a prueba los
conocimientos adquiridos durante el semestre y tambin ayudo a reforzar los
mismos. De igual manera se obtuvieron nuevos conocimientos en la parte elctrica
y en otras reas.
Se cumplieron con los objetivos iniciales de diseo de un sistema automatizado para
riego, el diseo electrnico fue simulado e implementado en un circuito de
entrenamiento.
Se desarroll el algoritmo de control en lenguaje C, utilizando el programa Arduino
que es un cdigo abierto, por lo que no requiere de licencia para su funcionamiento.
Se logr su implementacin en la tarjeta de desarrollo Arduino UNO del mismo
fabricante.
Se logra realizar la comunicacin serial del sistema, a una velocidad de transmisin
de 9600 baudios, con un computador personal de propsito general, utilizando como
interfaz con el usuario una pantalla de visualizacin y algunos indicadores que
proporcionan la informacin necesaria del sistema de riego. Esto desarrollado con
el programa Visual Basic.
La estrategia de control aplicada combinada con el sistema de riego para este
sistema particular permite ahorrar tericamente (1-105000/720000) *100% = 85 %
del total de agua que se emplea en el riego por inundacin durante las 5 horas que
dura el proceso de riego.

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 23

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

ANEXO
(FOTOS)

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 24

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 25

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 26

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 27

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 28

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 29

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 30

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 31

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 32

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 33

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 34

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx
INSTITUTO TECNOLGICO DE OAXACA

Departamento de Ingeniera Electrnica

BIBLIOGRAFIA
I. Empresa Jain: Sistema comercial automtico de riego por goteo. ISRAEL.
http://www.jains.com/irrigation/automation%20systems/Automation%20syst
ems.html
II. Empresa Rain Bird: Soluciones de Riego por goteo automatizado. ESPAA.
http://www.rainbird.es/19-6300-Liste-de-
produits.php?id_categories=38&t=1&n=11
III. Capraro Flavio, Tosetti Santiago, Vita Facundo, Patio Daniel, Schugurensky
Carlos, Fullana Rogelio, 2008, Sistema de Monitoreo Continuo de la
Humedad en Suelo para el control de Riego en un Olvar (Olea Europaea L.)
Empleando Labview, 37 Jaiio Jornadas de Inf. Ind Agroinformtica; p.
28-42
IV. Benzekri, A., Meghriche, K., & Refoufi, L. (2007, July). PC-based automation
of a multi-mode control for an irrigation system. In Industrial Embedded
Systems, 2007. SIES'07. International Symposium on (pp. 310-315). IEEE.
V. Romero, R., Muriel, J. L., Garca, I., & Muoz de la Pea, D. (2012). Research
on automatic irrigation control: State of the art and recent results. Agricultural
Water Management, 114, 59-66.
VI. CAMARGO GARCA, Mara del Rosario. Sistema de control de riego
automtico mediante el monitoreo de humedad del suelo va internet. 2014.
Tesis Doctoral.
VII. VARAS SALAZAR, Zulema. Diseo de un sistema electrnico para riego de
csped de jardn empleando un sensor de humedad de suelos y
comunicacin inalmbrica. 2013.

PROGRAMACIN VISUAL (SISTMA DE RIEGO ATOMTICO) 35

Av. Ing. Vctor Bravo Ahuja #125 esq. Clz. Tecnolgico. C.P. 68030. Oaxaca. Oax.
www.itoaxaca.edu.mx

Potrebbero piacerti anche