Вы находитесь на странице: 1из 5

Control Remoto Xbee con Arduino y Android

G. Martinez1, E. Salazar1

ResumenEl desarrollo de tecnologas crece da a da,


otorgndonos al alcance de nuestras manos dispositivos de
comunicacin que nos permiten desarrollar tcnicas de control y
supervisin de manera remota, fciles de adquirir, disear y
programar.
En la bsqueda del aprendizaje de nuevas tcnicas se
conjuntaron por una parte la plataforma de desarrollo basada en
microcontrolador, placa Arduino en conjunto con un Shield de
Xbee para proporcionarle comunicacin inalmbrica de un rango
de 100 metros a 1.5 km en reas abiertas, la cual a su vez se
comunica a un dispositivo mvil con Android mediante Bluetooth
para el monitoreo y control de sistemas. Se mencionan algunas
aplicaciones industriales en las cuales puede ser de utilidad.

pueden ser adaptables a las necesidades del usuario puesto que


se encuentran disponibles bajo una licencia abierta.
Otros microcontroladores ofrecen caractersticas similares al
Arduino, pero ste lleva ventaja en cuanto a asequibilidad,
multiplataforma trabajando con Windows, Mac y Linux;
entorno de programacin simple; software y sobre todo
hardware ampliable.

Temas claves Control y Supervisin remota, Xbee, Arduino.


Figura 1. Tarjeta Arduino.

I. INTRODUCCIN

os sistemas control, demandan una constante evolucin en


mtodos y tcnicas y/o tecnologas que se requieren para
lograrlo. Actualmente en la industria la productividad de
los procesos depende en gran medida de la medicin y
manipulacin de las variables fsicas, razn por la que
constantemente se buscan nuevas tecnologas y mtodos
enfocados en la adquisicin, control y supervisin de dichos
procesos [1].
La sinergia entre las tecnologas de la informacin y la
electrnica favorecen el desarrollo de sistemas de control que
Part
permitan su manipulacin en una forma ms amigable, precisa
y sencilla.
e En la universidad Tecnolgica de Torren actualmente se
est trabajando con la plataforma Arduino as como con
diversos Shields para la creacin de aplicaciones industriales y
Tc
domtica, desarrollando sistemas de control manipulados de
forma remota.
nica
del
A. Arduino
Arduino es una herramienta y plataforma electrnica de
Art
cdigo abierto, flexible y sencillo de utilizar. Con ella es
posible crear objetos o entornos interactivos. Esta plataforma
culo
puede detectar o afectar el entorno recibiendo entradas de
diversos sensores y activando algunos actuadores
respectivamente.
La tarjeta Arduino (Fig. 1), posee un microcontrolador el
cual se programa mediante el lenguaje de programacin
Arduino y el entorno de desarrollo Arduino [2]. Posee un
software open source, los ficheros de diseo de referencia
1

Gloria Mnica Martnez Aguilar (ketherelohim@hotmail.com), Eduardo


Salazar Valle (ensenada1096@hotmail.com). Universidad Tecnolgica de
Torren, Carretera Torren-Matamoros Km 10 S/N, Ejido el guila C.P.
27400 Torren, Coahuila, Mxico.

Para empezar a trabajar con la placa solo es necesario


conectarla mediante USB a la computadora y abrir el
programa, escribir el cdigo con el cual se trabajar y cargarlo
a la placa.
B. Xbee
Los mdulos Xbee son dispositivos que integran un
transmisor - receptor de ZigBee y un procesador en un mismo
mdulo, lo que le permite a los usuarios desarrollar
aplicaciones de manera rpida y sencilla. Zigbee es un
protocolo de comunicaciones inalmbrico basado en el
estndar de comunicaciones para redes inalmbricas
IEEE_802.15.4. Creado por Zigbee Alliance, una
organizacin, tericamente sin nimo de lucro, de ms de 200
grandes empresas (destacan Mitsubishi, Honeywell, Philips,
Motorola, Invensys, entre otras), muchas de ellas fabricantes
de semiconductores. Zigbee permite que dispositivos
electrnicos de bajo consumo puedan realizar sus
comunicaciones inalmbricas. Es especialmente til para redes
de sensores en entornos industriales, mdicos y, sobre todo,
domticas [3].

C. Android
Android (Figura 2) es un sistema operativo orientado a
dispositivos porttiles como telfonos inteligentes, netbooks,
tabletas, entre otros. Fue desarrollado inicialmente por la
compaa de software Android Inc., absorbida por Google en
el 2005. Con una plataforma basada en el kernel de Linux
Google promocion un nuevo sistema flexible y actualizable,
llamando la atencin de operadores y fabricantes de hardware
y software.

Figura 2. Icono sistema operativo Android.

A diferencia de sistemas operativos para dispositivos


mviles como iOS o Windows Phone, el cdigo fuente de
Android se mantiene abierto. Soporta multimedia, interfaz
tctil, caractersticas basadas en voz y una amplia variedad de
componentes de hardware. Si se aade a esto un entorno de
desarrollo gratuito que incluye un emulador de dispositivos,
herramientas para depuracin de memoria y anlisis del
rendimiento del software, Android constituye una opcin
interesante para nuevos desarrolladores [4], [5].

respectivos Arduinos. De fbrica cada mdulo Xbee viene


configurado con un PAN ID (el identificador de la red
personal) de 3332 y configurados con una tasa de transferencia
de 9600 baudios, con datos de 8 bits, sin paridad y 1 bit de
paro. Cada Xbee Shield tiene un par de jumpers para definir si
la comunicacin serial se realiza hacia el puerto USB o hacia
el mdulo Xbee. Para configurarlos se debe interactuar con el
puerto USB, esto quiere decir poner ambos jumpers en la
posicin externa de los pines, en la figura 3 puede verse la
ubicacin de tales jumpers [6].

Figura 3. Ubicacin de los jumpers selectores.

D. App Inventor
App Inventor una herramienta muy til, lanzada a la nube
por Google. Permite desarrollar aplicaciones para los telfonos
Android mediante un navegador web. Es ideal para
introducirse al mundo de Android como desarrolladores o por
simple curiosidad. El proceso para poder utilizar esta
herramienta se empieza con la creacin de una cuenta en un
dominio de Google. Requerimientos mnimos: Un S.O. Mac
OS X 10.5, 10.6, Windows XP, Windows Vista, Windows 7,
Ubuntu 8+, Debian 5+ y un Navegador Mozilla Firefox 3.6 o
ms reciente, Apple Safari 5.0 ms reciente, Google Chrome
4.0 ms reciente, Microsoft Internet Explorer 7 o ms reciente.
E. Mdulo Bluetooth
Bluetooth es una especificacin industrial para Redes
Inalmbricas de rea Personal (WPAN) que posibilita la
transmisin de voz y datos entre diferentes dispositivos
mediante un enlace por radiofrecuencia en la banda ISM de los
2,4 GHz. Los principales objetivos que se pretenden conseguir
con esta norma son:
Facilitar las comunicaciones entre equipos mviles y
fijos.
Eliminar cables y conectores entre stos.
Ofrecer la posibilidad de crear pequeas redes
inalmbricas y facilitar la sincronizacin de datos
entre equipos personales.
Los dispositivos que con mayor frecuencia utilizan esta
tecnologa pertenecen a sectores de las telecomunicaciones y
la informtica personal, como PDA, telfonos mviles,
computadoras porttiles, ordenadores personales, impresoras o
cmaras digitales.

II. TRABAJO REALIZADO

L
III.
IV.

o primero que se realizo fue la configuracin de los


mdulos Xbee, para lo cual se montan los Shields a sus

Se puede utilizar el programa Hyperterminal en Windows


para comenzar a configurar el mdulo Xbee. Otras alternativas
son el Serial Monitor que viene integrado en el entorno de
programacin de Arduino o el programa Bray++ Terminal. El
comando necesario para comenzar la interaccin es +++.
Tecleando esto se debe recibir como respuesta un OK. Con lo
cual se establece la conexin y slo tenemos 5 segundos para
interactuar con el mdulo. Despus de ese tiempo, el mdulo
regresa a su estado nativo y para volver a interactuar se debe
teclear +++ nuevamente.
Se us para la conexin a la computadora la placa Arduino
SIN el microcontrolador ATMEGA168. La razn de esto es
que de esa manera podemos directamente interactuar va USB
con el mdulo Xbee.
Los mdulos se configuraron con un PAN ID de 3332, un
mdulo con direccin 0 y otro mdulo con direccin 1. El
mdulo con direccin 0 es el que est conectado a la
dispositivo mvil y el mdulo con direccin 1 es el mdulo
remoto. Para configurar el primero con la direccin 0,
velocidad 9600 8-n-1 y comunicacin con el mdulo de ID1 se
us el siguiente comando:
ATID3332,DH0,DL1,MY0,BD4,WR,CN
Las letras AT le indican al Xbee que le vamos a enviar
comandos. ID3332 le define un PAN ID de 3332, DH0 y DL1
definen la direccin 01 como el Xbee con el que se estar
comunicando, el comando MY0 define la direccin propia
como 0, BD4 define la velocidad en 9600, el comando WR
escribe la configuracin a la memoria y el CN cierra la
configuracin. El segundo mdulo se configuro como:
ATID3332,DH0,DL0,MY1,BD4,WR,CN
Una vez configurados los mdulos se les volvi a montar el
microcontrolador y se procedi a conectar el modulo
Bluetooth al primer mdulo.

El modulo Bluetooth utilizado es el HC-05, dicho mdulo


trabajo mediante conexin serie con el Arduino, y se comunica
con el exterior mediante Bluetooth, ya sea a travs de un
telfono mvil, ordenador, tabletas, etc.
Este mdulo BT solo disponemos de 4 pines que son los
necesarios, por un lado tenemos VCC que se conect a los 5V
del Arduino, por otro GND que va al pin GND de Arduino,
despus tenemos TXD que va conectado al pin RXD del
Arduino y RXD que va al pin TXD de Arduino como se puede
apreciar en la figura 4.

while(Serial.available());
{
Char dato=Serial.read();
switch (dato)
{
Case ON
{
digitalWrite(13,HIGH);
break;
}
Case OFF
{
digitalWrite(13,LOW);
break;
}
}
}

Con los mdulos programados se procedi a crear la


aplicacin para Android, desde App Inventor para esto solo es
necesario acceder a la pgina del mismo con una cuenta de
google y crear un nuevo proyecto [7], lo primero fue generar el
acomodo visual de la aplicacin como se puede apreciar en la
figura 5.

Figura 4. Conexin de mdulo BT.

Con la configuracin de los mdulos Xbee y la conexin del


mdulo BT se procedi a la programacin de las Arduinos
para el envo y recepcin de datos va serial. Para descargar
los programas a las Arduinos se desmonta primero los
Mdulos Xbee. La programacin del primer mdulo es la
siguiente:
/* Modulo Xbee 1
=============
Este programa se utiliza para enviar un estado alto o bajo
remotamente por Xbee, dicho estado lo recibe de un dispositivo mvil
mediante BT
M.C. G. Mnica Mtz A
Diciembre 2012
*/
void setup() {
Serial.begin(9600);
}
void loop() {
while(Serial.available());
{
Char dato=Serial.read();
Serial.print(dato);
Serial.println();
delay(1000);
}
}

La programacin del mdulo remoto es:


/* Modulo Xbee 2
=============
Este programa se utiliza para recibir un estado alto o bajo
remotamente por Xbee, y se refleja la recepcin en el pin 13
M.C. G. Mnica Mtz A
Diciembre 2012
*/
void setup() {
Serial.begin(9600);
}
void loop() {

Figura 5. Acomodo visual de la aplicacin.

Despus se accedi al editor de bloques y se program el


comportamiento de la aplicacin, el primer bloque fue el de la
direccin Mac (Figura 6).

Figura 6. Bloque de texto con la direccin MAC.

La direccin Mac se puede obtener realizando una


bsqueda normal en cualquier aparato con Bluetooth, una vez
encontrado te dir como se llama el dispositivo y cul es su
direccin como se muestra en la Figura 7.

Figura 7. Muestra de cmo obtener la direccin Mac de cualquier dispositivo.

El bloque de inicializacin de pantalla se puede apreciar en


la figura 8, en este se declar B_conectar: Color del texto en
blanco, el texto interior que se mostrara y el comportamiento
del botn Motor deshabilitado.
Figura 9. Definicin del comportamiento para el botn Motor dependiendo
de si es un click corto o uno sostenido para mandar un Texto.

Y por ltimo para el botn Salir se coloca en el diagrama


de bloques el siguiente esquema (Figura 10).
Figura 7. Inicio de la pantalla de la aplicacin.

El siguiente bloque es del comportamiento del botn


B_conectar.clik (Figura 8). Dentro de este bloque se
encuentra un botn que cuando se hace click en el, habilita el
botn de Motor, tambin entra en una condicional si (IF),
donde condiciona a BluetoothClient1.Connected sea igual a
Direccin Mac para cambiar la apariencia del botn
B_conectar.clik tanto en color como en texto.
A si mismo se programa el comportamiento de un Click
Largo en el botn B_conectar.LongClick, el cual
desconectara la comunicacin, devolviendo la apariencia de
ste a su estado original y deshabilitando el botn para
accionar el Motor.

Figura 10. Cerrar aplicacin por medio de un click en el botn SALIR.

Con esto se termin la programacin por bloques realizada


para la aplicacin, la cual se guard con el comando SAVE
y se descarg a la computadora para posteriormente pasarlo al
dispositivo mvil.
Para la descarga se selecciona Package for Phone
(empaquetar para telfono) y luego del men que se desprende
se da click en Download to this Computer (descargar a esta
computadora) como se puede ver en la Figura 11.

Figura 11. Descargar el instalador de la aplicacin para Android (archivo con


extensin .apk)

Con la aplicacin descargada e instalada en el dispositivo


mvil con Android (en este caso una tableta ViewSonic
VPAD7), se procedi a realizar las pruebas. Para ello se
conect el primer mdulo a una pila y se ubic en un punto
fijo, con el segundo mdulo se procedi de igual manera y se
situ a aproximadamente una distancia del primero de 100
metros en lnea recta y en una rea abierta, por ltimo se
accedi a la aplicacin creada en el dispositivo mvil y desde
una distancia de aproximadamente 10 metros en direccin
contraria al segundo mdulo de realizo el envo y recepcin de
datos. Un diagrama de ubicaciones se puede apreciar en la
figura 12.
Figura 8. Bloques para declarar el comportamiento del botn Conectar, y
botn Conectar click largo

Lo siguiente fue programar el comportamiento del botn


Motor, para ello, se necesitan declarar dos acciones: un
simple click y un click largo. La Figura 9 muestra el diagrama
de bloques para definir como funcionara el botn. Cuando se
hace un click, realizara la tarea de enviarle un texto al
dispositivo previamente vinculado, el texto enviado es la
palabra en ingles ON y el otro comportamiento de click
largo enva una palabra OFF.

Figura 12. Diagrama de ubicaciones.

Ubicados los mdulos se conect al mdulo 1 desde la


aplicacin y se mandaron comando los cuales se
retransmitieron al mdulo 2 encendiendo y apagando el pin 13
del mismo.

III. CONCLUSIONES

E
L
IV.

l resultado de la aplicacin expuesta en este artculo es el


control remoto mediante la conjuncin de tecnologas
asequibles a cualquier persona, por una parte la tarjeta
Arduino y su Shield Xbee y por otra el S.O. Android, en el
cual se pueden desarrollar aplicaciones de una manera sencilla
mediante software open source.
Siendo Android en la actualidad el sistema operativo ms
usado
V.en
P dispositivos mviles inteligentes, el cual cuenta con
mltiples aplicaciones para distintos usos, dentro de las cuales
la comunicacin
a dispositivos por medio de distintos
a
protocolos, para este caso Bluetooth.
Por otro lado la tarjeta Arduino contiene varios Shields con
r
los que se pueden realizar un sinfn de aplicaciones en varias
reas de electrnica, instrumentacin y control. El enlace de
t
estas tecnologas se muestra de una manera sencilla en
contraparte de su aplicacin en campo, algunas de la
aplicaciones edel control mostrado puede ser el control de
motores en la industria, de sistemas neumticos e hidrulicos,
inmtica y domtica entre otros.
Cabe destacar que otro los puntos favorables de este
control es la Tcapacidad de personalizacin de la aplicacin
realizada para Android, con lo cual se ofrece un enfoque
totalmente profesional.
Adems de que se pueden realizar

redes de mdulos Xbee segn sea necesario.


c
n
IV. REFERENCIAS
i
[1]

[2]
[3]
[4]

[5]

[6]

[7]

A. Hernndez, G. Martnez, E. Salazar, Instrumentacin Virtual


Remota con tecnologa CGI, Memoria Tcnica del V Congreso de
c
Innovacin Tecnolgica de Elctrica y Electrnica. Ciudad Obregn,
Sonora, Octubre 19-21,2011.
Brian W. aEvans. Arduino Programming Handbook: A Beginner's
Reference, Editorial, USA, 2 edicin, 2008.
S. Jimenez, Que es Xbee?, Septiembre 2011. Disponible en:
http://www.tecnologicobj12.blogspot.mx/2011/09/que-es-xbee.html
Kevin Purdy. The complete Android Guide, Editorial, USA, 1 ed.
334,
2009.
Disponible
en:
d
http://www.completeguides.net/01_The_Complete_Android_Guide.
Bonifaz Kaufman, Desing and Implementation of a Toolkit for the
e
Rapid Prototyping
of a Mobile Ubiquitous Computing . Master Thesis,
University of Klagenfurt, Klagenfurt, Austria, August 2010.
Arduino + XBee - Primeros Pasos, Disponible en:
l
http://www.hangar.org/webnou/wp-content/2012/01/arduino-xbeeprimeros-pasos.pdf
G. Martnez, I. Cabral, Creacin de aplicaciones de comunicacin BT
para Android, Memoria Tcnica SOMIXXVII Congreso de
Instrumentacin
A Culiacn, Sinaloa, Octubre 2012.

r
V. BIOGRAFA
t
Gloria Mnica

Martnez Aguilar naci un 18 de

Diciembre de 1981 en Torren, Coahuila. Obtuvo el ttulo de

Ingeniero Electrnico con especialidad en Instrumentacin y


Control en el Instituto Tecnolgico de la Laguna en el ao
cdel 2005. Obtuvo el grado de Maestro en ciencias en el ao
2008 en Ingeniera Electrnica en la especialidad de
Instrumentacin y Control el Instituto Tecnolgico de Chihuahua. Labora en
u
empresas de automatizacin
y control como ingeniero de diseo y

l
o

automatizacin desde 2007, e imparte ctedra en la Universidad Tecnolgica


de Torren desde 2009 en las carreras de Mecatrnica, Procesos de
produccin y Tecnologas de la Informacin y Comunicacin. Actualmente es
profesor de tiempo completo en la universidad desarrollando investigaciones
en las reas de control, automatizacin y TICs.

Eduardo Salazar Valle naci un 18 de Mayo de 1964 en


Torren, Coahuila. Obtuvo el ttulo de Ingeniero Industrial en
Electrnica en el Instituto Tecnolgico de la Laguna en el ao
del 2000. Titulo Especialidad Automatizacin de Procesos
Industriales en el ao 2005 en Instituto Tecnolgico de
Saltillo Estudios de maestra en el ao 2007 en sistemas
Electrnica en el Instituto Tecnolgico de estudios superiores
de Monterrey. Imparte ctedra en la Universidad Tecnolgica de Torren
desde 1999 en las carreras de Mecatrnica, Procesos de Produccin y
Mantenimiento Industrial. Actualmente es profesor de tiempo completo en la
Universidad desarrollando investigaciones en las reas de control y
automatizacin.

Вам также может понравиться