Está en la página 1de 4

Search the Arduino Website

Arduino XBee Shield


El XBee shield para Arduino permite comunicar tu Arduino de forma inalmbrica usando ZigBee.
Fue desarrollado in colaboracin con Libelium (http://www.libelium.com/). Esta documentacin
describe el uso del shield con los mdulos XBee 802.15.4. Para los mdulos XBee ZNet 2.5 ("Series
2") revisa esta guia de configuracin (http://www.humboldt.edu/~cm19/XBee%20setup.pdf).
Un ejemplo sencillo
Deberas tener dos placas Arduino con XBee shield comunicndose una con la otra sin configurar
nada, usando slo los comandos estandard de Arduino (descritos en reference
(http://arduino.cc/es/Reference/HomePage)).
Para cargar un programa a la placa Arduino con XBee shield, necesitars poner los dos jumpers del
shield en la posicin USB (coloca los dos jumpers en la parte cercana al borde de la placa) o
qutalos completamente (asegurate de no perderlos!). Luego, ya puedes cargar un programa con
normalidad desde el Arduino IDE. En este caso, carga el programa Communication | Physical Pixel a
una de las placas. Este programa manda a la placa encender el LED conectado al pin 13 cuando
recibe 'H' por el puerto serie y lo apaga cuando recibe 'L'. You can probarlo conectando la placa con
el monitor de puerto serie de Arduino (asegurate de configurarlo a 9600 baudios), escribiendo H y
INTRO (o pinchando en "send") el LED debera encenderse. Enva L y el LED debera apagarse. Si no
ocurre nada, es posible que tengas un Arduino que no tiene el LED conectado al pin 13 montado en
la placa (mira el ndice de placas (http://arduino.cc/es/Main/Boards) para asegurarte), en este caso
tendrs que conectar tu propio led.
Una vez que has cargado el programa Physical Pixel y comprobado que funciona, desconecta el
primer Arduino del ordenador. Conecta los jumpers en la posicion XBee (en la posicin ms alejada
del borde de la placa). Ahora, necesitas cargar otro programa a la otra placa. Asegrate de que sus
jumpers estan en la posicin USB. Luego carga el siguiente programa a la placa:
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.print('H');
delay(1000);
Serial.print('L');
delay(1000);
}
Cuando se haya cargado el programa, puedes comprobar que funciona con el monitor de puerto
serie de Arduino. Deberas ver H's y L's llegando cada segundo. Apaga el monitor de puerto serie y
desconecta la placa. Cambia los jumpers a la posicin XBee. Ahora conecta las dos placas al
ordenador, despus de unos segundos, deberas ver el LED de la primera placa encenderse y
apagarse cada segundo (el LED de la placa Arduino, no el LED de la placa XBee shield, que
proporciona informacin sobre els estado del mdulo XBee). Si funciona as enhorabuena, tus
placas Arduino se estn comunicando inalmbricamente. Puede que esto no parezca muy excitante
si las placas estn conectadas al mismo ordenador, pero si las conectas en diferentes ordenadores
(o las alimentas con fuentes de alimentacin externas - asegurandote de cambiar el jumper de
alimentacin en la placa Arduino), tambin deberan ser capaces de comunicarse.
Unas notas
Puedes usar cualquiera de los comandos serie estndar de Arduino con el XBee shield. Con los
jumpers del shield en la posicin XBee, los comandos print y println enviarn los datos al XBee
shield y al puerto USB (o lo que es lo mismo a otros XBee shields y al ordenador al mismo tiempo).
Con esta configuracin, sin embargo, la placa slo recibir datos del XBee shield, no de la conexin
USB (necesitas cambiar la posicin de los jumpers para permitir que la placa reciba datos del
ordenador).
El modulo XBee del shield est configurado para trabajar a 9600 baudios por defecto, a menos que
le cambies la configuracin, tienes que asegurarte de llamar a la funcin Serial.begin(); con el
parmetro 9600 (Serial.begin(9600);) en tu programa.
Para permitir que tu ordenador se comunique directamente con el XBee shield, conctalo a una
placa Arduino sin microcontrolador y coloca los jumpers en la posicin USB. Entonces puedes
enviar y recibir datos desde el mdulo XBee utilizando cualquier terminal de puerto serie. Esto te
permite, por ejemplo, ver los datos que el mdulo est recibiendo de otros XBee shields (por
ejemplo monitorizando datos de sensores inalmbricamente desde un cierto nmero de
localizaciones).
Configurando el mdulo XBee
Puedes configurar el mdulo XBee mediante el cdigo que ejecuta el Arduino o dese un software
del ordenador. Para configurarlo desde el Arduino, necesitas colocar los jumpers en la posicin
XBee. Para configurarlo desde el ordenador, necesitas colocar los jumpers en la posicin USB y
haber quitado el microcontrolador del Arduino.
Para entran en el modo de configuracin, necesitas enviar tres signos '+': +++ y no enviar ningn
otro carcter al mdulo durante un segundo antes y un segundo despus. Esto incluye carcteres
especiales como retorno de carro o nueva lnea. Por lo tanto, si estas intentando configurar el
modulo desde el ordenador, asegrate de que tu terminal est configurado para enviar los
carcteres tal como los escribes, sin esperar a que pulses intro. Sino, enviar los tres signos '+'
seguidos de nueva lnea (de modo que no esperar un segundo despus de enviar +++). Si
consigues entrar en el modo de configuracin, el mdulo enviar de vuelta 'OK', seguido de retorno
de carro.
Enva comando Espera respuesta
+++ OK<CR>
Una vez en el modo de configuracin, puedes enviar comandos AT al mdulo. Las cadenas de
comandos AT tienen la forma ATXX (donde XX es el nombre del parmetro). Para leer el valor
actual de un parmetro, enva la cadena de comando AT seguido de retorno de carro (<CR>). Para
escribir un nuevo valor del parmetro, enva la cadena de comando AT, seguido del nuevo valor (sin
espacios o nueva lnea por medio), seguido de retorno de carro. Por ejemplo, para leer el
identificador (ID) de red del mdulo (que determina con qu otros mdulos XBee se comunicar),
usa el comando ATID
Enva comando Espera respuesta
ATID<enter> 3332<CR>
Para cambiar el valor del ID de red del mdulo:
Enva comando Espera respuesta
ATID3331<enter> OK<CR>
Ahora, comprueba que el parmetro se ha configurado:
Enva comando Espera respuesta
ATID<enter> 3331<CR>
A no ser que le digas al mdulo que escriba los cambios a la memoria no voltil, esos cambios slo
tendrn efecto hasta que el mdulo pierda la alimentacin. Para guardar los cambios de forma
permamente (hasta que los modifiques otra vez) usa el comando ATWR:
Enva comando Espera respuesta
ATWR<enter> OK<CR>
Para resetear el mdulo a los valores de fbrica, usa el comando ATRE:
Enva comando Espera respuesta
ATRE<enter> OK<CR>
Share
Ten en cuenta que al igual que los dems comandos, el reset no ser permanente a no ser que
despus enves el comando ATWR
Referencias
Para ms informacin, mira: la hardware page (http://arduino.cc/es/Main/ArduinoXbeeShield) del
XBee shield, la wiki de Libelium SquidBee (http://www.squidbee.org/), y la pgina de Maxstream
XBee (http://www.maxstream.net/products/xbee/xbee-oem-rf-module-zigbee.php).
Los textos de la gua "Como empezar con Arduino" estn licenciados bajo Creative Commons
Attribution-ShareAlike 3.0 License (http://creativecommons.org/licenses/by-sa/3.0/). El cdigo
fuente de los ejemplos en la gua estn liberados como dominio pblico.
2014 Arduino Copyright Notice (http://arduino.cc/en/Main/CopyrightNotice)
Contact us (http://arduino.cc/en/Main/ContactUs)
NEWSLETTER
Enter your email to sign up
SUBSCRIBE
(https://twitter.com/arduino) (http://www.facebook.com/official.arduino)
(https://plus.google.com/+Arduino) (http://www.flickr.com/photos/arduino_cc)
(http://youtube.com/arduinoteam)

También podría gustarte