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)