LOJA FÍSICA
Praça Mauá, 4541 - Sala 22
09580-050 - São Caetano do Sul / SP
CENTRAL DE ATENDIMENTO
(11) 3522-7626
info@robocore.net
HORÁRIO DE FUNCIONAMENTO
De segunda à sexta das 9:00 às 18:30
Retornar
ao topo
Bluetooth HC-05: Configurando via Arduino


O Módulo Bluetooth - HC-05 possui muitas configurações e funcionalidades que são acessadas via comandos AT. Este tutorial trará os conceitos básicos para que você possa configurar e fazer uso dessas funcionalidades através de seu Arduino.

Neste tutorial aprenderemos como:
  • Enviar comandos AT;
  • Alterar nome, senha e baud rate.
Para isso precisaremos de: Veja na imagem ao lado como conectar o Módulo Bluetooth ao Arduino.

Obervação: O Módulo Bluetooth HC-05 pode ser alimentado com 5V, mas os pinos de RX/TX trabalham com 3.3V. Por este motivo é altamente recomendado o uso de um Conversor de Nível Lógico: ele realizará as adequações de tensão (tanto de 5V para 3.3V, quanto o inverso) para que a comunicação ocorra corretamente.


Agora faça o upload do código abaixo para a BlackBoard:

O que esse código faz basicamente é enviar para o Módulo Bluetooth tudo o que é recebido pela Serial e enviar para a Serial conectada ao computador tudo que é recebido do Módulo Bluetooth. Deste modo, a BlackBoard atua apenas como uma ponte de comunicação entre o Módulo Bluetooth e o computador.
Após fazer o upload, se tudo estiver correto, você deve observar o led do módulo piscando rapidamente:


O módulo está pronto para se conectar a outro dispositivo.


Agora abra seu Monitor Serial, selecione "Both NL & CR" e "9600 baud" conforme a imagem abaixo:


Precisamos informar para o módulo que queremos enviar comandos AT, para isso pressione o botão no canto inferior direito do módulo (próximo a barra de pinos). Esse botão serve para, entre outras coisas, informar ao módulo que queremos entrar no modo de comandos AT.

Pronto: agora já podemos enviar nosso primeiro comando AT!

Digite AT no seu monitor serial e envie o comando.
O Módulo deve responder com "OK" indicando que ele está recebendo os comandos. Digite AT+STATE? e ele deve responder com "+STATE:PAIRABLE" seguido de um "OK" conforme a imagem abaixo:


Caso o módulo não responda, tente apertar o botão novamente. Se ainda assim não funcionar, pode ser que o módulo já tenha sido configurado e que o baud rate não seja mais 9600.
Se for o caso, tente alterar o baud rate no código na linha "bluetooth.begin(9600);". Tente alterar por 38400 que é um valor padrão quando o módulo é resetado para as configurações de fábrica. Faça o upload do código e tente novamente.

Agora vamos digitar os seguintes comandos em sequência:
  • AT+NAME=BlackBoard-01 - Atera o nome para do módulo para "BlackBoard-01";
  • AT+PSWD=321rc - Altera a senha para "321rc"
  • AT+UART=38400,0,0 - Altera o Baud para 38400, 1 stop bit e nenhum bit de paridade.
  • AT+RESET - Reseta o Módulo e aplica as alterações feitas.
Ao final você deve ver algo parecido com essa imagem:


Se você tentar enviar um comando para o módulo, perceberá que ele não responderá. Isso se deve ao fato de termos alterado o baud rate da comunicação, que antes era 9600 e agora é de 38400.
Para se comunicar com o módulo e fazer mais configurações você deve agora modificar no código "bluetooth.begin(9600);" o baud rate com o qual a BlackBoard se comunica com ele de 9600 para 38400.

Agora que você já sabe como enviar um comando AT para o módulo, pode explorar as configurações e funcionalidades que o módulo dispõe. Você pode encontrar uma lista com os comandos AT do Módulo Bluetooth HC-05 aqui.

Se você ainda não sabe como comunicar seu Arduino com o PC via Bluetooth, veja nosso tutorial Bluetooth HC-05 com Arduino: Comunicando com o PC.


Para fazer comentários é necessário estar logado. Efetuar login.

Você ainda nao é cadastrado? Cadastre-se agora!


adriano_msiqueira
date Enviado: 2018-12-14 15:50:23
Ola, tenho uma maquina cnc comunico com ela via cabo serial rs232 . Gostaria de saber se consigo comunicar utilizando esse modulo arduino

Francois
date Enviado: 2018-12-14 18:34:06
adriano_msiqueira
É possível usar o Arduino para uma comunicação RS232, porém você precisará de um conversor de protocolo como o MAX232 (https://www.maximintegrated.com/en/products/interface/transceivers/MAX232.html).

leticiast98
date Enviado: 2018-11-03 19:54:30
Olá, Tenho um projeto no qual precisaria receber informações de 3 dispositivos celulares, é possível que o arduino receba informações dos tres dispositivos ao mesmo tempo por meio de bluetooth ou talvez devo utilizar uma conexão via wi-fi?

Francois
date Enviado: 2018-11-05 17:57:31
leticiast98
O Bluetooth é recomendado para uma comunicação ponto a ponto (somente dois dispositivos). É possível fazer redes mais complexas (veja Piconet e Bluetooth Mesh), porém não é o modo padrão. Se você precisa de uma comunicação praticamente simultânea, talvez seja mais fácil com WiFi, pois não é necessário parear um dispositivo de cada vez.

gustavosmt96
date Enviado: 2018-10-01 20:04:14
Quando conecto o módulo diretamente com o arduino, nos mesmos pinos, ao alimentar o circuito via porta serial USB do pc o módulo pisca o led dele durante alguns segundos e depois apaga, o módulo não fica visível para nenhum dispositivo, o que devo fazer?

gustavosmt96
date Enviado: 2018-10-01 20:05:56
gustavosmt96
Não utilizo blackboard, mas faço divisor de tensão no pino RX do módulo

Francois
date Enviado: 2018-10-02 14:43:28
gustavosmt96
Verifique as suas conexões, sobretudo as de alimentação. Tente também usar uma porta USB de outro computador ou uma fonte externa, pois o módulo pode não estar sendo alimentado corretamente.

elton.per
date Enviado: 2018-08-16 23:05:54
Tentei de várias formas, mas o módulo só aceitou os comandos quando eu enviei os comandos mantendo o botão apertado.

ViniDj
date Enviado: 2018-08-17 11:56:37
elton.per
Para que possamos te ajudar, envie um email para suporte@robocore.net com o número do pedido que fez conosco com esse módulo. Assim poderemos checar sua versão, ver fotos do módulo e tentar te ajudar com o problema.

donadoni2007
date Enviado: 2018-08-19 12:19:09
elton.per
Boa tarde amigo eu estava com o mesmo problema, resolvi dessa forma coloquei o pino KEY ou EN do Bluetooth no 3,3v do Arduíno, e liguei o Arduíno com o código no USB , vc vai ver que o Bluetooth parou de piscar, desconecte pino KEY OU EN  em seguida, ele entrou em modo AT, Agora e só vc fazer as alteração, espero ter ajudado ..

lucdepaula
date Enviado: 2018-03-14 12:53:55
Sou novo nisso, ele pode ser alimentado pela 3V3? Tenho um motor de passo na 5V, teria que colocar numa protoboard e por os dois ligados ao 5V pela board?

lucdepaula
date Enviado: 2018-03-14 13:02:45
lucdepaula
Eu teria que alimentar os dois na 5V e colocar resistores para proteger o módulo jogando da 5V para a 3v3?

Francois
date Enviado: 2018-03-14 13:23:57
lucdepaula
O módulo HC-05 deve ser alimentado com 5 V, mas os pinos de comunicação (Rx e Tx) operam em 3,3 V, por isso é recomendado usar um conversor de nível lógico (https://www.robocore.net/loja/produtos/conversor-de-nivel-logico.html). Você pode usar um divisor de tensão para converter o nível de tensão de 5 V para 3,3 V, além de usar o pino de saída em 3,3 V direto no pino de 5 V do seu Arduino (a ligação direta pode ser feita de 3,3 V para 5 V, mas não de 5 V para 3,3 V), mas o módulo conversor de nível lógico (link anterior) tem uma performance melhor.

Você pode usar o pino IOREF do seu Arduino como fonte de alimentação 5 V, porém a corrente drenada não pode ser alta e o modelo de placa usado deve operar em 5 V (algumas placas operam em 3,3 V, e nelas a tensão no pino IOREF é de 3,3 V).

taciano900
date Enviado: 2018-03-02 19:56:47
Amigo eu comprei um modulo bluetooh hc06 mais nao estou conseguindo alterar de jeito nenhum a senha e nome. Me ajuda ai por favor será que o baud rate foi alterado

MarceloFarias
date Enviado: 2018-03-04 12:40:40
taciano900
Lembramos que as informações contidas nesse tutorial são referentes ao módulo HC-05. Eles podem funcionar de maneira parecida para o HC-06, mas você deve ficar atento as diferenças.

taciano900
date Enviado: 2018-03-04 12:45:14
taciano900
Amigo é porque eu fiz um projeto e quero mudar o nome e senha. O meu bluetooth é hc06. Se eu comprar um conversor usb TTL 232 eu consigo mudar via software?

MarceloFarias
date Enviado: 2018-03-05 10:22:26
taciano900
Sim, você pode utilizar um conversor USB-Serial para se comunicar e configurar seu módulo Bluetooth. Uma boa opção para isso é a Placa RC FTDI (https://www.robocore.net/loja/produtos/placa-ftdi.html). Após a conexão ser realizada, basta utilizar dos comandos AT informados no datasheet da placa para que você possa configurá-la.

luiswagner
date Enviado: 2017-10-06 10:59:05
Obrigado pela resposta ViniDJ
Achei o manual e dei uma lida.
Para entrar em modo AT o manual diz que é para segurar o botão ( botão da placa HC-05 ) e só depois ligar o cabo usb.
Depois de ligado solte o botão. A placa entra em modo AT.
Espero que sirva para os demais membros do grupo,
Obrigado pela resposta rápida. Vocês são "os caras" . Recomendo muito a compra no site.
Essa placa não foi comprada na Robocore. ( vou comprar da próxima vez ) hehehe

luiswagner
date Enviado: 2017-10-06 10:21:06
Bom dia.
Ja refiz várias vezes o código e os procedimentos de ligação.
Não consigo receber os comandos de retorno do módulo BT no monitor serial.
O Módulo  BT esta funcionando pois aparece aqui no meu celular e ja fiz o pareamento.
Utilizei o exemplo:
https://www.robocore.net/modules.php?name=RC_Tutoriais&id=45
Funcionou perfeitamente.
Será que pode ser algo com o conversor analógico ? Tenho dois aqui e testei ambos
Grato

ViniDj
date Enviado: 2017-10-06 10:36:29
luiswagner
O módulo HC-05 que está usando foi adquirido na RoboCore? Se comprou em outro lugar, pode ser que o módulo que possui não contempla os comandos AT aqui descritos.

Ripple
date Enviado: 2017-09-22 11:30:30
Bom dia. Na hora de conectar o módulo surgiu uma dúvida. Por que (segundo o esquema eletrônico acima), temos que conectar o Vcc em 5V e 3.3V? 

Outra dúvida é quanto ao pino onde conectamos o Rx do módulo. As saídas do arduino não enviam 5V? O pino Rx do módulo não suporta apenas 3.3V? 
Conectando da forma como vcs indicam acima não há risco de queimar o módulo?

ViniDj
date Enviado: 2017-09-22 17:04:18
Ripple
O módulo bluetooth é alimentado com 5V, porém sua comunicação acontece em 3,3V. 

O conversor de nível lógico é usado justamente para não haver problemas de nível de sinal. Fazendo da forma conforme está mostrado acima não corre risco de queimar o módulo durante a comunicação.

Ripple
date Enviado: 2017-09-28 15:33:45
Ripple
Entendi. Obrigado pelo suporte.

psuporte
date Enviado: 2017-09-20 11:41:10
Perdendo sinal Bluetooth.

Montei um carro 4 motores, sensor distancia, leds e buzzer controlado pelo Bluetoth.

Após alguns segundos de comandos para o carro (frente / traz / lados) o celular não comunica mais com o Bluetooth e o carro fica executando comandos diversos.

Sem o Sensor de distancia / leds / buzzier ligado tudo funciona perfeitamente por muito tempo, alguém tem ideia do que pode ser ?

Estou alimentando com duas baterias 7.4v (drone) os motores e o arduino

Alguém tem alguma dica por que isso acontece ?

Francois
date Enviado: 2017-09-20 17:58:49
psuporte
Verifique as conexões e se algum componente está esquentando demais. Leve em conta que o driver do motor pode esquentar bastante, logo às vezes é difícil de saber se ele realmente está fora do normal.
Verifique o código, pode ter uma ou mais rotinas que estão influenciando na recepção e interpretação dos comandos. Uma sugestão é comentar todo o código e ir descomentando pouco a pouco, confirmando que o código está funcionando em cada etapa. Você também pode usar a comunicação serial para enviar mensagens de debug para saber em qual trecho do programa o robô está. Isso deixa a execução do programa mais lenta, porém é um procedimento simples para encontrar alguns erros.

OliveiraMarcos
date Enviado: 2017-08-07 21:35:16
Pessoal quem souber com usa o comando for no Arduino eu Agradeço pela ajuda.
Deixa umas dicas aqui.
OK?
Obrigado!!!!!

MarceloFarias
date Enviado: 2017-08-08 09:33:49
OliveiraMarcos
https://www.arduino.cc/en/Reference/For

OliveiraMarcos
date Enviado: 2017-08-07 21:33:18
EU ACHO LEGA ESSES PROJETOS QUE USA SISTEMA BLUETOOTH.
TANTO HC-05 OU HC-06

OliveiraMarcos
date Enviado: 2017-08-07 21:30:48
PARABENS PELO DESING DO SITE ESTA MUITO BONITO E INTERARTIVO.
E TEM PROJETOS DE APRENDIZ.
ISSO É MUITO BOM PRA NÓS INICIANTES.
PARABESNS MESMO.
AGORA ESPERO QUE O PREÇO DOS PRODUTOS SEJAM BONS.

joeldemetrio
date Enviado: 2017-08-02 15:24:00
Boa tarde.
Existe uma referencia  no Módulo Bluetooth Low Energy - HC-08 indicando o HC-05 para Android,
eu gostaria de saber se este modulo HC-05 é BLE ou Classic.


ViniDj
date Enviado: 2017-08-02 17:10:17
joeldemetrio
O HC-05 é Classic. 
O HC-08 é BLE.

guisollo
date Enviado: 2017-06-12 19:06:03
Boa noite, meu modulo hc-05 nao responde a nenhum comando e ate mesmo mudando na janela de print o 9600 para 38400 ou ate mesmo mudando no codigo , ainda naome responde, eu estou perdido com esse modulo.

MarceloFarias
date Enviado: 2017-06-13 09:13:49
guisollo
Você deve realizar as ligações exatamente como mostrado no tutorial para que o código funcione. Fique atento ao uso do Conversor de Nível lógico, ele é importante para garantir uma comunicação correta e não danificar seu módulo. Peço que verifique novamente, tentando montar apenas o circuito do bluetooth junto a sua placa sem nada mais conectado. 

jotamacedo
date Enviado: 2017-05-08 16:38:10
Vocês tem tutorial pro HC 08 ?

MarceloFarias
date Enviado: 2017-05-08 16:39:23
jotamacedo
Ainda não criamos um tutorial para o HC08, contudo o funcionamento é parecido. Você pode usar esses conceitos como base.