Este,ya clasico,modulo Bluetooth 2.0 puede ayudarnos en nuestros proyectos, teniendo en cuenta su estabiilidad y la calidad de su enlace, ya que he tenido la ocasión de probarlo conectando maquinas CNC con los ordanadores personales sustituyendo al cable USB a traves de un enlace BT a 115200 Bd al tratarse de GRBL. Para eLlo hay que utilizar dos modulos HC-05 uno en modo Maestro y el otro en modo esclavo (115200,1,0), con la singularidad de utilizar el master en el lado del computador y el esclavo en la tarjeta router.
Si queremos utilizar como esclavo un HC-06, la velocidad tendrá que establecerse a 9600 Bd ya que este módulo no es configurable y solo trabaja a esta velocidad.
Para poder configurar el dispositivo hemos de pulsar el pequeño botoncito que lo acompaña al mismo tiempo que conectamos el pin de alimentación. y a una velocidad de 38400 Bd para entrar en modo de comandos AT.
Seria conveniente utilizar niveles de entrada en Rx de 3,2 V en lugar de 5 que utiliza arduino, en ese caso basta poner una R=10K y otra R=20K en serie entre el pin Tx y ground, tomando en la de 20K la salida TX del arduino.

Podemos utilizar dos metodos para poder meter los comandos AT:
-Con softwareSerial y el archiconocido sketch de pasarela que expongo mas abajo. En caso
de que nop obedezcan los comandos AT, marcar “sin ajuste de linea”, a mi me funciona asi.
-Con adaptador serie ttl CP2102 y utilizando el puerto serie con el monitor de arduino Ide
poniendo la velocidad de trabajo en la consola. Marcar NLy CR
Esta es la configuración que cargaremos en nuestro dispositivo a la velocidad de 38400 Baud, que es la velocidad que se utiliza en modo comandos AT para el HC-05.
#include <SoftwareSerial.h> SoftwareSerial bt_serial(2,3); void setup() { bt_serial.begin(38400); Serial.begin(9600); Serial.flush(); while(Serial.available()>0)Serial.read(); Serial.println(String("INTRODUCIR COMANDOS AT")); } void loop() { if ((bt_serial.available()>0)) { Serial.println(bt_serial.readStringUntil('\n')); } if ((Serial.available()>0)) { bt_serial.println(Serial.readStringUntil('\n')); } }
COMANDOS AT MAS USADOS
http://www.arduinoblocks.com/web/project/74382
He comprobado que después de ejecutar ciertos comandos como AT+NAME, solo responde OK y no nos dice e nombre, para comprobarlo después de haber cambiado el nombre no nos queda mas remedio que vincularlo a nuestro smartphone y comprobarlo
- Reseteo de modulo AT+RESET
- Saber el nombre del modulo: AT+NAME
- Cambiarlo de nombre : AT+NAME=xxxxxx
- Saber configuración: AT+ROLE
- Cambiarlo al modo esclavo: AT+ROLE=0
- Cambiarlo al modo maestro: AT+ROLE=1
- Saber la contraseña: AT+PSWD
- Cambiarlo a nnnn: AT+PSWD=nnnn cuatro caracteres numericos
- Saber la velocidad (9600): AT+UART
- Cambiarlo a 57600: AT+UART=57600,0,0
- Saber modo de Conexión: AT+CMODE (0 Especifico 1 General)
- A cualquier dispositivo: AT+CMODE=1
- saber direccion mac al que se empareja AT+BIND
- Restablecer valores por defecto.: AT+ORGL: Al hacer esto todos los parámetros del módulo se restablecen, a los valores por defecto de fábrica. En algunas versiones la velocidad cambia a 38400 baudios y en otros a 9600.
PROCEDIMIENTO DE EMPAREJAMIENTO
Vamos a entender el comando at+cmode, cuando ponerlo en 0 y cuando en 1. Si queremos que nuestro Maestro se empareje siempre con el mismo HC-06, utilizamos at+cmode=0 ,porque si lo configuramos como at+cmode=1 , se podrá emparejar al primer Hc-06 que que encuentre.
Para distinguir varios modulos BT, utilizaremos el comando at+bind?, que nos va a dar la mac del dispositivo. LO mejor siempre es utilizar at+cmode=0.
Ejemplo practico:
1: Preparación modulo HC-06.
Normalmente, vienen configurado a 9600 Baud y psw=1234, lo único que podemos hacer en modo AT es cambiarle el nombre. Para comprobarlo podremos utilizar nuestro celular y buscar dispositivos BT.
-Dar alimentación y comprobar que destella continuamente su led.
2: Preparación modulo HC-05.
Entrar en modo AT y establecer lo siguiente:
at+baud=9600,00
at+role=1
at+pswd=1234
at+ cmode=1 (ojo, luego lo pasaremos a 0)
———————
A continuación salir del modo AT ,quitar alimentación y volver a conectar, esperar a que se empareje automáticamente con nuestro HC-06. Despues de esto desconectar el HC-06
y volver a entrar en modo AT nuestro Maestro HC-05
at+bind?……………………..nos dará la Mac de su ultimo emparejamiento
ahora vamos a echar el seguro poniendo at+cmode=0, A partir de ahora solo se emparejara con este BT HC-05.
Podréis comprobarlo activando otro HC-05 y viendo que solo se empareja al primero.
—————————————————————————————————————————–
Hola. Soy José Antonio
Estoy haciendo un proyecto para controlar un coche real [renault Twingo] con arduino y HC-05
Estoy utilizando ArduinoBlocks y AppInventor, mas que nada por motivos didácticos.
De momento, controlo el sentido de la marcha y la velocidad del coche con el teléfono; pero el problema, es que si se pierde la comunicación bluetooth, pierdo el control del coche; y esto en un coche que pesa 800kg no aconsejable.
¿Tiene algún ejemplo, modelo, proyecto en la página, idea … que me pueda ayudar a solucionar el problema?
Gracias de antemano.
Un saludo.
Hola Jose Antonio,me parece espectacular lo que estas haciendo.Tendría que tener mas informacón de tu proyecto,pero si se perdiera la comunicación no puedes hacer que se pare el motor?.Si en vez del telefono utilizaras un control remoto con un hc-05 confg. como master quizas podrias controlarlo mejor.