sábado, 20 de diciembre de 2014

Configuración de un módulo bluetooth esclavo

La configuración de un módulo bluetooth esclavo se realiza casi de la misma manera que la de un módulo maestro/esclavo, con pequeñas diferencias. Esta vez se utiliza un módulo HC-06, el cual se puede encontrar en cualquier tienda de electrónica en la web
Así mismo, para poder configurar este módulo bluetooth, se usarán los comandos AT.

En este caso usaremos los siguientes comandos AT:

AT: Prueba de comunicación.
AT+NAME: Cambia el nombre del dispositivo bluetooth.
AT+BAUD: Cambia la comunicación serial del módulo bluetooth.
AT+PIN: Cambia la contraseña asociada al módulo bluetooth.

El hardware que se necesita para implementar el circuito con el que vamos a configurar el módulo esclavo es el siguiente:

Componentes a utilizar
  •  Arduino Uno
  •  Resistencia de 220 Ω
  •  Led
  •  Módulo Serial Bluetooth esclavo
  •  Protoboard

Circuito


Luego de implementar el circuito, se debe copiar el código que se encuentra más abajo en el IDE de Arduino. Se darán cuenta que se ha incluido la librería SoftwareSerial, la cual servirá para la comunicación por bluetooth, para ello se usarán los pines digitales 2 y 3. El pin 2 para la recepción de datos y 3 para el envío.
Lo que se hace es enviar los códigos AT al módulo bluetooth para configurarlo. Así mismo, se van mostrando en el monitor serial los comandos enviados y la respuesta que recibimos del bluetooth.


Código


//Se declara esta libreria especialmente para la comunicacion por bluetooth
#include<SoftwareSerial.h>

//Se definen los pines TX y RX, en este caso pin 2 = Rx, pin 3 = Tx
SoftwareSerial mySerial(2,3);

//Variable para control de configuracion
boolean configurado = false;

void setup(){
 
pinMode(13,OUTPUT);    //Pin 13 para control del proceso
 
Serial.begin(9600);    //se inicia comunicacion serial
  mySerial.
begin(9600);  //se inicia comunicacion bluetooth
 
digitalWrite(13, LOW); //se apaga el led del pin 13
}


void loop(){
  if (configurado){
    
/* Parpadeo para verificar su funcionamiento */
    
digitalWrite(13, HIGH); //Enciende el LED
    
delay(1000);            //Espera 1 segundo
    
digitalWrite(13, LOW);  //Apaga el LED
    
delay(1000);            //Espera 1 segundo
  
}
  
else{
    
digitalWrite(13, HIGH); //Empezamos el tiempo de espera para reconectar
    
delay(1000);            //Espera de 1 segundo (se puede variar)
    
digitalWrite(13, LOW);  //Tiempo de espera agotado para reconectar

    
    
Serial.println("AT");  
       
mySerial.write("AT");     //comenzamos la comunicacion con el modulo BT
    delay(1000);             //Espera de 1 segundo
    
while(mySerial.available()>0)     Serial.write(mySerial.read());      
       
Serial.println();

    
Serial.println("AT+NAMEHC-06");  
       
mySerial.write("AT+NAMEHC-06");  //se coloca un nombre al dispositivo
    delay(1000);                    //Espera de 1 segundo    
    
while(mySerial.available()>0)     Serial.write(mySerial.read());    
       
Serial.println();        

       
Serial.println("AT+BAUD4"); 
    mySerial.
write("AT+BAUD4");   //se establece la velocidad en 9600
   
delay(1000);                  //Espera de 1 segundo    
    
while(mySerial.available()>0)     Serial.write(mySerial.read());    
       
Serial.println();        

       
Serial.println("AT+PIN4321"); 
    mySerial.
write("AT+PIN4321"); //se establece el PIN de 
    
delay(1000);                  //asociacion(contraseña)   
    while(mySerial.available()>0)     Serial.write(mySerial.read());    

    
/* En este punto debe estar configurado */
    
digitalWrite(13, HIGH); // se muestra que todo ha funcionado 
    configurado 
= true;     // segun lo esperado
  
}
}


Pasos a seguir:

    1. El módulo no debe estar vinculado a ningún dispositivo.
    
    2. La forma visual de saber si el módulo está vinculado:
        Led fijo --> Emparejado
        Led intermitente --> sin emparejar
    
    3. Definir mediante la librería SoftwareSerial los nuevos pines TX, RX para el Arduino,              conectar el TX del módulo Bluetooth al RX del Arduino y conectar el RX del módulo             bluetooth al TX del Arduino.
    
    4: Cargar el programa.
    
    5: Comunicar con el módulo (AT).
    
    6: Cambiar el nombre del módulo (AT+ANAME).
    
    7: Ajustar la velocidad de comunicación (AT+BAUD).
    
          1 : 1200 baudios
          2 : 2400 baudios
          3 : 4800 baudios
          4 : 9600 baudios (por defecto)
          5 : 19200 baudios
          6 : 38400 baudios
          7 : 57600 baudios
          8 : 115200 baudios
          
    8 : Configurar PIN(contraseña) de emparejamiento (AT+PIN).


No hay comentarios.:

Publicar un comentario