Professional Documents
Culture Documents
U
a
Los módulos de bluetooth HC-05 y HC-06 son módulos muy populares para
aplicaciones con microcontroladores PIC y Arduino. Se trata de dispositivos
relativamente económicos y que habitualmente se venden en un formato que
permite insertarlos en un protoboard y cablearlo directamente a cualquier
microcontrolador, incluso sin realizar soldaduras. En esta entrada del blog vamos
a explicar un poco del funcionamiento de estos módulos y como configurarlos.
También abordaremos las diferencias entre el HC-05 y el HC-06.
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 1/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
Módulo HC-05 montado en una tarjeta adaptadora compatible con zócalos Xbee
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 2/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
Para las pruebas y configuración del módulo bluetooth es conveniente tener a mano un
adaptador USB-Serial TTL como los basados en el FT232RL o circuitos similares.
Nosotros usamos las tarjetas mostradas en la fotografía para probar los comandos
descritos en este artículo.
Existen unos módulos aptos para insertarse en el protoboard que nos permiten
una fácil identificación del módulo soldado antes de comprar. En estos módulos,
los HC-05 normalmente tienen dos pines extra (además de TX, RX, VCC, GND)
etiquetado como “Key” y “State”. El pin “key” es necesario para entrar al modo
de comandos AT en el módulo HC-05 (pin 34) y por lo tanto, solo se instala cuando
el módulo de bluetooth a bordo es un HC-05. También podemos identificar si se
trata de un HC-05 por la forma en que se identifican con otros dispositivos
bluetooth: El HC-05 se identifica como “HC-05”, mientras que el HC-06 se identifica
como “Linvor” o “HC-06”.
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 3/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
http://biblioteca.geekfactory.mx/Bluetooth_Bee_Pro/datasheet_hc-05.pdf
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 4/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 5/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
Realizando pruebas con un módulo HC-06 y una tarjeta USB serial con FT-232RL
El módulo HC-06 acepta un set muy básico de comandos (algo raros por cierto),
que permite pocas configuraciones, pero que sin duda será util para personalizar
este económico módulo y configurarlo para satisfacer las necesidades de la
aplicación.
Prueba de funcionamiento:
Envíar: AT
Recibe: OK
Configurar el Baudrate:
Envíar: AT+BAUD<Numero>
El parámetro número es un caracter hexadecimal de ‘1’ a ‘c’ que
corresponden a los siguientes Baud Rates: 1=1200, 2=2400, 3=4800, 4=9600,
5=19200, 6=38400, 7=57600, 8=115200, 9=230400, A=460800, B=921600,
C=1382400
Recibe: OK<baudrate>
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 6/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
Enviar: AT+VERSION
Recibe: Linvor1.8
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 7/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 8/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
48 rxChar = Serial.read();
49
50 // Procesar comando de un solo byte
51 if( rxChar == 'A' )
52 {
53 digitalWrite(ledpin, HIGH);
54 Serial.println("ON");
55 }
56 else if ( rxChar == 'a' )
57 {
digitalWrite(ledpin, LOW);
Serial.println("OFF");
}
}
// Podemos hacer otras cosas aquí
delay(100);
}
Conclusión
Como podemos observar, los módulos HC-05 y HC-06 son bastante sencillos de
configurar para usarse con el microcontrolador de nuestra preferencia. El HC-06
es el modelo más sencillo, presentando menos opciones para su configuración,
pero siendo bastante util y económico para conectar nuestros dispositivos con
microcontroladores a la PC, tablets, celulares, etc. El HC-05 por otra parte, nos
permite hacer algunas cosas que su hermano menor no permite, como enlaces
punto a punto entre dos módulos y también teniendo un juego de comandos más
completo y un poco más “formal”, con algunas características interesantes como el
control de pines de GPIO.
5
55 Comentarios Geek Factory México
1 Iniciar sesión
Únete a la discusión...
diego • hace 4 días
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 9/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
diego • hace 4 días
Tengo una duda. La verdad quiero mover dos motores con el arduino y
tambien con bluetooth. Siendo sincero ya tengo el programa pero no
puedo hacer que las me prendan unos leds como prueba. Podrias revisar
mi codigo y ver que le falta para que de las senales? La aplicacion que
uso es bluetooth rc control
#include <softwareserial.h>
int bluetoothTx=1;
int bluetoothRx=0;
SoftwareSerial bluetooth(bluetoothTx,bluetoothRx);
char MANDO;
void setup(){
pinMode(13,OUTPUT);
pinMode(4,OUTPUT);//uno al motor 1 directa
pinMode(5,OUTPUT);//uno al motor 1 inversa
pinMode(6,OUTPUT);//uno al motor 2 directa
pinMode(7,OUTPUT);//uno al motor 2 inversa
Serial.begin(9600);
ver más
△ ▽ • Responder • Compartir ›
marco arias • hace 5 días
Buenas...cual es el articulo en el cual se va a ver como configurar dos
modulos HC05 para que se entrelacen entre ellos y puedan transmitir
datos es que lo estoy ocupando para un proyecto..gracias y muy buen
articulo..
△ ▽ • Responder • Compartir ›
Brenda • hace 12 días
Muy buen Articulo :) Gracias
△ ▽ • Responder • Compartir ›
alfredo • hace un mes
No sabes de que manera puedo amplificar el alcance de mi HC 06
? saludos.
△ ▽ • Responder • Compartir ›
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 10/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
http://www.instructables.com/i...
△ ▽ • Responder • Compartir ›
Ramiro Madriaga • hace 2 meses
Muchas gracias, fue de utilidad.
△ ▽ • Responder • Compartir ›
Marianoski • hace 2 meses
ERROR
En la línea 37 del código que aparece en esta página hace falta la
comparación dentro del "if" .
if( Serial.available() ) que en realidad debería de llevar un mayor a 0.
es decir:
if( Serial.available() >0 )
△ ▽ • Responder • Compartir ›
Adrian Vazquez Lobato > Marianoski • hace 2 meses
Serial.available() viene devolviendo un valor falso o verdadero...
no un valor numérico.
Saludos :)
△ ▽ • Responder • Compartir ›
Serial.Available devuelve el número de bytes disponibles
en el buffer serial. Las dos formas que mencionan son
equivalentes dado que C y C++ consideran cualquier
entero diferente de 0 como verdadero. El valor de
serial.available solamente importa si queremos conocer
con exactitud cuantos datos hay. Por ejemplo:
uint8_t i;
//Obtenemos el total de datos en buffer
uint8_t datos = Serial.available();
// Ciclo para leer y reenviar los datos
for(i=0; i menorque datos; i++);
Sin embargo parece poco práctico y conveniente de esta
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 11/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
Sin embargo parece poco práctico y conveniente de esta
forma.
△ ▽ • Responder • Compartir ›
Carlo murillo • hace 2 meses
buen dia
intento hacer la comunicación entre dos placas de arduino UNO por
medio de un BTBee hc05, tengo la Xbee shield v1.1, como puedo
configurar los hc05 como maestro/esclavo? saludos
△ ▽ • Responder • Compartir ›
Guillem • hace 2 meses
Los que tenéis el módulo con el pin EN y sin botón, para entrar en Modo
AT debéis conectar un cable de la salida de 3,3V (arduino) al pin34 del
módulo bluetooth. En mi caso el HC05 viene con un plástico de
protección, tan solo hace falta introducir un cable macho para que haga
contacto con el pin. De esta manera no hacen falta pinzas ni soldaduras,
se sostiene por si solo. Recordad también en cruzar los pines TX y RX.
A parte de esto y la conexión a 5V no hacen falta más cables ni inicializar
ningún pin en modo High.
Acto seguido de verificar la conexión y que estamos en modo AT se
puede desconectar el pin34 del Voltaje y seguir operando.
Creo que es la solución más práctica de todas. Un Saludo
△ ▽ • Responder • Compartir ›
Francisco Perez • hace 5 meses
Hola , hice un proyecto con el H05 y Leonardo, pero no puedo conectar
mi celular con el Bluetooth, lo sincronizo, ero nunca se establece la
conexión, la configuración que uso es la misma que muestras, pero sin
éxito. como puedo saber que esta fallando
△ ▽ • Responder • Compartir ›
david Esquivel • hace 6 meses
Información bastante útil. Gracias por compartirla.
△ ▽ • Responder • Compartir ›
Daniel Ladino • hace 6 meses
Buen día
Actualmente estoy haciendo un puente levadizo con dos secciones que
se abren y cierran con dos motores de corriente continua y desde
bluetooth controlo que cada seccion se abra o se cierre con un programa
llamado APP INVENTOR (es el que permite crear la aplicacion en
android, buen creo que tienes conocimiento de él) el lio es este, mi
profesor quiere que yo controle las secciones del puente desde varios
celulares, por ejemplo un celular abre la sección 1 del puente y el otro
celular abre la sección dos, te quería preguntar, ¿es eso posible? ¿el
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 12/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
celular abre la sección dos, te quería preguntar, ¿es eso posible? ¿el
modulo HC – 05 (con pulsador en mi caso) puede recibir la conexión de
varios celulares para controlar mi programa en arduino?, agradezco
infinitamente tu ayuda y tus tutoriales.
△ ▽ • Responder • Compartir ›
Gerardo Rodriguez • hace 9 meses
Buenas tardes,
Siguiendo el tutorial he conectado el modulo HC05 con arduino uno, pero
al enviar los comandos en lugar de obtener como respuesta OK, salen
una seria de caracteres como estos
Enter AT commands:
ϧ†…
Que estará pasando?
1 △ ▽ • Responder • Compartir ›
Matias > Gerardo Rodriguez • hace 4 meses
debes tener mal configurado los baudios en el monitor serial
△ ▽ • Responder • Compartir ›
malloc69 > Gerardo Rodriguez • hace 6 meses
¿Has conseguido saber que es lo que estaba ocurriendo?
△ ▽ • Responder • Compartir ›
Francisco Aquino • hace 10 meses
Hola a todos, quiero conectar el HC5 al dsp30F4011 pero no encuentro
los comandos para incluirlos en el programa.
Gracias de Antemano
△ ▽ • Responder • Compartir ›
gonzalo • hace un año
en mi pais el modulo y la placa adaptadora vienen por separado sin
soldar mi pregunta es si un arduino shield bluetooth esclavo me
funcionaria igual que un modulo hc o6 esclavo
△ ▽ • Responder • Compartir ›
Sarge Youkai • hace un año
Hola, encontré muy interesante este tema pero tengo un problema, yo
tengo un HC05 pero no me hace nada, cuando está en modo AT y
escribo en el monitor serial "AT" se supone que me debería responder
"OK" pero no lo hace, cada vez que le escribo una orden no me responde
¿que podría estar mal? espero me puedan ayudar, saludos.
4 △ ▽ • Responder • Compartir ›
Christopher Bueno • hace un año
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 13/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
Hola, después de pelear toda una noche mi compañero y yo con el HC
05,tengo una duda... todo me funciona perfecto, pero al enviarle
AT+NAME no me responde nada. Sin embargo, me deja cambiarle el
nombre al dispositivo. Alguien sabe donde me estoy equivocando?
Muchas gracias
△ ▽ • Responder • Compartir ›
Cesar Sanchez > Christopher Bueno • hace 10 meses
creo que te falta este signo al final del NAME?
△ ▽ • Responder • Compartir ›
Ro Espinosa • hace un año
Amigo como puedo cambiar el Firmware de un HC 06 a un HC 05?
△ ▽ • Responder • Compartir ›
jose • hace un año
alguien sabe el codigo de android para enviar datos al arduino por
ejemplo escribir en el telefono hola y en la pantalla de arduino muestre
esa cadena mandada por el telefono
△ ▽ • Responder • Compartir ›
Christopher Bueno > jose • hace un año
prueba con una app que se llama blueterm.
△ ▽ • Responder • Compartir ›
Juan Felipe Lozano Armas • hace un año
Hola, Alguien sabe como utilizar el hc 05 para una comunicacion mastro
esclavo con un pic 18f4550?
Es decir, que un solo pic resiva y transmita datos por medio del hc 05
△ ▽ • Responder • Compartir ›
Te recomiendo que revises el siguiente artículo en la página de
nuestros amigos de www.aquihayapuntes.com:
http://www.aquihayapuntes.com/...
Si te puedo apoyar con algo, por favor indicame, ya que yo estoy
preparando un articulo relacionado para nuestro blog.
Saludos.
△ ▽ • Responder • Compartir ›
Juan Felipe Lozano Armas > Ruben • hace un año
Hola, Gracias por responder tan rápido.
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 14/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
Hola, Gracias por responder tan rápido.
Mira lo que intento hacer es que por medio de una terminal
Bluetooth en Android (BlueTerm) enviar datos al pic
18f4550 y que según lo que envié, el pic realice una cierta
actividad. después de realizar la actividad que me envié a
la terminar Blueterm los resultados de lo que hizo.
Un ejemplo podria ser que yo controle un motor con
Blueterm, envio las ordenes de arrancar el motor al pic, o
de cambiar el giro, despues de que el pic realice esto
entonces envia una respuesta a el Blueterm dándome las
rpm, el consumo energetico, tiempo que tiene operando
Etc Etc.
algo asi es lo que quiero hacer que UN SOLO PIC envie y
reciva datos. y eso es con lo que estoy teniendo
problemas
Pensé en usar un maestro y esclavo pero necesitaria 2
modlos Bluetooth y por consiguiente dos conexiones, 2
pic, 2 terminales Etc. Y la idea es utilizar solo uno.
Espero haberme explicado y no haberte agobiado con
tanto texto.
En fin muchas gracias y espero tu repuesta.
△ ▽ • Responder • Compartir ›
Anima • hace un año
Hola buenas, no os imaginais cuanto se agradece la información sobre el
tema.
Estamos intentando conectar un modulo Xbee HC06 con el mismo
aspecto que mostráis aquí a la placa Arduino UNO, pero por lo que
hemos visto, se requiere una especie de adaptador o una shield para
anclar el modulo al Arduino y todo eso dispara el presupuesto.
Se podría conectar de otra forma directamente a la placa o mediante
protoboard o no es posible? Desconocíamos la peculiaridad de los
módulos XBee.
Gracias por adelantado!
⛺
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 15/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
△ ▽ • Responder • Compartir ›
Quisiera comentarte que si es posible conectar directo el
bluetooth bee, aunque posiblemente deberás agregar algunos
cables soldados o conseguir los headers especiales para el
módulo y el resultado puede no ser tan agradable a la vista, ya
que como habrás visto los headers no so estándar.
Puedes usar la salida de 3.3V del Arduino y un pin de GND para
la alimentación del módulo. Por otra parte, en el pin TX del Arduino
que va a RX del módulo bluetooth deberás agregar cuando menos
un divisor resistivo que recorte los 5 volts del pin a 3.3V que
requieren los módulos de bluetooth. Para el pin RX del arduino
que viene de TX del Bluetooth no hace falta poner nada, ya que el
arduino reconoce los 3.3V como estado "alto".
Si no me he logrado explicar, con gusto puedes preguntar otra
vez para ser más específico.
△ ▽ • Responder • Compartir ›
Anima > Ruben • hace un año
Hola buenas, muchas gracias por la respuesta.
Hemos realizado las conexiones como comentaste, nos
hemos apañado con el divisor resistivo de TX Arduino a
RX de Bluetooth, aunque midiendo tensiones este pin (TX
Arduino) nos daba 4V no se muy bien por qué (el resto de
pines si que nos dan 5V).
De todas formas de momento parece que OK.
Gracias de nuevo!
△ ▽ • Responder • Compartir ›
Que bueno que funcionó :). Prueba con
resistencias de 330 y 220 ohms. La de 330 debe ir
conectada a tierra y la de 220 debe ir al pin TX de
arduino. De esa forma el valor del voltaje debería
rondar los 3 volts a la salida del divisor de voltaje.
El menor voltaje puede deberse a que están
demandando mucha corriente del pin con los
resistores que estan utilizando.
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 16/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
Saludos.
△ ▽ • Responder • Compartir ›
Anima > Ruben • hace un año
Ya está. Perdon las molestias.
Saludos!
△ ▽ • Responder • Compartir ›
Anima > Ruben • hace un año
Los baudios a los que estaba configurado y los que
le pedíamos en el código Arduino no coincidan ahí
la no transmisión de datos.
Saludos!
△ ▽ • Responder • Compartir ›
Anima > Ruben • hace un año
Hola de nuevo.
Si, seguramente sea eso, gracias por la
sugerencia.
Aunque hemos conseguido conectar y vincular el
módulo con dispositivos Android (nuestro proyecto
tiene que ver con este tema) hemos probado ya
con varios códigos de Arduino pero no
conseguimos enviar comandos a través de este
solo para probar si funciona.
Hemos probado con programas como BlueTerm o
Bluetooth Terminal pero, aunque la app se conecta
con el módulo, no recibimos respuesta de las
órdenes que enviamos, incluso hemos elaborado
una app en AppInventor. De momento solo
buscamos encender un LED.
Los códigos de Arduino que hemos mirado parece
ser que funcionan con los hc06 y hc05 más
típicos (los adaptados a Arduino me refiero).
Pensábamos que el problema podía venir de los
baudios (según explica en este enlace sobre las
características del módulo el "4" corresponderia
con 9600 y no el "1" como suele ser habitual:
http://www.elecfreaks.com/wiki... pero hemos
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 17/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
http://www.elecfreaks.com/wiki... pero hemos
cambiado la configuración y sigue sin funcionar...
Eso sí podemos cambiar password y name
perfectamente (baudios suponemos que también
pero no podemos observarlo directamente claro).
Cómo podríamos testear nuestro módulo de alguna
forma para saber si puede recibir y enviar datos
(mejor aun en Android)?
Nos preocupa que este XBee pueda plantear
diferencias con el resto.
Recuerdo conexiones (módulo/Arduino): GND a
GND, VCC a 3,3V, DOUT (TX) a RX, DIN (RX) a
TX.
Gracias de verdad por la ayuda, cuesta encontrar
buena info y colaboración sobre el tema.
Lo más vendido.
Arduino UNO R3
$380.00 $360.00
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 18/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
Sobre nosotros…
¿Cómo comprar?
¿Quiénes Somos?
Formas de Pago
Contacto
Distribuidores
Política de Privacidad
Afiliados y estadísticas
Afiliados:
Visitantes:
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 19/20
4/11/2015 Bluetooth HC05 y HC06 Tutorial de Configuración Geek Factory
Diseñado por Elegant Themes | Desarrollado por WordPress
http://www.geekfactory.mx/tutoriales/bluetoothhc05yhc06tutorialdeconfiguracion/ 20/20