Configurando Radios XBee


Los Radios XBee pueden ser configurados de varias maneras mediante varias formas, pueden ser configurados con un Arduino, con un conversor USB-RS232, XBee Explorer, etc.Y pueden ser configurados para trabajar de muchas  formas con o sin ayuda de un controlador.


1.- Accesar al sistema de los XBee: Para entrar al sistema de un XBee se requiere de una comunicación Serial (USART) la cual el arduino usa para programara su microcontrolador es por eso que se puede usar un XBee shield para su configuración, si no tienes un XBee Shield solo alimenta tu XBee (Recuerda que la alimentación es de 3v3 ya que con un voltaje más alto lo quemaras) y conecta DOUT y DIN al RX y TX de tu arduino o puerto COM.( Recuerda que también las señales de comunicación deben de estar reguladas a 3v3, puedes utilizar un divisor de voltaje o CI 74HC4050, si estas usando un XBee Regulated este ya regula todos los voltajes a 3v3 por lo que lo único que cuidaras es no enviarle voltajes mayores a 6v ).

Los XBees tienen un Baud Rate de fabrica de 9600 por lo que la comunicación USART deberá ser de 9600, 1 bit de Stop, Sin paridad; Abre la terminal que más te guste, yo utilizo la misma que viene con el arduino ya que es sencilla y no nos mete en complicaciones.

El primer paso será teclear tres signos de más  +++  con No line ending que se encuentra a un lado del Baud Rate y dar click en Send, si esto se hizo correctamente el XBee responderá con un OK.
2.- Comenzando a configurar: En este paso todo depende de como queramos que trabaje nuestro XBee, por lo que describiré con un pequeño ejemplo algunas de las posibles configuraciones de los XBee, apartar de ahora todo lo que le mandemos al XBee deberemos cambiar el No line ending por Carriage return.

Configuraciones Básicas: Todos los comandos deberán tener como prefijo AT, los comandos pueden ser enviados en una solo cadena o comando por cadena, si se envía por cadena solo el primer comando deberá tener el prefijo y se separaran por una , (COMA).

  • ID   -   Network ID del XBee   -   ( 0 - 0xFFFF )
  • CH   -   Canal de Comunicación   -   ( 0x0B - 0x1A )   
  • MY  -   Dirección del XBee   -   ( 0 - 0xFFFF )
  • DH y DL   -   Dirección de destino   -  ( 0 - 0xFFFF )
  • BD   -   La velocidad de Transmisión   -  ( 0 (1200 bps) , 1 (2400 bps), 2 (4800 bps), 3 (9600 bps), 4 (19200 bps), 5 (38400 bps), 6 (57600 bps), 7 (115200 bps) )
  • RE   -   Resetea a los valores de fabrica  -   ( Sin parámetros )
  • WR  -  Guardar los cambios   -   ( Sin parámetros )
  • CN   -  Cerrar sesión   -   ( Sin parámetros )    
Entonces para configurar dos módulos será de la siguiente forma:

ATID1234,DH0,DL1,MY0,BD3,WR,CN
ATID1234,DH0,DL0,MY1,BD3,WR,CN

De esta forma se han configurado los XBee para que se comuniquen entre ellos a 9600 bps, el XBee responderá con un OK por cada comando.


3.- Configuraciones especiales: Los XBee cuentan con I/O y ADC que facilitan todo el trabajo ya que si no es muy especifica o especial la información que queremos transmitir lo podremos hacer sin un µcontrolador directamente de sus puertos tras haberlos configurado. 

El modulo XBee cuenta con 9 I/O, 7 ADC. del DIO0 al DIO6 pueden ser configurados como digitales o conversares analógicos digital. debemos tomar en cuenta que solo contamos con dos puertos PWM así que tendremos esos dos puertos como salidas ADC en el otro Modulo XBee, DIO7 solo es digital y DI8 solo podrá ser entrada digital.

Para seleccionar el modo de DIO existen 4 opciones: 0 Ninguno, 1 Función Especial, 2 ADC, 3 Salida Digital LOW, 4 Salida Digital HIGH y se configuran de la siguiente manera:



ATD33             // Configura el DIO3 como entrada digital

ATWR            // Guardar cambios

de forma que en el otro modulo deberemos hacer del DIO3 salida digital.

ATD34             // Configura el DIO3 como salida digital HIGH
ATWR            // Guardar cambios

para el ADC sera:

ATD42            // Configura el DIO4 como ADC
ATIR14           // Sampleo de 20 mili-segundos
ATIT5             // Envia tras 5 sampleos
ATWR            // Guardar cambios

por lo que el otro modulo tendrá la salida de este ADC, los pines capaces de mostrar el ADC que fue transmitido por el otro modulo son el RSSI y el DIO11.

ATP02           // Activa el PWM en PWM0
ATIU1           // Habilita Salidas I/O UART
ATIA1           // Dirección de origen de datos ( MY del otro modulo)
ATWR          // Guardar cambios

4.- Enviar datos de XBee a XBee por medio USART: para esto necesitas dos µcontroladores ya que los datos serán seriales tanto en la entrada como en la salida a la velocidad como hayamos configurado con BD, en este caso 3(9600)bps, por lo que si usamos un Arduino para la transmisión y recepción de datos usaremos la instrucción Serial.  Ejemplo:

 Arduino XBee 1:

void setup(){
Serial.begin(9600);
}
void loop(){
Serial.print('E');
delay(1000);
Serial.print('A');
delay(1000);
}

Arduino XBee 2:

void setup(){
Serial.begin(9600);
pinMode(3,OUTPUT);
}
void loop(){
ifSerial.available() > 0 ){
  if( Serial.read() == 'E' )
     digitalWrite(3,HIGH);
  else
     digitalWrite(3,LOW);
}
}
Estos dos programas harán prender un LED conectado al pin D3 del Arduino por medio de los Radios. Para entender más estos comandos recomiendo leer el manual del XBee, Espero sus comentarios. :D

Comments

Popular posts from this blog

Low-Side MOSFET Drive Circuits and Techniques - 7 Practical Circuits

Using the SG3525 PWM Controller - Explanation and Example: Circuit Diagram / Schematic of Push-Pull Converter

Simple MW Transmitter Circuit Diagram