CONTACT INFORMATION
Monday to Friday from 8:00 to 17:30
+55 11 3522-7626 / vendas@robocore.net
Back
to top

Bluetooth HC-05: Configurando via Arduino

This tutorial is not available in English



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!


danielfrancamdt
date Enviado: 2020-09-21 16:18:39
Meu modulo parou de funcionar do nada, estava funcionando normalmente mas agora não liga

Giovanni5
date Enviado: 2020-09-21 16:58:06
danielfrancamdt
Este comportamento é bem estranho, algum componente do circuito está esquentando? Revise a ligação elétrica do circuito, e tente alimentar somente o módulo, se ele ligar, é sinal de que há algo de errado em outra parte do circuito.

danielfrancamdt
date Enviado: 2020-09-21 19:08:40
danielfrancamdt
Eu tentei exatamente isso porem não funcionou , meu modulo e novo usei ele hoje pela primeira vez

caueduar
date Enviado: 2020-04-30 15:07:32
Olá, como posso alterar o nome do HC-06 ,sem utilizar o monitor serial, via código ?

Giovanni5
date Enviado: 2020-04-30 15:39:18
caueduar
Infelizmente só é possível alterar o nome módulos HC-05 e 06 através de comandos AT, porém você pode preparar o seu código para enviar comandos AT automaticamente, sem a necessidade de abrir o monitor serial.

pecjunior
date Enviado: 2019-10-09 15:42:24
Boa tarde
Falo em nome da empresa droid tecnologia promocional/oficina de merchandising
Adquirimos 24 unidades bluetooth hc08.
Porem aparentemente o mesmo nao esta correspondendo.

A alimentação descrita no site indica alimentação de 5V correto? ou 3.3V?
e os pinos TX e RX?
Tambem tem que ter o resistor como divisor de tensao correto?


Pois tinhamos o HC - 05  e funcionava perfeitamente (envio e recebimento) e o HC08 envia os dados, porem nao os recebe pelo celular.

Grato.

Giovanni5
date Enviado: 2019-10-09 16:14:19
pecjunior
Nós recebemos o seu e-mail e prosseguiremos com o suporte por aquele canal.

sauloviei
date Enviado: 2019-07-02 21:02:40
Boa noite,

Amigos fiz todo o procedimento, mas não estou conseguindo resposta do bluetooth, alguma dica por favor...

ViniDj
date Enviado: 2019-07-03 11:35:39
sauloviei
Pode ser que o módulo que vocês está usando tenha alguns detalhes que o diferencia do usado neste tutorial (alguns tem botão, outros não, por exemplo).  Caso continue tendo dificuldades em usar o módulo e tenha adquirido conosco, entre em contato pelo email suporte@robocore.net com o número da nota fiscal onde comprou o módulo bluetooth conosco para que o pessoal possa te ajudar.

vilian2102
date Enviado: 2019-01-28 01:53:20
Tenho duas dúvidas.
1ª: Eu só consigo fazer as configurações AT do hc-05 quando pressiono o botão que vem no módulo. Se alguém souber resolver isso me avise.
2ª: Quando tento mudar a senha do módulo ele aparece a seguinte mensagem:  
AT+PSWD=2102
ERROR:(1D)
Alguém esta enfrentando o mesmo problema?

computerplayer
date Enviado: 2019-04-17 14:52:11
vilian2102
Digite AT+VERSION, se a versão for 3.0 ou maior tem que colocar a senha entre aspas, tipo AT+PSWD="senha"

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).