Está en la página 1de 37

UNIVERSIDAD TECNOLOGICA DE CHILE

INACAP
AREA ELECTRICIDAD Y ELECTRONICA

Profesor Patrocinante:
Gustavo Dinamarca

A&A REMOTE

Antofagasta, 10 Diciembre de 2014

Jos Salas
Belfor Psijas

UNIVERSIDAD TECNOLOGICA DE CHILE INACAP


rea electricidad y electrnica

Profesor Patrocinante:
Gustavo Dinamarca

A&A REMOTE

Jos Salas
Belfor Psijas

10 Diciembre 2014

Resumen
Este documento muestra las etapas de diseo, conexin e implementacin de una aplicacin
para Android y el microcontrolador Arduino, en adelante Arduino.
Por la aplicacin Android, un operador o usuario, involucrado en la actividad de control de
un sistema de tratamiento de gases, podr, a travs de su celular o aparato porttil, comunicarse con
la planta, controlndola y monitorendola en lnea, independiente de su ubicacin geogrfica
mientras cuente con acceso a internet desde su dispositivo.
La aplicacin Android se diseara en el programa eclipse y cumplir la funcin de una
interfaz grfica entre hombre y mquina. Esta aplicacin se comunicara, va acceso de internet, con
Arduino. Este ltimo dispositivo contar con el programa de control de la planta de tratamiento de
gases y cumplir la funcin de controlador. En el Arduino se introducir la lgica de control y se
procesaran las seales de entrada y salida para la manipulacin de las variables a controlar.

Tabla de Contenidos
LISTA DE FIGURAS...........................................................................................................................................VI
LISTA DE TABLAS...........................................................................................................................................VIII
ABREVIACIONES..............................................................................................................................................IX
CAPTULO 1. INTRODUCCIN........................................................................................................................10
1.1.

INTRODUCCIN GENERAL..................................................................................................................10

1.2.

TRABAJOS PREVIOS............................................................................................................................10

1.3.

LA OBTENCIN DE LA INFORMACIN.................................................................................................10

1.4.

HIPTESIS DE TRABAJO......................................................................................................................10

1.5.

OBJETIVOS..........................................................................................................................................11

1.5.1

Objetivo General...........................................................................................................................11

1.5.2

Objetivos especficos.....................................................................................................................11

1.6.

ALCANCES Y LIMITACIONES...............................................................................................................11

1.7.

TEMARIO Y METODOLOGA................................................................................................................12

CAPTULO 2. PROCESO.....................................................................................................................................13
2.1.

INTRODUCCIN...................................................................................................................................13

2.2.

TRATAMIENTO DE TEMPERATURA DE GASES.......................................................................................13

2.3.

ACTUADORES Y SENSORES.................................................................................................................13

2.4.

PLANTA DE TRATAMIENTO DE GASES..................................................................................................15

2.5.

LAZO DE CONTROL CERRADO.............................................................................................................17

CAPTULO 3. ESTRUCTURA PRINCIPAL DEL PROYECTO EN ECLIPSE..................................................18


3.1.

INTRODUCCIN...................................................................................................................................18

3.2.

ESTRUCTURA......................................................................................................................................18

CAPTULO 4. INTERFAZ GRFICA.................................................................................................................20


4.1.

INTRODUCCIN...................................................................................................................................20

4.2.

REPRESENTACIN DE LA PLANTA.......................................................................................................20

CAPTULO 5. APLICACIN EN PLATAFORMA ANDROID..........................................................................23


5.1.

INTRODUCCIN...................................................................................................................................23

5.2.

DISEO DE LA APLICACIN................................................................................................................23

5.3.

FILOSOFA DE CONTROL.....................................................................................................................26

5
CAPTULO 6. CONECTIVIDAD........................................................................................................................27
6.1.

INTRODUCCIN...................................................................................................................................27

6.2.

ETHERNET SHIELD..............................................................................................................................27

6.3.

CONFIGURACIN DE ROUTER.............................................................................................................28

6.4.

CONFIGURACIN DE APLICACIN EN ANDROID.................................................................................29

CAPTULO 7. ARDUINO....................................................................................................................................31
7.1.

INTRODUCCIN...................................................................................................................................31

7.2.

PROGRAMACIN DEL CONTROLADOR.................................................................................................31

7.3.

MODO MANUAL..................................................................................................................................33

7.4.

MODO AUTOMTICO...........................................................................................................................34

7.5.

INTERFAZ SERVIDOR...........................................................................................................................35

CAPTULO 8. CONCLUSIONES........................................................................................................................36
8.1.

SUMARIO............................................................................................................................................36

8.2.

CONCLUSIONES...................................................................................................................................36

8.3.

TRABAJO FUTURO..............................................................................................................................36

BIBLIOGRAFA...................................................................................................................................................37

Lista de Figuras
FIG. 2.3.1.

P&ID TRATAMIENTO DE TEMPERATURA DE GASES........................................................14

FIG. 2.4.1.

PLANTA DE TRATAMIENTO DE GASES................................................................................15

FIG. 2.4.2.

GABINETE CONTENEDOR DEL CONTROLADOR...............................................................16

FIG. 2.4.3.

TABLERO DE DISTRIBUCIN DE FUERZA Y CONTROL...................................................16

FIG. 2.5.1.

LAZO DE CONTROL CERRADO..............................................................................................17

FIG. 3.2.1.

CARPETAS DE SRC Y GEN................................................................................................18

FIG. 3.2.2.

CONTENIDO CARPETA RES.................................................................................................19

FIG. 4.1.1.

REPRESENTACIN DE LA PLANTA.......................................................................................22

FIG. 5.2.1.

PANTALLA DE USUARIO.........................................................................................................23

FIG. 5.2.2.

PANTALLA DONDE SE REPRESENTA EL PROCESO Y SUS ELEMENTOS.......................24

FIG. 5.2.3.

MEN EN EL INFERIOR DE LA PANTALLA..........................................................................25

FIG. 5.3.1.

IMAGEN CON EJEMPLO DE ACTUADOR INACTIVOS.......................................................26

FIG. 5.3.2.

IMAGEN CON EJEMPLO DE ACTUADOR ACTIVOS...........................................................26

FIG. 6.2.1.

IMAGEN PARA ACCEDER A CDIGO DE WEBSERVER.....................................................27

FIG. 6.2.2.

MODIFICACIN DE IP Y PUERTO..........................................................................................28

FIG. 6.3.1

PUERTO EN ROUTER...............................................................................................................28

FIG. 6.4.1. PUBLIC VOID PARA LA CONEXIN CON ARDUINO................................................................29


FIG. 6.4.2. PERMISO EN ANDROIDMANIFEST..............................................................................................30
FIG. 7.2.1. DECLARACIN DE VARIABLES EN ARDUINO.........................................................................31
FIG. 7.2.2. DECLARACIN DE VARIABLES EN ARDUINO.........................................................................32
FIG. 7.2.3. ASIGNACIN DE ENTRADAS Y SALIDAS DISCRETAS...........................................................32
FIG. 7.2.4. DECLARACIN DE LAS ENTRADAS ANLOGAS....................................................................32
FIG. 7.2.5. RUTINA DE PRESENCIA DE CLIENTE.........................................................................................33
FIG. 7.3.1. COMANDOS PARA LA LECTURA Y ESCRITURA EN EL SERVIDOR......................................33
FIG. 7.3.2. PARTE DEL CDIGO DE LA RUTINA DEL CONTROL AUTOMTICO...................................34
FIG. 7.5.1. CABECERA HTML...........................................................................................................................35

7
FIG. 7.5.2. VISUALIZACIN DE ENTRADAS ANALGICAS......................................................................35
FIG. 7.5.3. PROGRAMACIN ESTADO DE ACTUADORES HTML.............................................................35
FIG. 7.5.4. CIERRE HTML..................................................................................................................................35

Lista de Tablas
TABLA 4.1.1. REPRESENTACIN DE COMPONENTES...............................................................................20

Abreviaciones
IDE

Entorno de desarrollador integrado.

IP

Protocolo de internet.

EV1

Vlvula sinusoidal 1.

EV2

Vlvula sinusoidal 2.

BB1

Bomba 1.

TK

Tanque.

TT

Transmisor de temperatura.

LT

Transmisor de nivel.

AT

Transmisor de pH.

HTML HyperText Markup Language (Lenguaje de Marcas hipertexto)

10

Captulo 1. Introduccin

1.1. Introduccin General


Los tablets y telfonos celulares son de uso comn en nuestra sociedad y con el avance de la
tecnologa estos equipos han aumentado sus capacidades, de la misma manera han aumentado la
conectividad entre personas, servicios y otros equipos con las tecnologas de comunicacin
inalmbrica como Wi-Fi e Internet.
Estos equipos, gracias a sus prestaciones y servicios, sera una herramienta de gran utilidad
en el rea del control automtico, ya que a travs de ellos una persona tendra la habilidad de
monitorear el proceso y controlar las variables manipulables.
La plataforma usada para este servicio es Android, ya que este posee un mayor nmero de
usuarios en Chile y Amrica Latina en comparacin con otros sistemas operativos para equipos
porttiles

1.2. Trabajos Previos


No se cuenta con trabajos previos propios. Pero en la pgina de desarrollaros de Android se
pueden encontrar ejemplo de utilizacin de los cdigos de programacin para Android. Adems en
Blogs de internet hay ejemplos del encendido y apagado lmparas utilizando la plata forma Android
y el controlador Arduino conectados entre s de manera inalmbrica por Wi-Fi o Ethernet. En clases
se ha trabajado con comandos de programacin como if y case, los cuales son utilizados en el
lenguaje Java y C++, que son lenguajes con los que trabajan Android y Arduino respectivamente.

1.3. La obtencin de la informacin


La informacin es obtenida en totalidad de pginas webs, donde hay video tutoriales en
YouTube, Blogs personales y la pgina de Android Developers que otorgan informacin para el
trabajo.

1.4. Hiptesis de Trabajo


Programando una aplicacin en Android y conectndola con el micro controlado Arduino, se
podr monitorear el estado de un proceso, visualizar la magnitud de las variables medibles y

11

controlar las variables manipulables a travs de la pantalla tctil de un celular, usando como
tecnologa de comunicacin Internet. Toda la actividad debe desarrollarse en lnea.

1.5. Objetivos
1.5.1 Objetivo General
Disear e implementar una aplicacin que se comunique con Arduino, a travs de internet, y
nos permita monitorear, observar la magnitud de las variables manipuladas y controla la primera
etapa de la planta de tratamiento de gases

1.5.2 Objetivos especficos

Definir el proceso.

Hacer una interfaz grfica que represente el proceso.

Describir los botones y otros.

Introducir la lgica de control en Arduino.

Comunicar va internet la aplicacin Android con Arduino.

Controlar los actuadores desde el dispositivo mvil.

Visualizar en el dispositivo mvil la magnitud de las variables medibles.

Entregar ficheros desde la aplicacin Android con informacin histrica del proceso.

1.6. Alcances y Limitaciones


.En este Proyecto se ha logrado construir una aplicacin capaz de controlar de manera remota
la primera etapa del proceso de tratamiento de temperatura de gases a travs de internet utilizando
una Tablet con sistema operativo Android como interfaz y un microcontrolador Arduino. La
aplicacin cuenta con dos tipos de usuario, un usuario supervisor el cual cuanta con la posibilidad de
aplicar el control automtico a la planta y controlar manual de la misma, el otro usuario es el
operador el cual solo tiene acceso al control manual. La aplicacin visualiza los estados de los
actuadores y las mediciones de los sensores en tiempo real.
Una de las limitaciones ms importantes que nos present el proyecto fue, la comunicacin
entre Arduino y Android por el hecho de que en la aplicacin Android solo se puede enviar un
comando hacia Arduino, pero no exista la retroalimentacin. Esto no afecta enormemente el

12

proyecto. Y hubo que buscar una solucin para este problema.


El Shield Ethernet de Arduino nos limita, en la seccin de creacin del cdigo HTML, en
solo usar tres argumentos de programacin, en este caso la funcin IF. Por ende, nuestra
visualizacin en pantalla se tuvo que adaptar en esto y solo logrando ver los tres actuadores
principales del proceso.
La aplicacin solo es adecuada para este proceso en particular, no pudiendo ser modificada o
adaptada para otro proceso. Los ficheros son creados por el controlar Arduino y almacenados en la
memoria SD del mismo controlador.

1.7. Temario y Metodologa


En el primer captulo es una introduccin al proyecto y marca las cotas a las que se enfrentan
nuestro trabajo.
El segundo captulo se describe el proceso que se quiere representar, se nombran y enumeran
cada uno de sus componentes y como intervienen en el proceso.
El tercer captulo se describe de manera general el entorno de desarrollo que se utiliza para
programar.
El cuarto captulo muestra cmo se representa cada elemento de manera grfica en la
interfaz, es decir la manera en que se ver en la pantalla de equipo porttil.
En el quino captulo se determina los componentes que va a tener nuestra aplicacin y como
funcionaran e interactuaran en ella.
Para la utilizacin de los distintos comandos de programacin para Android y Arduino, se
buscaron ejemplos que aplicaran a nuestras necesidades, a veces agregando modificaciones para
adaptar las rutinas a lo que se requera para la aplicacin. Se prob la funcionalidad de estos cdigos
a travs de ensayo y error.

13

Captulo 2. Proceso

2.1. Introduccin
El tratado de la temperatura del gas es un proceso muy utilizado en la industria ya sea para
un tratamiento del gas para luego liberarlo, un pre acondicionamiento para usarlo como combustible
o para su envasado y posterior trasporte.
Por lo que sera de a ayuda, para las personas involucradas en esta actividad, disear una
aplicacin para el control de temperatura de un gas en Android para celulares o Tablets. Ya que a
travs de esta aplicacin podran saber el estado actual y decidir qu hacer (controlarlo) en cualquier
lugar al que tengan acceso a internet. [5]

2.2. Tratamiento de temperatura de gases


El proceso tiene por nombre, tratamiento de temperatura de gases, el cual consiste en que
ingresa un gas, al proceso, con una temperatura inadecuada para el proceso siguiente que sera el
lavado de gases con Venturi. Entonces, el gas para entrar al proceso de lavado, tiene que llegar a
una temperatura ambiente para que el proceso funcione sin problema y ptimamente.
El proceso de torre de aspersin tiene por objetivo bajar la temperatura del gas de ingreso y
dejarlo a una temperatura ambiente. Para bajar esta temperatura se utiliza agua (el gas que ingresa
no tiene que reaccionar con agua), esta agua viaja a travs de tuberas y es impulsada por una bomba
a la torre de aspersin, en la cual, por rociadores, es expulsada para que logre disminuir la
temperatura del gas. [5]

2.3. Actuadores y Sensores


El proceso de tratamiento de temperatura de gases cuenta con 4 sensores los cuales miden,
respectivamente, temperatura de ingreso y salida (lo ms importante del proceso). Un sensor de
nivel en el tanque que abastece el roco, el cual tiene su funcin en la torre de aspersin y en este
tanque tambin se mide constantemente el pH, ya que a medida del tiempo esta agua se contaminara
y su pH se volver cido.
La medicin de pH, es la que condiciona el accionar de apertura de la vlvula de vaciado del
tanque de abastecimiento de agua. Y el cierre de esta vlvula esta acondicionado con la medicin de

14

pH y la medicin mnima de nivel. La vlvula que suministra agua limpia al tanque de


abastecimiento, esta acondicionada por el sensor ultrasnico de nivel. Las bombas estn, netamente,
en funcin de la temperatura. Segn la medicin, el algoritmo de control decidir la operacin de
una o las dos bombas, para el roci en la torre de aspersin. El extractor del gas no est
acondicionado por ninguna variable, este de activa o desactiva con un botn que arranca el proceso
completo.
En resumen la planta cuenta con:
3 Actuadores:

Vlvula de suministro.

Vlvula de vaciado.

Bomba de roci 1.

Y 4 sensores:

Temperatura de entrada.

Temperatura de salida.

Sensor ultrasnico de nivel.

Sensor de pH.

Fig. 2.3.1.

P&ID Tratamiento de temperatura de gases

15

2.4. Planta de tratamiento de gases


El proceso que quiere ser controlado es la primera etapa del tratamiento de gases, el cual
consiste en alcanzar una temperatura adecuada del gas para que pueda ser derivado a otra etapa del
tratamiento de gases.
Para emular esta primera etapa se cuanta con una maqueta que realiza esta seccin del
proceso. Esta maqueta ser controlada por el controlador Arduino y nos comunicaremos de forma
remota utilizando internet desde un aparato porttil con sistema operativo Android, la aplicacin
diseada para comunicacin entre estos dos dispositivos, tendr como objetivo representar de
manera grfica el proceso en la pantalla tctil, mostrando en modo automtico las variables
sensadas, los estados de los actuadores y en modo manual dar la posibilidad de manipular los
actuadores como el usuario lo desee. Los cambios que ocurran podrn ser visualizados de manera
local en la maqueta.
La maqueta cuenta con una torre se aspersin donde se regulara la temperatura del gas, las
vlvulas que modificaran el nivel del estanque de agua que se encuentra en el nivel inferior a la torre
de aspersin y la bomba que conducir un caudal constate de agua hacia la torre de aspersin.

Fig. 2.4.1.

Planta de tratamiento de gases

16

El controlador Arduino se encuentra de manera local dentro de un gabinete para su


proteccin, este enviara las seales desde una tarjeta de rels los cuales activaran las bobinas de los
contactores que se necesiten actuar.

Fig. 2.4.2.

Gabinete contenedor del controlador

La planta cuenta con un talero de distribucin de fuerza y de control, esto permitir que la
planta pueda ser manipulada de manera local.

Fig. 2.4.3.

Tablero de distribucin de fuerza y control.

17

2.5. Lazo de control cerrado


Son los sistemas en los que la accin de control est en funcin de la seal de salida. Los
sistemas de circuito cerrado usan la retroalimentacin desde un resultado final para ajustar la accin
de control en consecuencia. El control en lazo cerrado es imprescindible cuando se da alguna de las
siguientes circunstancias:

Cuando un proceso no es posible de regular por el hombre.

Una produccin a gran escala que exige grandes instalaciones y el hombre no es capaz de
manejar.

Vigilar un proceso es especialmente difcil en algunos casos y requiere una atencin que el
hombre puede perder fcilmente por cansancio o despiste, con los consiguientes riesgos que
ello pueda ocasionar al trabajador y al proceso.

Sus caractersticas son:

Ser complejos, pero amplios en cantidad de parmetros.

La salida se compara con la entrada y le afecta para el control del sistema.

Su propiedad de retroalimentacin.

Ser ms estable a perturbaciones y variaciones internas.

Fig. 2.5.1.

Lazo de control cerrado

18

Captulo 3. Estructura principal del proyecto en Eclipse

3.1. Introduccin
La IDE usada para programas la aplicacin es Eclipse. Se eligi este programa por su
amigable interfaz y la existencia de un gran nmero de tutoriales e informacin refirindose a su uso
y componentes.

3.2. Estructura
Un proyecto Android est organizado por diferentes carpetas, que a su vez contienen varios
ficheros y recursos, por ejemplo, imgenes, audio, archivos xml, archivos java, etc.
En la zona superior del panel lateral izquierdo de Eclipse vemos lo siguiente:

Dentro de la carpeta SRC encontramos el cdigo Java de nuestra app, es decir, la

activity principal (MainActivity.java) y el resto de clases que vayamos creando.

La carpeta GEN contiene un archivo R.java que nos permite acceder a los

recursos ubicados en la carpeta RES desde la activity (actividad), mediante el uso de identificadores.

Tambin vemos los archivos jar que vamos a necesitar para la versin de API

especfica.

Fig. 3.2.1.

Carpetas de src y gen.

La carpeta RES contiene los diferentes tipos de recursos que utiliza nuestra aplicacin.
Dentro de RES encontramos 3 subcarpetas: drawable, layout, y values. La primera de ellas es la

19

encargada de guardar las imgenes, la segunda contiene un fichero xml con las vistas de cada
activity, y la ltima carpeta almacena estilos (Style), cadenas de caracteres (Strings), entre otros.
El archivo AndroidManifiest.xml define caractersticas importantes de la aplicacin. Por
ejemplo, los permisos que necesita, la versin mnima de la plataforma, su nmero de activities
(actividades) e intents, as como los services y content providers necesarios.
El fichero proyect.properties tiene como funcin principal comprobar la versin del
sistema al instalar la aplicacin en el mvil. Su contenido es generado automticamente por el SDK
y no debe ser modificado. [1]

Fig. 3.2.2.

Contenido carpeta res

20

Captulo 4. Interfaz grfica

4.1. Introduccin
La interfaz grfica de un proceso es importante, ya que a travs de imgenes se representara
la planta en la pantalla del dispositivo. Esta interfaz debe ser amigables, de fcil acceso y
entendimiento para el usuario, por lo que las imgenes tienen que representar de la mejor manera los
distintos componentes del sistema y acercarse grficamente a su forma real o normada, as las
personas que utilicen la aplicacin podrn relacionar los objetos que ven en la pantalla con lo que se
encuentra en terreno.

4.2. Representacin de la planta


El sistema de control de temperatura de gases se aprecian los siguientes actuadores: una
bomba y dos vlvulas sinusoidales. En lo que a sensores se refiere encontramos: dos sensores de
temperatura, un sensor de pH y un sensor de nivel como elementos de medida. La estructura de la
planta tambin contiene dos estanques, los cuales portan el agua, una torre de aspersin, una fuente
de emanacin de gas y tuberas. Los elementos antes mencionados sern representados con la
siguiente tabla:

21

Bombas

Vlvulas
Sensores
Fuente de emanacin de gas

Torre de aspersin

Tanque de agua
Caera para gas
Caera para agua
Tabla 4.1.1.

Representacin de componentes

22

La representacin de la planta, uniendo todos sus elementos, es de la siguiente manera:

Fig. 4.1.1.

Representacin de la planta.

23

Captulo 5. Aplicacin en plataforma Android

5.1. Introduccin
La aplicacin a la que va dirigida el proyecto es Android, por la cantidad de informacin en
la web para desarrolladores de aplicaciones, tutoriales y documentacin para diseadores. Pero uno
de los aspectos ms importantes es el hecho que en amrica latina y chile, Android es el sistema
operativo ms popular, rondando el 62% de usuarios en el mercado latinoamericano y nacional. [2]

5.2. Diseo de la aplicacin


La aplicacin tiene por nombre A&A REMOTE, el primer conjunto de caracteres A&A
haciendo referencia a Android y Arduino y REMOTE de por el significado de la palabra que da a
entender de una posicin lejana en el espacio.
La aplicacin posee dos pantallas para que el usuario interacte con la aplicacin, cada una
cumpliendo la funcin como interfaz para una actividad en especfico.
Al iniciar la aplicacin aparecer la pantalla de identificacin de usuario, donde la persona se
deber identificar e ingresar la clave de acceso para visualizar y controlar el proceso. Esta restriccin
de acceso proviene de la necesidad de que solo las personas con competencias en el rea y
autorizadas intervengan en el proceso, para dar como resultado un buen funcionamiento de planta y
velar por la seguridad de las personas que pudieran estar involucradas.

Fig. 5.2.1.

Pantalla de usuario

24

Adems de lo anterior mencionado, en esta primera etapa, la aplicacin dependiendo de


quin sea el usuario que ingrese sus datos ofrecer ciertas restricciones, estas restricciones son sobre
el acceso a las distintas modalidades de control de la planta. La aplicacin cuenta con dos tipos de
controles, un control automtico en el cual por defecto est ajustado el punto de consigna en el que
deben mantenerse las variables medibles los cuales son el pH, nivel y temperatura, el otro tipo de
control es el manual, en el que se podrn controlar las vlvulas y la bomba a travs de botones de
encendido y apagado en pantalla.
La siguiente pantalla muestra al proceso, con una representacin grfica de la planta
simplificada y de fondo color negro para mejorar el contraste y detectar fcilmente los cambios en
las imgenes. Esta pantalla tambin contara con botones que simularan una botonera en terreno para
comandar los distintos actuadores. Adems, se encontraran de manera visual las lecturas de las
magnitudes fsicas que se miden en el proceso.
En esta seccin de la aplicacin el proceso estar siendo visualizado desde el servidor del
que ofrece el controlador Android a travs de un elemento llamado webview. Este objeto nos da la
posibilidad d visualizar en tiempo real a travs de internet el estado de la planta y la medida de sus
variables

Fig. 5.2.2.

Pantalla donde se representa el proceso y sus elementos

La aplicacin cuenta con un men que se despliega para desplazarse hacia otras pantallas y
funciones.

25

Fig. 5.2.3.

Men en el inferior de la pantalla

26

5.3. Filosofa de control


La filosofa de control que se desea utilizar es representar en una circunferencia sobre los
actuadores el estado de estos mismos. La esfera color verde indica que los actuadores se encuentran
en modo de reposo y en rojo que las vlvulas o la bomba est operando. Esto lo lograremos
cambiando la imagen correspondiente a la combinacin de los actuadores activo o inactivos.

Fig. 5.3.1.

Fig. 5.3.2.

Imagen con ejemplo de actuador inactivos

Imagen con ejemplo de actuador activos

27

Captulo 6. Conectividad
6.1. Introduccin
Todos los dispositivos que estn conectados a la misma red que est conectado el Arduino,
tendrn la posibilidad de interactuar con el aparato que queramos controlar, es decir, quien est en la
red casa, de la oficina, del edificio, etc. Es por que a continuacin se explicara a forma de realizar la
conectividad entre Arduino y un Smartphone con Android.

6.2. Ethernet Shield


El Ethernet Shield es un mdulo que permite a una placa Arduino conectarse a internet. Se
basa en el chip ethernet Wiznet W5100. El Wiznet W5100 proporciona una red (IP) capaz de utilizar
TCP y UDP. Utiliza la biblioteca Ethernet, la cual facilita a conexin y operacin de este mdulo
[4].
El Ethernet Shield se utilizara para montar un servidor Web, el cual nos proporcionar el
cdigo para poder verlo en nuestro navegador y poder, as, interactuar con l y con la aplicacin
Android que crearemos a continuacin. Este cdigo se puede extraer del programa Arduino IDE en
Archivos > Ejemplo > Ethernet > WebServer.

Fig. 6.2.1.

Imagen para acceder a cdigo de WebServer.

Una vez hecho esto, este cdigo se modifica: la IP y el puerto, por los que se usaran. Y
obviamente la programacin para o que se desea utilizar para el proceso.

28

Fig. 6.2.2.

Modificacin de IP y puerto.

Posteriormente, el Ethernet Shield se conecta a un router por medio de un cable de red con
cabezales RJ-45, y este estar listo para operar.

6.3. Configuracin de Router


Si queremos controlar desde internet nuestro Arduino (red externa), necesitamos abrir un
puerto del Router y saber nuestra direccin IP. Para abrir un puerto tantas formas, como modelos
hayan en el mercado, por lo general, hay que ingresar al Router por un navegador y buscar en la
configuracin los puerto, y hay dar permiso a la direccin IP que les asignamos al Arduino con el
respectivo puerto.

Fig. 6.3.1

Puerto en Router.

Para saber nuestra IP, basta con buscar en internet con la simple palabra Mi ip con eso un
sinfn de pginas ofrece el servicio para poder saber la IP del equipo en que esta. Esto se necesita
para para acceder desde una red externa a la local, y se puede hacer accediendo a la IP del equipo
proporcionada por la compaa que brinda el servicio, IP dinmica, y colocando el puerto por el cual

29

acceder. Por ejemplo: 192.168.0.110:80. Tambin se puede hacer con una IP esttica, la IP dinmica
cambian no siempre es la misma, para tener una IP dinmica es un servicio pagado. [6] [10]

6.4. Configuracin de aplicacin en Android


En el proyecto de Eclipse, en el MainActivity se crea un Public void para enviar la
instruccin de control a nuestro Arduino. A travs de un botn en el Layout se llama al Public void
por medio de la funcin OnClick, donde este llama a un Public void para presionarlo y otro para
volver a presionarlo, en simples palabras manda un ON o un OFF.
El Public void tiene que inicializar un cliente http para poder conectarnos con nuestro
WebServer en el Arduino, y se le asigna la IP correspondiente pero, se le adjunta la instruccin de
control. Por ejemplo, http://192.168.0.1:80/?L=1, este L=1 nos indica que prendera un Led 1 que
nosotros hayamos designado en el Arduino. Esta direccin se enva por el mtodo http post, es un
protocolo que pasa los pares de nombre y valor en el cuerpo del mensaje de solicitud HTTP.
A continuacin, se puede ver el cdigo implementado en el proyecto de Eclipse.

Fig. 6.4.1. Public void para la conexin con Arduino.


Tambin en el AndroidManifest hay que darle permisos de internet a la aplicacin, ya que a
travs de esta, Android tendr acceso a internet y podr conectarse con el Arduino.

30

Fig. 6.4.2. Permiso en AndroidManifest.

31

Captulo 7. Arduino
7.1. Introduccin
Arduino es una plataforma electrnica de prototipo de hardware libre basado en un hardware
y software flexible y fcil de usar. Arduino consiste en una placa con un microcontrolador y puertos
de entradas y salidas integrados [3], adems en este caso se adoso una placa Shield Ethernet para
poder comunicarnos con el a travs de internet. Los lenguajes de programacin utilizados son C++
para las rutinas de control y HTML para la interaccin de nuestra aplicacin Android con el
controlador.

7.2. Programacin del controlador


Nuestra aplicacin va a utilizar Internet para el envi y recepcin de seales por lo tanto
como primer paso dentro de la rutina en Arduino debemos declarar los datos necesarios de nuestra
red como la direccin IP, mascara de subred y puerto para nuestro Ethernet Shield.

Fig. 7.2.1. Declaracin de variables en Arduino.


En la rutina de programacin de Arduino, como paso siguiente, se definieron las variables:
ValvulaS, Bomba1, ValvulaV, TemperaturaE, TemperaturaS, pH, Nivel, Emergencia como enteros.
Las variables mencionadas corresponden respectivamente a EV1, bomba, EV2, Sensor de
temperatura de entrada, Sensor de temperatura de salida, Sensor de pH, Sensor de nivel y parada de
emergencia.

32

Fig. 7.2.2. Declaracin de variables en Arduino.


Luego se deben definir los pines de entrada y salida que son utilizados en el
microcontrolador asignndolos como entradas o salidas.

Fig. 7.2.3. Asignacin de entradas y salidas discretas.


Adems definimos los variables de los valores que estn asociados a los sensores como
variables anlogas asociadas a su respectivo puerto.

Fig. 7.2.4. Declaracin de las entradas anlogas.


En el controlador Arduino se debe crear un cliente de conexin para que nuestro controlador
establezca comunicacin a travs de internet, esto se logra con una rutina if con la cual el Arduino
detecte que hay un cliente conectado y espere las instrucciones de este.

33

Fig. 7.2.5. Rutina de presencia de cliente.

7.3. Modo manual


En el modo manual, Arduino espera las instrucciones que va a enviar el supervisor u
operador de la planta a travs de su porttil. La manipulacin de los actuadores en modo manual,
como se mencion en captulos anteriores, se realizara por medio de botones en la pantalla del
celular o Tablet, los cuales dentro de la rutina en Android tendrn asignada una URL que
corresponder a una instruccin en especifica en Arduino, esta direccin est conformada por la
direccin IP ms el cdigo con el que se le asigna a esa accin en particular dentro de la rutina de
Arduino. El comando readString.indexOf es el encargado reconocer el cdigo enviado desde
Android al servidor y asociarlo al cdigo de Arduino, con el comando digitalWrite se enviara la
accin al servidor y se ejecutara al mismo tiempo la accin programada en el controlador. En este
modo el usuario de la aplicacin podr abrir o cerrar las vlvulas y encender o parar la bomba del
proceso.

Fig. 7.3.1. Comandos para la lectura y escritura en el servidor

34

La lectura de las mediciones de los sensores debe seguir entregando las magnitudes de las
variables medidas por lo que siguen enviando informacin al servidor que genera el Ethernet Shield

7.4. Modo automtico


Al modo automtico solo tendr acceso el usuario supervisor, esto quiere decir que solo l
podr poner en marcha el proceso de forma automtica. El modo automtico se activara por medio
de un botn desde la aplicacin Android, la activacin de este botn le indicara al Arduino que debe
utilizar la rutina diseada para mantener el nivel del agua del estanque a cierta altura, por lo que la
manipulacin de las vlvulas y la bomba no necesitara intervencin humana y se regir de acuerdo a
la programacin dada por los diseadoras. Los sensores deben seguir mostrando las magnitudes de
las variables por lo que en la pantalla del aparato porttil estos valores seguirn mostrndose. [9]

Fig. 7.3.2. Parte del cdigo de la rutina del control automtico

35

7.5. Interfaz servidor


La interfaz del servidor est programada en HTML y esta guardada en Arduino, esto es
gracias a la Ethernet Shield que nos proporciona un WebServer. Esta interfaz es accesible a travs de
la IP asignara al Arduino.
Lo primero que se tiene que hacer en el cdigo es darle la cabecera de HTML.

Fig. 7.5.1. Cabecera HTML.


En el Body se ingresa el color de fondo, para nuestra interfaz se eligi el negro para darle
contraste con las imgenes dentro de nuestra pantalla.

Fig. 7.5.2. Visualizacin de entradas analgicas.


En la Figura anterior, se puede observar cmo se lee la entrada analgica y se imprime en el
cdigo HTML. [7]
Ahora vemos la programacin realizada para que las imgenes vallan cambiando segn el
estado de los actuadores.

Fig. 7.5.3. Programacin estado de actuadores HTML.


Cabe destacar, que las imgenes estn almacenadas en una nube en internet, por ende se
necesita acceso a internet para ver estas imgenes.
Por ltimo, se cierra el Body para darle fin al cdigo HTML. [8]

Fig. 7.5.4. Cierre HTML.

36

Captulo 8. Conclusiones

8.1. Sumario
La informacin se obtuvo desde la web, de pginas con tutoriales o pginas de
desarrolladores de aplicaciones Android. Donde se estudiaron los cdigos y se aplicaron a los
requerimientos de nuestra aplicacin

8.2. Conclusiones
El desarrollo de la aplicacin es factible. Ya que los recursos y funciones de las aplicaciones
Android se pueden adaptar para utilizarlos en el control automtico y monitoreo de una planta a
distancia.
La gran ventaja es el uso de aparato con los que ya cuentan lo usuarios o son fciles de
adquirir en el mercado, como celulares y Tablet. Arruino, tambin es una plataforma fcil de
adquiere y familiarizarse, gracias a la gran cantidad de tutoriales y ejemplos para desarrolladores
que se encuentran y la gran ventaja de este controlador es su caracterstica de cdigo abierto, esto a
logrado que Arduino sea compatible con otras plataformas y cdigos de programacin como HTML
y C++.
Con la aplicacin en Android y la programacin del controlador, se logr monitorear y
controlar la planta de tratamiento de gases a travs de internet, dando la posibilidad de que los
usuarios que tengan acceso y estn autorizados por la Aplicacin puedan visualizar las variables
medidas, los estados de los actuadores y adems controlar estos ltimos desde cualquier parte del
mundo donde tengan acceso a internet.

8.3. Trabajo Futuro


Agregarle la capacidad de adaptarse a otros procesos, agregando nuevos componentes de
procesos, como otros tipos de sensores y actuadores, para que la aplicacin pueda ser modificada
por el usuario y as adaptarla a sus necesidades.

37

Bibliografa
[1]

http://www.elandroidelibre.com/tag/20conceptos

[2]

http://guialocal.com/blog/es/2013/12/17/sistemas-operativos-mobile-quien-es-quien-enlatinoamerica/

[3]

http://www.arduino.utfsm.cl/que-es-arduino/

[4]

http://arduino.cc/en/pmwiki.php?n=Main/ArduinoEthernetShield

[5]

Tesis: Automatizacin de cmara rociadora con Arduino, Jorquera Cantuarias


Melndez Ruiz, 2014, Inacap Antofagasta.

[6]

http://standards.ieee.org/about/get/802/802.11.html

[7]

http://ascii.cl/es/codigos-html.htm

[8]

http://www-app.etsit.upm.es/~alvaro/manual/manual.html

[9]

http://arduino.cc/en/Reference/HomePage

[10]

http://www.artinteractivo.com/arduino-ethernet

También podría gustarte