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.
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
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
#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
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());
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).
8 : Configurar PIN(contraseña) de emparejamiento (AT+PIN).
No hay comentarios.:
Publicar un comentario