ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Arduino + XBee - Primeros Pasos


Enviado por   •  5 de Febrero de 2014  •  1.458 Palabras (6 Páginas)  •  253 Visitas

Página 1 de 6

Arduino + XBee - Primeros Pasos

Introducción

Los módulos XBee de MaxStream permiten enlaces seriales de señales TTL en distancias

de 30 metros en interiores, 100 metros en exteriores con línea de vista y hasta 1.5 Km con

los módulos Pro.

Fig. 1. Módulo XBee de MaxStream

Fig. 2. XBee Shield montado sobre la placa ArduinoLós módulos XBee utilizan el protocolo IEEE 802.15.4 mejor conocido como ZigBee. Este

protocolo se creó pensando en implementar redes de sensores. El objetivo es crear redes

tipo mesh que tengan las propiedades de auto-recuperación y bajo consumo de energía.

Tomado de Wikipedia (http://en.wikipedia.org/wiki/Zigbee ), las áreas de aplicación son:

- Entretenimiento en casa y control – iluminación inteligente, control avanzado de

temperatura, seguridad, películas y música.

- Hogar Prevenido – sensores de agua, sensores de potencia, electrodomésticos

inteligentes y sensores de acceso.

- Servicios Móviles – pagos móviles, monitoreo y control móvil, seguridad y control

de acceso móvil, cuidados de salud móviles y teleasistencia.

- Edificios comerciales – monitoreo de energía, HVAC, iluminación y control de

acceso.

- Plantas industriales – control de procesos, gestión de ventajas, gestión ambiental,

gestión de energía y control de dispositivos industriales.

En nuestro caso particular vamos a utilizar los módulos de XBee para crear una

comunicación serial inalámbrica entre una computadora y un Arduino.

Materiales necesarios

-

-

-

-

-

2 módulos XBee Shield

2 placas Arduino, una de ellas SIN el microcontrolador (hay que tener cuidado

especial al retirarlo para no doblarle los pines)

Un LED

Un eliminador de 9V para alimentar el Arduino remoto

Un cable USB para conectar el Arduino local a la computadora

Configuración inicial

De fábrica cada módulo 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 comunicación serial se realiza

hacia el puerto USB o hacia el módulo XBee. Como primera prueba vamos a configurarlos

para interactuar con el puerto USB, esto quiere decir poner ambos jumpers en la posición

externa de los pines, en la figura 3 puede verse la ubicación de tales jumpers.Fig. 3. Ubicación de los jumpers selectores

Podemos utilizar el programa Hyperterminal en Windows para comenzar a configurar el

módulo XBee. Otras alternativas son el Serial Monitor que viene integrado en el entorno de

programación de Arduino o el programa Bray++ Terminal

(http://hubbard.engr.scu.edu/embedded/avr/software/Terminal.exe ).

El comando necesario para comenzar la interación es +++, esto es, tres signos de suma

consecutivos. Tecleándolos debemos de recibir como respuesta un OK. En la figura 4

podemos ver la entrada en la parte inferior y la respuesta en la parte superior.Fig. 4. Estableciendo conexión con el módulo XBee

Una vez establecida la conexión sólo tenemos 5 segundos para interactuar con el módulo.

Después de ese tiempo, el módulo regresa a su estado nativo y para volver a interactuar

tenemos que teclear +++ nuevamente.

Cada comando que le ingresemos debe ir precedido por las letras AT. Este es el típico

modo de operación de módems.

La tabla de comandos más usuales la podemos obtener en

http://www.arduino.cc/en/Main/ArduinoXbeeShield

Usaremos para la conexión a la computadora la placa Arduino SIN el microcontrolador

ATMEGA168. La razón de esto es que de esa manera podemos directamente interactuar via

USB con el módulo XBee.

Para este ejemplo proponemos la siguiente configuración: un PAN ID de 3332, un módulo

con dirección 0 y otro módulo con dirección 1. El módulo con dirección 0 será el que estará

conectado a la computadora y el módulo con dirección 1 será el módulo remoto.

Para configurar el primero con la dirección 0, velocidad 9600 8-n-1 y comunicación con el

módulo de ID1 usamos 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 direción 01 como el XBee con el que se estará

comunicando, el comando MY0 define la dirección propia como 0, BD4 define la

velocidad en 9600, el comando WR escribe la configuración a la memoria y el CN cierra la

configuración.

Paso siguiente es conectar el segundo XBee shield al Arduino sin micro. Configuramos de

la misma manera. ¿Qué cambios se realizaron en el siguiente comando?:

ATID3332,DH0,DL0,MY1,BD4,WR,CN

Después de terminada la configuración ya estamos en condiciones de establecer una

comunicación entre los dos módulos XBee.

Programando el Arduino remoto

Vamos a colocar el módulo XBee con dirección 1 en el Arduino que SÍ tiene

microcontrolador y lo vamos a programar con un código que envía vía serial una cuenta

numérica. También vamos a incluir una lectura del puerto serial para saber si se ha recibido

un caracter en particular y en caso afirmativo conmutar el estado del LED conectado al pin

13.

Es importante remover el módulo XBee de este Arduino mientras lo programamos para que

podamos establecer la comunicación serial.

/* Prueba Serial

=============

Este programa se utiliza para enviar una cuenta por

la conexión serial del Arduino y leer si se recibe

un caracter para cambiar el estado del LED conectado al pin 13

Félix E. Guerrero

Verano 2008

*/

int cuenta = 0;

char recepcion;

int estado = 1;

void setup()

...

Descargar como (para miembros actualizados) txt (11 Kb)
Leer 5 páginas más »
Disponible sólo en Clubensayos.com