Tutorial Arduino - Conexión Xbee punto a punto
¡Hola amigos! Este es mi primer aporte, espero les guste y veamos más en el futuro. La idea es devolver la mano a las tantas veces que consultamos Internet buscando ayuda, así se creará una red virtuosa en donde nos acostamos dejando un Internet mejor.
En este tutorial les mostraré como comenzar usando Xbee con Arduino. Los Xbee son dispositivos inalámbricos fabricados por Digi International, tienen su propio protocolo de comunicación por radio frecuencia (en banda de radio libre), son robustos, de bajo costo, bajo consumo y tienen un alcance en sus distintos modelos entre 100 metros y los 10 kilómetros ! . Otra cosa que los hace interesantes es que los dispositivos de la serie 2 pueden hacer redes mesh que según el proyecto o el espacio físico puede ser de gran ayuda.
¡Vamos al grano! Espero ya estén entusiasmados en hacer funcionar esto.
Veamos lo que necesitaremos...
- 2 Xbee, en mi caso tengo XBee 2mW Wire Antenna - Series 2 (Mesh). (lista xbee )
- 1 Arduino, en mi caso uso el Arduino Uno R3
- 1 Xbee explorer usb
- 1 Xbee explorer regulated
- 1 Conector SIP hembra 1x6 Pines - altura 8.5mm
- 1 interruptor y 1 led(opcional)
- Conector para batería 9v, la batería, cables, protoboard, cautín, soldadura y una resistencia 10k
- Computador con entrada usb y software X-CTU (versión Windows esta vez )
¡A trabajar!
1.-Primero debemos soldar el conector SIP en el xbee explorer regulated, luego atrás de cada uno de los Xbee hay dos series de números y letras, esto deben anotarlo ya que servirá más adelante, por último conecten un Xbee al Xbee regulated y el otro al Xbee regulated USB.
2.- Descargar e Instalar X-CTU, luego conectar Xbee por USB al computador y anotar el puerto COM utilizado.
3.- Iniciar X-CTU , seleccionar en la lista nuestro COM y presionar el botón "TEST / QUERY", si todo anda bien debemos ver información del Xbee y que la comunicación está OK.
4.- Ir a la pestaña "Modem Configuration", presionar "Read", elegir en "tipo" la misma información que salió en tu ventana anterior, en mi caso XB24-B . (en la primera configuración deberás descargar las últimas versiones en el botón "Download new Versions) ... luego de eso seleccionar "ZIGBEE COORDINATOR AT" y la versión más alta que encuentres (p.e. 2047) , en las configuraciones siempre debe haber un coordinador, en este caso será el Xbee conectado al computador.
5.- Luego debemos cambiar los siguientes valores:
- PAN ID (un número arbitrario que le des a tu red, debe ser el mismo para los Xbee involucrados)
- Destination Address High (DH), debe ser la dirección Alta (SH) del otro XBee (0013A200 en este caso, el numero de arriba en Xbee)
- Destination Address Low (DL), debe ser la dirección Baja (SL) del otro XBee. (el número de abajo)
Finalmente actualizar los valores presionando el botón "Write", luego conectamos el otro Xbee en el Explorer Regulated USB para configurarlo.
6.- Desde el paso 3 hacemos lo mismo solo que en vez de Coordinator esta vez elegimos "ZIGBEE ROUTER AT", además los valores DH y DL ahora son respecto al Xbee anterior. Por último el valor JV se le asigna 1 y le damos "Write".
Con la comunicación estamos listos, debemos conectar el Xbee Coordinador en Regulated USB conectado al computador, por la otra parte nos queda poner algo para leer, acá podemos elegir algún sensor, un potenciómetro, hay muchas posibilidades, en este caso por estar comenzando usaremos un botón o interruptor, entonces para ello debemos armar el Arduino con la configuración básica de un botón .
Le cargamos el algoritmo al Arduino que enviará las señales al coordinador:
int btnPin=2; int boton=0; int ledPin=13; void setup(){ pinMode(ledPin, OUTPUT); pinMode(btnPin, INPUT); Serial.begin(9600); } void loop(){ boton=digitalRead(btnPin); if(boton==HIGH) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); Serial.print(boton); delay(200); }
}
¡Ya estamos casi!
Ahora asegúrate de conectar bien la tierra, volts, entrada y salida del Xbee Regulated al Arduino:
- OUT de Xbee en pin 0(rx) Arduino
- IN de Xbee en pin 1(tx) Arduino
¡Terminamos! Ahora a probarlo... conectamos arduino a la batería, abrimos X-CTU y en la pestaña terminal podemos ver lo que envía Arduino mediante Xbee. Podemos presionar el pulsador y veremos que la señal cambia. Aquí os dejo un vídeo con una pequeña demostración:
Hemos logrado una conexión punto a punto y, en el siguiente tutorial haremos una conexión punto - multipunto donde podremos leer 'n' Xbee y monitorearlos con una aplicación Java.
¡Saludos!