Como usar o Arduino Bluetooth HC-05 em modo mestre 181

Os módulos arduino bluetooth são divididos em dois tipos: os que trabalham no modo escravo (slave), ou seja, apenas aceitam conexões de outros dispositivos, e os que trabalham tanto no modo escravo como no modo mestre (master), permitindo que se conectem à outros dispositivos bluetooth.

Nesse tutorial, vamos mostrar como interligar 2 módulos bluetooth: um Arduino Bluetooth HC-05 em modo master, e um HC-06 em modo slave. Você pode utilizar também, se preferir, dois módulos HC-05, já que ele aceita tanto o modo mestre como o modo escravo.

Os módulos em si são muito parecidos, o que muda é a versão do firmware, e geralmente os módulos arduino bluetooth HC-06 possuem apenas 4 pinos, e o HC-05 tem 6 pinos. Na dúvida, consulte a documentação do módulo que você tem em mãos.

Um dos pinos adicionais é o pino Status/Key, que vamos utilizar para programar o HC-05 em modo master, pareando-o com o HC-06.

O processo é um pouco extenso e recomendamos não pular nenhum passo, pois cada etapa depende da correta execução da etapa anterior.

O material que vamos utilizar é o seguinte :

  • 2 Arduino Uno (podem ser utilizadas outras placas)
  • 1 módulo Arduino Bluetooth HC-05
  • 1 módulo Arduino Bluetooth HC-06
  • 4 resistores para montagem do divisor de tensão
  • 1 led de qualquer cor
  • 1 resistor limitador de corrente para o led

Antes de iniciarmos a ligação dos componentes, vamos relembrar que esses módulos trabalham com nível de sinal de 3.3v, o que significa que vamos precisar de um divisor de tensão para evitar a queima do módulo.

O divisor de tensão é composto por dois resistores, e você pode calcular a tensão de saída acessando o calculador desse link. Na página, digite 5 para a tensão de entrada (Input Voltage), digite os valores dos resistores (R1 e R2) que você possui, e pressione o botão Compute para verificar no campo Output Voltage qual será a tensão de saída, lembrando que por segurança esta deve ser, no máximo, de 3.3v.

Configurando Arduino Bluetooth HC-05 em modo mestre:

Circuito HC-05 - Master

Monte primeiro o circuito acima, que será usado para programar o HC-05 em modo master. Agora, carregue o seguinte programa no segundo Arduino antes de montar o circuito do módulo escravo:

Configurando Arduino Bluetooth HC-06 em modo escravo:

Circuito HC-06 - Escravo

Efetue a ligação dos componentes no segundo Arduino e utilize uma fonte externa para alimentação. Note que no primeiro circuito estamos utilizando os pinos 10 e 11 do Arduino como pinos RX e TX de uma porta serial. Isso é possível pois vamos utilizar a biblioteca Software Serial. No Arduino desse circuito, carregue o seguinte programa:

Comandos AT:

Entre no serial monitor e selecione a velocidade de 115200 na parte inferior (destaque em vermelho), assim como o comando de fim de linha para Ambos NL & CR (destaque em azul). A mensagem “Digite os comandos AT :” será exibida:

HC-05 - Serial Monitor - Inicial

Digite o comando AT, que deve retornar com a mensagem “OK” indicando que o módulo está respondendo aos comandos. Digite AT+VERSION para exibir a versão do firmware, que pode ser diferente da imagem abaixo:

HC-05 - Serial Monitor - Versão

Digite agora os seguintes comandos na sequência. Cada um deles deve retornar “OK“, indicando que o comando foi aceito pelo módulo:

AT+ORGL (Reseta o módulo para a configuração padrão)
AT+RMAAD (remove dispositivos anteriormente pareados)
AT+ROLE=1 (define o modo de operação do módulo como MASTER)
AT+RESET (Reset do módulo após a definição do modo de operação)
AT+CMODE=1 (Permite a conexão a qualquer endereço)
AT+INQM=0,5,10 (Modo de varredura : padrão, procura por 5 dispositivos ou pára a varredura após 10 s)
AT+PSWD=1234 (define a senha do módulo mestre, que deve ser a mesma do módulo slave/escravo)
AT+INIT (inicializa o perfil para transmissão/recepção)
AT+INQ (inicializa a varredura por dispositivos bluetooth)

Essa varredura vai mostrar o endereço dos dispositivo bluetooth detectados. No nosso caso temos apenas um dispositivo escravo:

HC-05 - Serial Monitor - Varredura

A parte que nos interessa dessa tela é o endereço, que no nosso caso é 2013:7:183190. Vamos precisar dessa informação para efetuar o pareamento, trocando os símbolos de “dois pontos” por vírgulas, ficando assim: 2013,7,183190

Digite agora o comando AT+PAIR=<endereco>,<timeout>. No nosso caso, o comando ficaria assim :

AT+PAIR=2013,7,183190, 10

O serial monitor retornará “OK”.

Por fim, digite o comando AT+LINK=<endereco>, que vai conectar os dois dispositivos. Nesse momento o led do módulo HC-05 em modo master deve piscar de forma mais lenta, indicando conexão ao módulo HC-06, cujo led deve parar de piscar.

Essa série de comandos AT não precisa ser repetida a cada montagem. Uma vez configurado o módulo HC-05 em modo master, ele se conectará automaticamente ao módulo escravo todo vez que você energizar os módulos.

Programando o Arduino:

Para finalizar, desconecte o pino Key do HC-05 do pino 3.3v do Arduino, e carregue o seguinte programa no Arduino:

Esse programa envia os caracteres L (para acender o led) e D (para apagar o led) para a serial das portas 10 e 11, onde está ligado o HC-05 no primeiro Arduino. O segundo Arduino, com o HC-06, recebe esses caracteres, e acende o led ao receber o caracter L, e apaga o led ao receber o caracter D.

Gostou? Então confira mais este interessantíssimo post sobre Como comunicar com o Arduino Gsm Shield e tenha um celular próprio feito com Arduino!

Posts Relacionados

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

181 Comentários

  1. Não estou conseguindo de jeito nenhum comunicar com o arduino.

    Consigo fazer o arduino enviar dados para o celular… mas não consigo enviar dados do celular para o arduino.
    Li todos os tutoriais no blog e fiz tudo como esta lá.

    Poderia me dar uma ajuda?

    1. Boa tarde Peter,

      Você está usando o Bluetooth SPP ? Já experimentou esse mesmo programa em outro celular, para ver se não há alguma incompatibilidade na comunicação BT ?

      Abraço.

      Adilson – Equipe FILIPEFLOP

  2. Pareei o HC-05 com meu notebook, mas quando desliguei o note, o HC-05 continuou pareado e agora n]ao sei como dar o reset porque o note não encontra mais o HC-05

    1. Boa tarde Paulo,

      Você consegue se comunicar com o módulo BT pelo celular ?

      Grato.

      Adilson – Equipe FILIPEFLOP

  3. Como envio comandos AT para o módulo HC-05 ?

    1. Leia a postagem inteira que você vai entender

  4. como faço para sincronizar um controle de ps3 com um modulo bluetooth hc5 no arduino uno?

  5. Olá, estou com um problema na hora de parear os dois módulos pois quando digito o comando (no meu caso) “AT+PAIR=98D3,31,B1EC0E” , da um erro “ERROR: (0)” . Você poderia me ajudar? Obrigado.

    1. Ja resolvi o problema eu tinha colocado e serial monitor como “sem fim de linha”

      1. Boa noite Denilson,

        Legal, essa informação vai ajudar outros usuários do site.

        Abraço !

        Adilson – Equipe FILIPEFLOP

  6. O meu módulo bluetooth se recusa a conectar em outros dispositivos bluetooth. Quando desconectado, ele fica piscando, e quando tento conectar, ele pisca duas vezes e para por um instante (em vez de permanecer ligado).

    A comunicação com o celular fica impossibilitada. Segui todos os passos e a montagem do circuito. Gravei um vídeo mostrando o erro: https://www.youtube.com/watch?v=Cr64evyltdk&list=UUgGJxXlV6H-tTtCvUTE4Jmg

    1. Boa noite Leonardo,

      Eu vi alguns dispositivos BT que realmente não ficam com a luz ligada direto: quando conectado, o Led pisca de forma lenta.

      A princípio, isso pode ser algum problema na configuração do pareamento, mas se o erro persistir, peço que entre em contato para que a FILIPEFLOP providencie a troca do módulo.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  7. Olá boa noite,
    Comprei um módulo HC-05 aqui nesse site. No entanto, já tentei encontrar o módulo bluetooth com vários celulares e não aparece nem linvor e nem HC-05 nem qualquer outra coisa! A alimentação esta correta, o LED esta funcionando. Além disso, consigo comunicar ele com o arduino e enviar os comandos AT. O que estou fazendo errado? Meu módulo está com defeito?

    1. Boa noite Geraldo,

      Pode ser defeito no módulo, já que simplesmente alimentando o módulo já deveria aparecer no bluetooth do celular.

      Se puder, teste com outro módulo BT para ter certeza que o problema é esse.

      Grato.

      Adilson – Equipe FILIPEFLOP

  8. não estou conseguindo fazer o comando AT eu fiz do jeito que você descreveu para fazer, estou usando dois modulos hc 05 mas quando envio o comando AT o modulo não esta mandando o OK de volta

    1. Boa noite Leonardo,

      Verifique se a velocidade da serial está setada corretamente.

      Grato.

      Adilson – Equipe FILIPEFLOP

  9. Meu modulo HC-05 chegou essa semana, quando fui testar fiz a montagem de circuito de acordo com o circuito deste post e o modulo não ligou, o LED não piscou, mesmo ligando apenas a alimentação do modulo o LED continua sem acender. Como posso resolver este problema?

    1. Boa noite João,

      Se você constatar que o módulo está com defeito e realmente não liga, entre em contato para providenciarmos a troca.

      Grato.

      Adilson – Equipe FILIPEFLOP

  10. Boa Noite,

    Estou pesquisando algumas soluções para um projeto que tenho e gostaria de uma ajuda em relação ao uso de mais de dois módulos bluetooth, por exemplo, um mestre com arduino e dois escravos com módulos seriais.

  11. Bom dia! Segui seu tutorial e consegui configurar o módulo bluetooth como master. Porém, a função AT+LINK sempre retorna FAIL para mim. E quando estou configurando e mando a função AT+PAIR=, eu recebo a solicitação de conexão, porém quando desligo o Arduíno mestre, desconecto o pino Key e ligo ele de novo, ele não estabelece conexão e nem envia a solicitação de conexão.
    Detalhe, estou conectando o arduíno com o celular android.
    Espero ter uma resposta em breve! Muito bom seu post!

  12. Boa tarde, estou tentado comunicar 2 módulos HC-05 conforme tutorial apresentado, entretanto ao enviar o comando AT não obtive nenhum comando de resposta. Não sei se tem alguma relação, mas o LED do módulo fica piscando rapidamente. Tem alguma ideia para solucionar este problema?

    Obrigado.

    1. Boa tarde Rafael,

      O led do módulo indica se o mesmo está pareado.

      você setou corretamente a velocidade de comunicação (115.200) ?

      Grato.

      Adilson – Equipe FILIPEFLOP

  13. BOM DIA NÃO ENTENDI PARA QUE SERVE O MODO MASTER – NÃO É MELHOR SEMPRE TRABALHAR COM O MODO SLAVER? O MODO SLAVER NÃO RECEBE E TRANSMITE? ENTÃO PORQUE TRABALHAR NO MODO MASTER. E PORQUE NO MODO MASTER EU NÃO TRABALHO COM RX E TX?

    LUIZ BENEDITO CYPRIANO
    1. No modo Master (Mestre) o módulo trabalha enviando os dados e no modo Slave (escravo) ele trabalha recebendo os dados. Já a respeito de não usar o pino RX TX eu não sei informar 🙁

  14. Boa tarde,

    Gostaria de saber como faço para configurar o modulo hc-05 em modo escravo, e eles vem configurado sempre como mestre de fabrica? estou alimentando ele e a luz do led fica piscando, porem não encontro ele como dispositivo bluetooch no meu celular.

    1. Boa tarde Felipe,

      Para configurar o HC-05 em modo escravo, utilize esse comando :

      AT+ROLE=0 (define o modo de operação do módulo como SLAVE)

      Abraço.

      Adilson – Equipe FILIPEFLOP

      1. Boa noite,
        estou tendo dificuldades para programar o HC-05 em modo escravo

        Utilizei o codigo que vc disponibilizou para a configuração do modulo, tbm tentei outros, estou usando as portas 10 e 11 como rx e tx, conectei o pino tx do modulo na porta 10 e o pino rx na porta 11, e o pino key em 3.3V, configurei a velocidade de transmissão na serial para 115200, porem nao recebo de volts os OK dos comandos AT, estou com muitas dificuldades para configurar este modulo.

        1. Boa noite Felipe,

          Você montou o divisor de tensão também ?

          Grato.

          Adilson – Equipe FILIPEFLOP

  15. Boa noite

    fiz o procedimento para modificar o hc05 para modo master, mas no serial monitor, o resultado de cada comando é como os mostrados abaixo:
    —————————————————–
    Digite os comandos AT :
    O§†…
    «¦ ¦Q’UiÖ$‚ÆÁµAmZ`1……O§†…
    —————————————————–
    em principio está tudo configurado como mostrado tanto no protoboard quanto na configs do arduino.

    tens ideia do que pode estar acontencendo…

    att

    1. Boa tarde Cleber,

      Por favor verifique se a velocidade da porta serial está setada de maneira correta.

      Grato.

      Adilson – Equipe FILIPEFLOP

      1. Comigo está ocorrendo a mesma coisa!!!

        Já setei na velocidade mencionada e já refiz o circuito todo… DÁ OS MESMOS CARACTEES DO NOSSO AMIGO AQUI EM CIMA!!!

        Pedi outro módulo para vocês, e vocês PRONTAMENTE me atenderam (muito bem)… Porém o módulo que vocês me enviaram agora CONTINUA DANDO OS MESMOS CARACTERES!!!

  16. Passei o codigo do HC-05 para o arduino, porém, eu estou usando um HC-06 e funcionou blz…
    Mas quando eu troco “L” por “Ligar” e “D” por “Desligar” ai ñ funciona. o aplicativo qu estou usando é o ArduinoRC.

    Agradeço a ajuda.

    1. Boa noite Anderson,

      Por favor dê uma olhada no seu código, provavelmente o programa que lê os dados da serial está reconhecendo apenas um caractere.

      Grato.

      Adilson – Equipe FILIPEFLOP

  17. olá, muito bom o tutorial. Pretendo comprar esse modulo.

    uma duvida, o pino Status é usado para quê?

    outra dúvida, esses módulos vem com os pinos soldados ou temos que fazer a solda?

    obrigado!

    1. Boa noite Fabiano,

      Os pinos já vem soldados. Já vi módulos em que o pino status não estava ligado à nenhum pino do CI, logo não tinha nenhuma função. Em outros, ele serve para indicar o status do módulo bluetooth (se ele está conectado ou desconectado).

      Abraço !

      Adilson – Equipe FILIPEFLOP

  18. Já trabalhei com esse modulo e é reltivamente tranquilo..

    estou agora tentando mudar o modo de operação (master – slave) do modulo 4.0 hm 10.
    Aguem já trabalhou com esse modulo?

  19. Olá amigo, estou interessado em comprar esse módulos mas estou com algumas duvidas. Primeiro gostaria de saber se depois de configurados, os módulos podem fornecer uma conexão “transparente” entre dois dispositivos RS232, ou seja, se ele substitui uma conexão por cabo serial. Depois, gostaria de saber se o master consegue se parear com 2 dispositivos ao mesmo tempo.

    Adorei o tutorial. Sou usuário muito mais de PIC do que de Arduino, mas mesmo assim seu tutorial vai me ajudar muito se eu vir a adquirir esses módulos.

    Abraços.

    1. Boa noite Plinio,

      Você precisará de algum circuito auxiliar para fazer essa conexão e tratar os dados que saem (e entram) no módulo BT. Quanto à conexão com 2 dispositivos, existe uma opção de rede chamada Piconet, mas não tenho informações se seria possível formar uma rede dessas com esse tipo de módulo :

      http://www.teleco.com.br/tutoriais/tutorialblue/pagina_1.asp

      Abraço.

      Adilson – Equipe FILIPEFLOP

  20. E ai.
    Entao comprei o modulo bluetooth de vc vi alguns tutoriais, mas gostaria de saber o seguinte, como faco pra mapear os comandos que vem por exemplo do app que uso no android se tem algum programa especifico, por exemplo baixei um joystick virtual para android mais nao sei k comandos ele manda pro modulo se sao letras, numeros etc… para que eu possa usar os botoes para comandos no arduino. e gostaria de saber porque tenho k mexer nos comandos AT?

    1. Boa noite,

      Infelizmente não temos essa informação. Talvez você consiga junto ao desenvolvedor do aplicativo.

      Adilson – Equipe FILIPEFLOP

    2. Opa Fábio, beleza?
      Conseguiu alguma informação?
      O que você pode fazer é sincronizar o Bluetooth no PC e ler o que esta sendo recebido pelo Bluetooth.
      Outra dica também é você utilizar a documentação do programa para saber quais são as STRINGS que o programa transmite, como é um JOYSTICK provavelmente deve estar disponível esta informação.
      Com relação a mexer nos comandos AT somente é necessário se você quiser trocar o nome do bluetooth, senha, modo slave/mestre, parear com algum outro dispositivo, entre outras pequenas coisas.
      Abraço

  21. E ai eu de nvo
    Entao tentei fazer a comunicao do modulo com o arduino pelo programa que vc deixou mais nao sai nada como se nao estivesse comunicando, tentei ligar a porta wakeup para ver se dava nao deu mas nao tentei o status, fiz as ligacoes que foi passado no tutorial, so os resistores que ficaram diferentes os que eu tinha aqui consegui 2.9 v sera que pode ser isso, devo tentar aproximar mais o valor ?
    Aguardo respostas.

    1. Fabio eu tive problemas pra comunicação tbm
      No programa escravo a velocidade serial está diferente do mestre, então deixei os dois programas em 38400 e alimentei o vcc com 3.3 do arduino mesmo.
      funcionou legal assim.

      1. Mas como as instrucoes mostra a entrada de sinal do modulo e 3.3 ai se nao colocar o divisor de tensao pode queimar ? vc fez o divisor de tensao na saida do sinal?
        Valeu!!!

      2. Robison !

        Graças a sua resposta eu consegui resolver um problema que estava me incomodando a mais de 1 mês !
        Eu estava tentando comunicar o arduino com um SO Android via Bluetooth. Os dispositivos estavam pareando e o Android recebia as informações, mas recebia uma coisa totalmente errada… Até achei que a placa Bluetooth que eu tinha comprado estava estragada.
        Troquei o baud rate para 38400 e começou a funcionar perfeitamente !

        Muito obrigado.

    2. Boa noite,

      2,9v já é um valor bem próximo. Nos nossos testes, conseguimos a comunicação com valores por volta de 2,5 volts.

      Adilson – Equipe FILIPEFLOP

  22. Corrigindo….

    Boa tarde. Adicionado aos favoritos, pois vou precisar disso no futuro.
    Por favor, me tire uma dúvida, se possível.

    Estou com um projeto aqui, mas preciso mais do que os 8 slaves que o bluetooth aceita. Será que posso colocar mais de um HC-05 para possibilitar mais slaves em um mesmo arduino ou vou precisar de placas arduino adicionais?

    Obrigado.

    1. Boa noite Rogerio,

      Não efetuamos testes nessa configuração, mas creio que um segundo módulo HC-05 no Arduino seria suficiente.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  23. Como que seria o HC-05 no modo slave, muda alguma configuração?

    1. Boa tarde Fred,

      Para utilizar o HC-05 em modo slave, altere o parâmetro AT+ROLE para 0. Fica assim :

      AT+ROLE=0

      Abraço.

      Adilson – Equipe FILIPEFLOP

  24. Pessoal,

    Estou há dias tentando fazer com que o arduino se comunique direito com o módulo bluetooth HC-05. O problema já começa com o retorno que o módulo dá, contendo sequencias de caracteres que não fazem sentido, lembrando o conhecido caso de erro na configuração serial (baud rate, stop bits e paridade), porém eu conclui que não é isso pelos seguintes motivos:
    1) pelo “serial monitor” posso receber mensagens legíveis do arduino. Por exemplo, no programa acima (“//Programa : Modulo Arduino Bluetooth HC-05 – Recepcao”), o prompt “Digite os comandos AT :” é mostrado sem erro;
    2) também pelo “serial monitor” posso ENVIAR comandos AT que envio para o HC-05, pois eles são reconhecidos. Posso, por exemplo, mudar para escravo ou mestre, trocar o nome do módulo, resetá-lo etc.

    Ou seja: “serial monitor” comunica-se corretamente com arduino e o arduino conversa como deve com o HC-05, pelo menos no envio de comandos do arduino para o HC-05.

    Busquei e encontrei literatura mais técnica sobre o HC-05 e fiz diversas experimentações, todas sem sucesso.
    Cheguei a suspeitar que o HC-05 pudesse estar com defeito, mas dois outros apresentam também o mesmo erro ou variações do erro.
    Já cheguei naquele ponto em que as suspeitas técnicas se esgotaram e parti para tentar coisas meio no chute, já que não consigo perceber a causa disso.

    Abaixo, exemplos do que ocorrer após comandos AT usando o programa acima:

    Após digitar “AT”:
    Ū©§©MJLJ#áŪ©§©MJLJ#áŪ©§)MJLJ#áŪ©§©MJLJ#áŪ©§©MJLJ#áŪ©§©MJLJ

    Após digitar “AT”:
    ϧ†…ϧ†…O§†…O§†…ϧ†…ϧ†…ϧ†…O§†…O§†…ϧ†…ϧ†…

    Após digitar “AT”:
    ¯¥†…ϧ†…ϧ†…ϧ†…ϧ†…ϧ†…ϧ†…ϧ†…ϧ†…O§†…ϧ†…

    Após digitar “AT”:
    ϧ†…ϧ†…O§†…O§†…O§†…ϧ†…ϧ†…ϧ†…O§†…O§†…ϧ†…

    Após digitar “AT”:
    ϧ†…ϧ†…O§†…ϧ†…O§†…O§†…O§†…ϧ†…ϧ†…ϧ†…O§†…

    Após digitar “AT”:
    O§†…ϧ†…ϧ†…ϧ†…ϧ†…O§†…ϧ†…ϧ†…O§†…ϧ†…O§†…

    Após digitar “AT+MODE=0”:
    Ū©§©MJLJ#áŪ©§©MJLJ#áŪ©§©MJLJ#áŪ©§©MJLJ#áŪ©§©MJLJ#á

    Como se vê, coisas variáveis e bem diferentes do “OK” e/ou de dados retornando a informação pedido por um comando AT.

    1. Correção: onde se lê “AT+MODE=0”, entenda “AT+ROLE=0”

      1. Olá Nivaldo, tudo bom? poderia postar o seu código para tentar ajudar? Só pelo erro em si pode ser algumas coisas…
        Como esta o seu projeto? Pode postar foto? Obrigado Vlw

        Obs.: Eu utilizei um módulo HC-05 e um celular android para guiar um carrinho. Ficou 10! 😉

        1. Oi, Jefferson.

          Basicamente, é o mesmo programa acima, mas copio o código que venho usando:

          //Programa : Modulo Arduino Bluetooth HC�05 � Programacao
          //Autor : FILIPEFLOP

          //Carrega a biblioteca SoftwareSerial
          #include

          //Define os pinos para a serial
          SoftwareSerial mySerial(10, 11); // RX, TX

          String command = “”; // Stores response of bluetooth device
          // which simply allows n between each
          // response.
          void setup()
          {
          //Inicia a serial configurada nas portas 10 e 11
          mySerial.begin(38400);
          //Inicia a serial
          Serial.begin(115200);
          Serial.println(“Digite os comandos AT :”);
          }
          void loop()
          {
          // Read device output if available.
          if (mySerial.available())
          {
          while (mySerial.available())
          { // While there is more to be read, keep reading.
          command += (char)mySerial.read();
          }
          Serial.println(command);
          command = “”; // No repeats
          }
          // Read user input if available.
          if (Serial.available())
          {
          delay(10); // The DELAY!
          mySerial.write(Serial.read());
          }
          }

        2. Fiz copy/paste do código e o #include ficou incompleto!

          Era “#include “

          1. Sim, quando colei o texto, o nome do arquivo que é parãmetro do include não apareceu!
            Tentei mais outras coisas e continua igual.

        3. Jeferson Fernandes, poderia me passar seu email?

        4. Poderia me informar teu email?

        5. Ola Jeferson, vi seu comentário de ajuda ao amigo ai sobre a dificuldade dele comunicar o modulo dele com o Arduíno, e fiquei curioso, to trabalhando num projeto de um carro do tipo tanque na facul, e gostaria de saber se tem informações sobre programação desse modulo com Arduíno, e indicação de um controle para androide que funcione bem? No caso do projeto ele trabalha com dois motores 12V, um para cada esteira, no casa uso sistema “largato” Ex; dois motores no mesmo sentido, ele se movimenta para frente ou para trás, dois motores opostos, movimento de giro em seu eixo!! Agradeço deis de já!! Dominic Teixeira.

    2. Boa tarde Nivaldo,

      Realmente é muito estranho, pois parece ser realmente algum erro com a configuração da serial…

      você está ligando diretamente o TX do Arduino ao RX do módulo bluetooth ? não há nada no meio do caminho, como algum circuito ou resistência que possa interferir ?

      Abraço.

      Adilson – Equipe FILIPEFLOP

      1. Adilson, veja meu novo comentário no dia 7/3/2015.

  25. ********************************************************************************************************************
    Galera,

    Estou criando este novo post para que ele apareça destacado. Eu já tinha postado uma consulta dias atrás sobre o problema de falta de resposta ou retorno de caracteres estranhos quando eu tentava usar comandos AT com o HC-05 e agora apresento a solução, depois de MUITOS dias tentando achar a causa, tendo pesquisado até código de arquivo de header e sinais nol osciloscópio, criado amplificador de tensão para o sinal TRX do módulo BT, experimentado diversos bau rates, stop bits e paridade, utilizado baud rate diferentes para TX e RX na comunicação com o HC-05, analisado os bytes retornados em nível de bit e desenvolvido códigos mirabolantes para vislumbrar algum padrão no erro. O problema está na VERSÃO DA IDE 1.6.0 DO ARDUINO!!!
    Bastou eu instalar a versão 1.0 e tudo funcionou como deveria!!!
    As versões 1.5.8 e 1.5 também apresentaram o mesmo problema da 1.6.0. Acabei ficando com a 1.0.5-r2.

    Com o HC-06, a versão 1.6.0 não dá problema”

    Nestas muitas horas de buscas e tentativas, descobri que os comandos AT eram reconhecidos pelo módulo BT, apesar do retorno de caracteres estranhos, diferentes do “OK” e dados de configuração. Para a minha aplicação, cujo desenvolvimento atrasou 1 semana por causa desse problema na versão, não bastava comandar o módulo BT, pois eu precisarei também coletar dados.

    Espero que todos que tiveram problema com retorno de caracteres estranhos e/ou falta de retorno tenha sido por causa do problema da versão.

    O lado bom deste esforço é que acabei obtendo um conhecimento bem mais profundo do que eu pretendia, já que minhas aplicações não são baseadas em Arduino e o uso desta plataforma era para ser apenas provisória.

    Abraços!

  26. Boa noite turma !

    Eu consigo comunicar com um celular Android se o meu módulo bluetooth estiver no modo MASTER ?
    Existe alguma configuração que precisa ser feita ?

    Obrigado.

    1. Boa noite Carlos,

      Teoricamente sim, já que no modo master ele se conecta à outros dispositivos bluetooth. Siga os procedimentos do post para rastrear o dispositivo e coloque a mesma senha nos dois aparelhos.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  27. Olá!
    Meu celular não consegue achar o módulo HC-05, não consigo conectá-lo ao meu aparelho. Sabe o que tá havendo?

    1. Boa noite Alberto,

      O celular não consegue achar ou não consegue conectar ? Se possível, tente com outro aparelho.

      Grato.

      Adilson – Equipe FILIPEFLOP

      1. Olá, Adilson!

        Tentei parear utilizando a sequência de comandos e deu certo.

        grato.

  28. Tenho 2 placas arduino nano e 2 modulos HC-05 vou utilizar em um projeto na escola. Fiz exatamente o que foi postado acima mas quando digito o comando AT+VERSION me retorna com error. Por favor podem me ajudar, tenho pouco tempo de prazo. Os modulos HC-05 serão usados como modo mestre e modo escravo.

    Obrigado.

    1. Boa tarde Luciano,

      Que erro ele apresenta ? o AT funciona ? o módulo retorna com o “OK” ?

      Grato.

      Adilson – Equipe FILIPEFLOP

      1. Olá Adilson,

        Agradeço pela atenção dada, já consegui parear os dois módulos estava configurando errado.
        Grato pela sua atenção.

        Luciano

  29. Estou tendo dificuldade com o comando AT, fiz a montagem, coloquei o divisor de tensão para 3,3V no Rx, testei pariedade com o cel, tudo funcionou, porém não consigo receber os comandos AT, digito qualquer comando e não há respostas, poderia me dar alguma dica?

    1. Elias,

      Algumas coisas que podem fazer isso acontecer:
      1) baud-rate diferente do monitor serial em relação ao que foi definido no código. Pode ser utilizado qualquer baud-rate, desde que sejam iguais em ambos;
      2) falta da habilitação no monitor serial no envio de CR+LF ao fim de cada comando digitado, isto é, após teclar ;
      3) certifique-se de que os parâmetros da variável tipo SoftwareSerial tem os números dos ports correspondentes àqueles que efetivamente estão sendo utilizados na parte física;
      4) Confira se o baud-rate definido para a comunição serial com o módulo BT está em 38400;
      5) conforme meu post de 7 de março, penei muito até descobrir que a versão do Arduino IDE 1.6.0 era a causa do problema. Algo na biblioteca estática, talvez algo combinado com mais alguma coisa presente no S.O. do meu PC, fazia com que a comunicação não funcionasse. Muitos dias foram gastos na tentativa de descobrir o porquê. Bastou eu instalar a versão 1.0 e tudo funcionou como deveria.
      As versões 1.5.8 e 1.5 também apresentaram o mesmo problema da 1.6.0. Acabei ficando com a 1.0.5-r2.

      Abraços

      1. Olá Nivaldo,
        Boa noite.

        Eu estou com problema de configuração de meu modulo BT H-5 com o ard. uno.
        Fiz exatamente como sua orientação, mas ainda ele não funcionou.
        Versão 1.0.5r-2

        At.
        Edvaldo

  30. cara, muito util esse artigo, vai servir pra min comunicar com um modulo OBD2 bluetooth usando o HC05! valeu!

  31. É possível o máster se conectar com mais de 1 slave? Vc conseguem demonstrar como?

    1. Estou com a mesma dúvida.
      Será possível usar AT+PAIR=, para vários outros módulos?

  32. Não consigo usar outra velocidade(baudrate) de comunicação com o bluetooth a não ser 38400(default) . A partir do terminal, uso o comando AT+UART=115200,0,0 e é retornado OK. Confirmo com o comando AT+UART? e é retornado +UART:115200,0,0 e OK. Mas a comunicação permanece em 38400 mesmo reiniciando o modulo, isso porque se alterado o código para um baudrate de 115200 não funciona a comunicação entre o mC e o módulo bluetooth, mas se alterado o código para 38400 a comunicação funciona e o comando AT+UART? retorna +UART:115200,0,0. O mesmo acontece com outros baudrates.

    Pode haver um possivel problema do módulo bluetooth?

    1. Working… Tinha que desconectar o pino wakeup(key) do VCC, reiniciar o modulo para só assim voltar a efetuar a comunicação AT com o novo baudrate definido.

      1. Boa noite,

        Obrigado pelo retorno, essa informação será útil para os outros leitores do blog.

        Abraço.

        Adilson – Equipe FILIPEFLOP

  33. Olá , Consegui conectar os modulos o master começou a piscar mais lentamente e o slave parou de piscar , mas as informações que estou mandando não está chegando , primeiramente o led nao piscou , e outras tentativas de enviar dados tambem nao deu certo . qual pode ser o problema ?

    1. Boa noite Otavio,

      Temos outros artigos com exemplos de utilização desses módulos. Seria interessante testar para verificar se os mesmos estão funcionando, principalmente a parte de montagem do divisor de tensão, que é muito importante para evitar a queima do módulo.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  34. Esse tutorial pode ser seguido utilizando outros modelos de arduino?

    tente com o Duemilavone e com o MEGA e não recebe resposta dos comandos AT (AT, AT+VERSION…)

    Alguem conseguiu com algum desses modelos de arduino? Precisa fazer alguma alteração?

    1. Boa noite Renato,

      Esse módulo utiliza comunicação serial, disponível nessas placas. Não se esqueça de montar o circuito divisor de tensão para evitar queima do módulo.

      Abraço.

      Adilson – Equipe FILIPEFLOP

      1. Já fiz com e sem o div de tensão.. p módulo funciona como slave.. mas n recebe comando AT.
        Alguma dica?

  35. Alguém de floripa que conseguiu fazer funcionar teria um tempo p eu tentar alterar o modo de operação dos meus modulos no seu cenário.

    Ou emprestar um módulo para que eu certifique que o problema está no meu cenário.

    Estou tentando com o Duemilanove e com o Mega e não rolou.

    Equipe FilipeFlop, alguma restrição quanto a modelo de arduino?

    Att,

    1. Bom dia Renato,

      Não há restrição, já que a comunicação com o módulo é via interface serial.

      Adilson – Equipe FILIPEFLOP

  36. Mas e como fazer para ligar dois motores DC com arduino, ponte H e placa bluetooth HC-06?

    1. Bom dia,

      Por favor dê uma olhada nos outros artigos do blog, onde temos exemplos para ligação de motores DC, ponte H e módulos BT.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  37. Boa noite, gostaria de saber se é possivel ligar vários mestres a um só slave? gostaria de fazer alguns terminais de monitoramento que enviassem sinais pra um servidor sem uma conexão fisica, ou seja sem fios ligando eles, poderia ser via bluetooth ou rf, a unica exigencia é que cada um desses terminais tivesse uma identificação, qual melhor solução nesse caso?

  38. Bom dia, então, no meu projeto eu necessito de enviar e receber informações através do modulo bluetooth HC-05 e o APP Inventor, pelo que eu entendi isso é impossivel, certo?

    1. Bom dia Eduardo,

      É possível sim.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  39. Os colegas conseguiram receber resposta dos comandos AT na IDE 1.6.x?
    Comigo não funcionou…

    1. Amigo, comigo deu certo, verifica se a velocidade de transmissão de dados é a mesma na programação do Arduino e no monitor serial deste. Se ainda assim não conseguir pesquisa no google aí, configurando modulo bluetooth com comandos UART.

      1. Eduardo, consegui resolver seguindo este tutorial: http://www.martyncurrey.com/arduino-with-hc-05-bluetooth-module-at-mode/
        O meu módulo é como 0 descrito, tem um botão para entrar em modo AT ao ser pressionado antes de energizar.
        Estava até achando que estava com defeito, tinha testado com várias IDE’s…

        1. Hmm, desconhecia este módulo, o meu basta apenas ligar o pino Key e já pode ser configurado.

    2. Olá, também não estava conseguindo, mas pra mim funcionou a seguinte solução:

      No meu HC-05 tem um pequeno botão em cima do pino (en), não está escrito key como na ilustração deste post.

      O que eu fiz para colocar no modo de configuração:

      1)desconectar o pino de energia (3.3v)que está indo para o (en);
      2)pressionar o botão e manter apertado;
      3)conectar a energia 3.3v e soltar o botão.
      Parecido como resetar um modem ou roteador.

      Essa solução foi escrita em um comentário do seguinte link:
      http://www.instructables.com/id/Modify-The-HC-05-Bluetooth-Module-Defaults-Using-A/

      Aqui deu certo, espero ter ajudado.

  40. Uma pergunta, meu módulo Bluetooth diz que trabalha com alimentação de 3,3 e 5 V, eu sempre o alimentei em 5 V e nunca tive problemas, andei vendo uns tutoriais e sempre mandam usar um divisor de tesão no pino Rx do módulo, meu módulo não especifica isso, devo passar a usar queda de tensão?

    1. Boa tarde Eduardo,

      A tensão de alimentação é diferente do nível de sinal. A alimentação do módulo realmente pode ser feita com tensões entre 3.3 e 5V, mas para o caso do pino de sinal (RX), eu recomendo que você utilize o divisor de tensão, a não ser que no módulo esteja especificado que ele trabalhe com 5V (de sinal).

      Abraço

      Adilson – Equipe FILIPEFLOP

  41. Boa Noite,
    Montei sem problemas mas a minha alimentação externa que é uma Bateria/pilha 12V 23A, uma para cada esquema, nao duram nem 5 minutos.
    Engraçado que meço a carga e cai para menos de 3v mas depois que tiro do circuito volta a me dar 11,8v.
    O que pode ser.
    Obrigado

  42. Comigo funcionou a recepção de primeira, mas demorei para conseguir ativar o modo AT.
    O modo AT no meu BT é ativado da seguinte forma:

    1) Desligar o pino Vcc e En do módulo BT
    2) Apertar e segurar o botão switch
    3) Enquanto segurando o botão, ligar o pino En no HIGH (3.3V) e depois o pino Vcc do BT.
    4) Soltar o botão switch

    Ao soltar o botão o LED fica piscando lentamente (mais lento que quando ele é ligado). Ele ficará desligando por 2s e acendendo por outros 2s.

    1. Boa noite amigo

      estou tendo problemas para ativar o modo at do meu BT; li teu comentário e surgiu a duvida… No segundo passo vc diz que segura o botão switch. Qual botão é este?

      Agradeço,

    2. Olá Thales, onde vc comprou esse módulo?

      Comprei dois aqui no filipeflop e não funcionou.. é um modelo diferente do teu.. sem os botões..

      por favor me passe a referencia

  43. Adilson, gostaria de saber se é possível interligar 3 módulos bluetooth, pode me informar?
    Quero fazer a ligação entre 3 arduinos em pontos diferentes do meu AP atraves dos modulos HC – 05.
    Aguardo sua resposta, obrigado. 🙂

    1. Boa tarde Zarley,

      Nós não testamos isso ainda, mas creio que a comunicação seja possível apenas com um módulo de cada vez.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  44. Boa noite senhores

    Executei os procedimentos conforme o especificado no tutorial e nas soluções de problemas dos comentários, entretanto estou com problemas para receber as respostas dos comandos AT.
    o modulo pisca devagar indicando que esta em modo AT, aparece a mensagem ‘ Digite os comandos AT :” no monitor serial, entretanto O MODULO SIMPLESMENTE NÃO RESPONDE NADA.

    utilizo a versao 1.0.5 r2 do arduino e um arduino uno.

    Auguem pode ajudar?!

    1. Com dificuldades consegui identificar o erro e corrigi-lo entretanto novas duvidas surgiram…
      consigo colocar o modulo em modo AT e recebo confirmaçao de que os comandos estao sendo recebidos (OK) entretanto apos o comando AT+CMODE=1 os comandos AT+INQM=0,5,10; AT+INIT; AT+INQ nao retornam nada.
      O comando AT+INT faz com que os modulos comecem a piscar simultaneamente; 3 piscadas e apagam; se tento o comando AT+INQ retorna a mensagem ERRO(16).

      Alguém sabe o que pode ser?!

      1. Caro Daniel,

        Estava com o mesmo problema AT+INQ você também deve pressionar o botão do módulo nesse momento e achará o endereço.

        Forte Abs,

        Gabriel Ramos Pereira.

        1. Obrigado pela ajuda Gabriel

          Teu método ajudou a ter resposta dos comandos AT+INQM e AT+INIT, entretanto no AT+INQ não funciona.
          Apos o comando AT+INIT o módulo parece desabilitar os comando AT, pois ate mesmo o comando “AT+VERSION” não me retorna confirmação e o módulo escravo que piscava de 1 em 1 segundo começa a piscar de dois em dois segundos simultaneamente com o módulo mestre.
          Executando o comando AT+INQ na sequencia o módulo mestre começa a piscar de um em um segundo e o módulo escravo continua a piscar de dois em dois segundos e nenhuma mensagem e mostrada no terminal.
          🙁 Perdido aqui sem saber uma solução…

          1. Boa tarde senhores
            Corrija-me se estiver errado: o comando AT+INQ procurar por dispositivos BT e quando encontra apresenta o endereço do dispositivo BT encontrado. Certo?
            Como dito anteriormente tal comando não esta funcionando em meu módulo e não faço a minima ideia de qual seja o problema, entretanto usando o comando AT-ADDR, com o módulo escravo conectado ao circuito, o serial monitor retorna o seguinte endereço “98d3:31:904dd4” que seria o endereço do meu módulo BT escravo.
            Tentei parear (AT-PAIR) E conectar (AT-LINK) o módulo mestre usando este endereço, entretanto nada é retornado e os LEDs de ambos os módulos piscam de 2 em 2 segundos.
            Alguém que tenha conseguido executar com sucesso o tutorial poderia testar se o endereço retornado pelo Comando AT-ADDR é o mesmo retornado pelo comando AT+INQ e se é possível fazer o pareamento e conecta ao módulo escravo utilizando este endereço por favor.

    2. cara como tu resolveu o problema ?pois estou com o mesmo problema e não consigo resolver ???

      1. Boa tarde amigo
        Como dito nos comentários anteriores o modelo BT que utilizo e o que possui um pequeno botão de acionamento do modo AT. Este módulo difere demasiadamente do módulo apresentado neste tutorial, pois ele possui 3 modos AT(básico, intermediário e Completo).
        Para entrar em modo básico basta seguir o esquema exposto neste tutorial e antes de conectar o VCC segurar o botão do BT (o led irá piscar de dois em dois segundos), entretanto muitos comandos AT nao funcionam neste modo como exemplo o comando AT+INQM,AT+NAME, AT+INIT, ETC;
        Para entrar e modo intermediário siga os mesmos procedimentos do modo básico e ao executar os comando que não funcionam do modo básico segure o botão do BT antes de enviar os comandos para serial, entretanto alguns comandos AT também não irão funcionar, pois exigem que o módulo esteja em modo AT completo, como exemplo temos os comandos AT+INQ, AT+RNAME, AT+PAIR, ETC.
        Para entrar em modo completo é necessário fazer um junp no pino 34 e liga-lo em 3,3v. Neste modo todos os comando AT funcionam. Segue link da imagem da ligação: http://www.martyncurrey.com/wp-content/uploads/2015/07/HC-05_to_HC-06_HC-05_BreadBoard.jpg

        Todos os comandos estao funcionando e me retornando ok, entretanto ainda não consegui fazer funcionar a comunicação entre os dois arduinos, a principio os módulos mesmo retornando ok no pareamento e link não estão conectados.

        não sei o que pode ser

  45. Amigo me ajuda por favor, após executar os comando aqui o meu HC05 parou de aparecer visivel no celular, quando eu faço a varredura ele encontar o MAC do celular mas não pareia quando coloco o comando”PAIR”, agora não sei como fazer pois preciso conecta-lo no meu android mas não o encontro… Obg desde já.
    email ([email protected])

    1. Bom dia,

      Você mudou a senha do módulo ?

      Adilson – Equipe FILIPEFLOP

    2. Depois do comando AT+RESET o meu módulo não quer receber mais comando AT e não aparece mais para conectar. Perdi 30 reais em 1 dia =(.
      Meu módulo quando eu queria mandar comando AT eu apertava um botãosinho e ele começava a receber, e o led ficava piscando normalmente.

      Alguem pode me informar onde encontro um módulo mais confiável?
      Filipeflop já reabasteceu o estoque?

  46. opá comprei um modulo hc-5 com vcs, segui o tutorial e não comunicou. oque poderia ser?
    obs: tenho arduino mega

    1. Olá Rodrigo, também não consegui com o Mega, nem com o duemilanove..
      to suspeitando que seja o modelo do módulo que seja o HC-06 ao invés do HC05, no qual o primeiro só trabalha em modo slave.
      Vou comprar outro módulo em outra loja para tirar a prova real.
      Se conseguir algo da um toque, avisarei se tiver sucesso tb.

      1. Boa tarde Renato,

        Os módulos vendidos pela FILIPEFLOP são do modelo HC-05, e você pode verificar se ele aceita os comandos AT+ROLE (que seleciona entre os modos Master/Slave/Loopback) e o comando AT+INQ, que efetua uma varredura e procura por dispositivos BT. Esses comandos são aceitos apenas pelo HC-05.

        De qualquer forma, se você constatar que a versão não é a HC-05, entre em contato pelo email [email protected] para efetuarmos a verificação e se necessário a troca do módulo.

        Abraço

        Adilson – Equipe FILIPEFLOP

        1. Já entrei em contato, estou no aguardo de uma resposta e um novo módulo

      2. Consegui outro modulo mesmo modelo também comprado na flipflop e pegou sem problema nenhum, com isso cheguei a conclusão que o meu modulo que estava com defeito.

        1. Comprasse aqui na filipeflop mesmo?

          Equipe filipe flop.. como posso fazer p trocar os dois modulos q comprei?

          1. Sim comprei, entra em contato com o email de vendas ai eles vão te dar as instruções.
            Sempre indiquei este sit para meus colegas, pois tem um preço bom e entrega rápida, porem não estou gostando em um caso como o meu que a peça apresenta um mal funcionamento. porque tenho prazo para o meu projeto, e agora vou ter que reenviar esperar os técnicos identificarem o erro e ainda eles vão decidir se o problema foi causado por mal uso. depois disso tudo que a empresa vai me da um parecer do que ira ser feito. lembrando que o valor da peça é 44,90, só o custo de reenviar e se conta o tempo dos técnicos, nas minhas contas sairia mais barato enviar uma peça nova, ate porque deixei claro que tenho prazo para entrega.

          2. Bom dia Renato,

            Entre em contato pelo email [email protected], por favor.

            Abraço

            Adilson – Equipe FILIPEFLOP

        2. Olá Rodrigo, o seu módulo que não aceitava comando AT funcionava como slave?

    2. Boa tarde Rodrigo,

      Ele aceita os comandos AT ?

      Adilson – Equipe FILIPEFLOP

  47. Alguem pode me ajudar, estou tentando parear 2 BT HC-05 ligados em 2 placas arduino UNO, quando chego no comando AT+INQ ele me retorna com ERRO(16), mesmo eu apertando o botão.

    1. TB ESTOU COM ESTE PROBLEMA… CONSEGUIU UMA SOLUÇÃO?

  48. Eu tenho um arduino uno e um modulo bluetooth, gostaria de configurar eles para comunicação via android, usando MT Arduino Controle Device, que o único App que consegui baixar.
    Estou usando esta Sketch do H5 publicada no Blog FelipeFlop e não esta dando certo.
    No meu monitor serial o arduino esta na porta com 5 esta correto.
    Preciso da sua ajuda.

    At.
    Edvaldo 16.0915 07:07 h

    1. Bom dia Edvaldo,

      Se o seu Arduino estiver na porta COM5, está correto.

      Abraço

      Adilson – Equipe FILIPEFLOP

      1. Boa noite Adilson,
        Tudo bem?
        Eu enviei esta mensagem abaixo em 16.09.15, mas não veio a resposta que eu precisava.
        Por favor me ajuda. Eu preciso fazer esta comunicação e é urgente.
        Você pode me enviar um passo a passo bem simples, pois eu já tentei de tudo e não deu certo.
        Abraço, aguardo sua ajuda, por favor.

        Att.

        Edvaldo
        Eu tenho um arduino uno e um modulo bluetooth, gostaria de configurar eles para comunicação via android, usando MT Arduino Controle Device, que o único App que consegui baixar.
        Estou usando esta Sketch do H5 publicada no Blog FelipeFlop e não esta dando certo.
        No meu monitor serial o arduino esta na porta com 5 esta correto.
        Preciso da sua ajuda.

        At.
        Edvaldo 16.0915 07:07 h

        1. Ola Edvaldo,
          Tenho o circuito com Arduino Uno e com pic16f628a, usando o app inventor para android.
          Se quiser estou a disposicao.

          1. Olá Carlos,
            Boa noite.
            Obrigado pela atenção, se você puder me enviar eu agradeço..
            Gostaria de fazer um teste.
            At.

            Edvaldo

        2. Bom dia Edvaldo,

          Posso te ajudar com dúvidas relacionadas aos posts e produtos vendidos pela FILIPEFLOP. Pelo que você está informando, existe algum problema de comunicação/configuração entre o aplicativo que você está usando e o sketch apresentado no post.

          Abraço.

          Adilson – Equipe FILIPEFLOP

          1. Olá Adilson,
            Boa noite.
            Obrigado pelo retorno.
            Eu recebi um bluetooth hoje que eu comprei do FelipeFlop (BT RS232 HC 5 (NF- 025380), e montei o circuito conforme você me enviou , mas no monitor serial eu digito o comando AT + enter e não aparece o OK, o eu eu faço?.

            At.
            Edvaldo

          2. Bom dia Edvaldo,

            Verifique as conexões e os procedimentos, especialmente a montagem do circuito divisor de tensão para evitar erros na comunicação. Caso o problema persista, entre em contato pelo email [email protected].

            Abraço

            Adilson – Equipe FILIPEFLOP

          3. Olá Boa note.
            Ainda não consegui resolver a comunicação do BT H5 com ard.uno.
            O que significa este erro que aparece no na base da sketchh.
            Você pode me ajudar?
            sketch_sep29a:35: erro : ‘Configurando’ does not name a type.

            Att.

            Edvaldo

          4. Boa tarde Edvaldo,

            Me parece algum erro de digitação no programa. Dificilmente temos alguma função, nome de variável, etc, com o nome “configurando”.

            Abraço

            Adilson – Equipe FILIPEFLOP

        3. Edvaldo,
          Me passe seu email.
          Aguardo.

          1. Olá Carlos,
            Boa noite.
            Desculpe pela demora.
            Obrigado, segue e-mail – [email protected]

            Att.

            Edvaldo

  49. Olá,

    Estou testando um módulo HC-06, e percebi q o momento não consegui realizar duas conexões ao mesmo tempo. Até consigo parear mais de um celular com este módulo, mais enviar dados com o com duas ou mais conexões só mesmo tempo.
    Alguém saberia dizer se o Hc 05 isso é possível?

  50. Porque não tem divisor de tensão no TX do módulo só apenas no rx?

    1. Bom dia Fernando,

      Você pode colocar o divisor de tensão nos pinos RX e TX do módulo, sem problemas. A diferença é que o pino TX vai enviar dados com nível de sinal de 3.3V para o Arduino, que reconhece esse sinal normalmente.

      Na hora de receber o sinal pelo pino RX, entretanto, o máximo suportado pelo módulo é 3.3V (o Arduino envia com 5V), então o divisor é necessário.

      Resumindo:
      Módulo BT envia 3.3V —-> Arduino recebe 3.3V = OK, divisor de tensão opcional
      Arduino envia 5V —-> Módulo BT só aceita receber 3.3V = Necessário divisor de tensão

      Abraço!

      Adilson – Equipe FILIPEFLOP

  51. GALERA QUE ESTA ENFRENTANDO PROBLEMAS EM COLOCAR O MODULO HC-05 EM AT… DEPOIS DE MUITO QUEBRAR A CABEÇA.. DESCOBRI O PROBLEMA…

    ALGUNS MODULOS POSSUEM UM BOTAO JUNTO AO PINO (EN OUTRO E O PINO KEY) PARA QUE O MODULO ENTRE EM MODO DE CONFIGURAÇÃO VOCE DEVE DESLIGAR O MODULO DA ALIMENTAÇAO DE 5 V FEITO ISSO PRECIONE O BOTAO QUE SE ENCONTRA NO MODULO HC-OU MANTENDO O BOTAO PRECIONADO RELIGUE A ALIMENTAÇAO DO MODULO….. APOS ALIMENTADO SOLTE O BOTAO E PERCEBERA QUE O LED COMEÇOU A PISCAR MAIS LENTAMENTE… PRONTO AGORA ELE DEVE ESTAR RESPONDENDO AOS COMANDO AT..

    1. Cara, estou com o problema do Bluetooth não responder ao comando AT. Fiz o que você falou. O led realmente começou a piscar lentamente, mas continuou sem responder o ‘OK’. Você fez mais alguma coisa?

  52. FelipeFlop teria como eu conectar varios celulares, a apenas
    um módulo bluetooth?

    1. Boa tarde Denis,

      Até existe a possibilidade de criar uma “rede” utilizando dispositivos bluetooth, mas até onde eu sei o módulo HC-05 não suporta esse recurso.

      Abraço

      Adilson – Equipe FILIPEFLOP

  53. Felipe, tenho uma duvida, seguindo todos os procedimentos, após o comando AT+INQ (inicializa a varredura por dispositivos bluetooth) , o meu modulo MESTRE começou piscar lentamente (dando duas piscadas) e o modulo ESCRAVO parou de piscar. Mostrando assim a conexão. Porém, apos o comando ele não mostrou o endereço para que eu possa inserir os ultimo comandos. E agora? será que ja estão pareados? Por favor, não encontro a solução.

    WENDELL SANTOS DO NASCIMENTO
  54. Ola Filipe, comprei dois hc-05 para realizar um experimento perecido porem, logo apos eu digitar o comando AT+RESET as luzes do hc-05 master voltam a piscar rapidamente e entao nao consigo uma resposta OK para os comando abaixo do AT+RESET, O que eu faço?, por favor!

    Att
    Adriano

  55. Olá amigos, Estou tentando modificar minha programação que hoje conecta a um celular via HC-06 e uma programação android App Inventor. Após conexão com o celular, ele envia um comando para o HC-06 e o mesmo responde com outro comando, ou seja o HC-06 recebe e envia para o celular dados. Estou incluindo agora o HC-05 que conecta com o HC-06, envia dados tudo ok, mas quando o HC-06 responde com Serial.println(“xx”) o HC-05 não lê via Serial.read(). Gostaria que o HC-05 escreve-se e lê-se a serial. Por favor ajude-me.

  56. Tem como fazer isso aí num simulador, tipo proteus ou algo assim????

  57. Boa Tarde,
    O meu Hc05, estava funcionando beleza, tinha até um circuito montado com ele, com (Pic) ou (Arduino) + Bluetooth+Android.
    Ai tentei mudar as configuracoes, ai PAAAHHH, nao faz mais nada, rsrsrsrs., usei esse tutorial sem problema , mudei senha e nome, sem problema, mas agora nem Android e nem Arduino reconhecem mais o modulo.
    Como posso saber se o Hc05 deu pau sem estar no circuito, existe um teste?
    Obrigado.

    1. Boa tarde Carlos,

      Você pode tentar configurar o módulo usando um conversor FTDI. Você fez alguma alteração no baud rate ?

      Abraço.

      Adilson – Equipe FILIPEFLOP

      1. Boa tarde, Adilson
        Então, pensei nisso mas não achei nenhum tuto com FTDI.
        Só alterei nome e senha.
        Obrigado!

        1. Boa tarde Carlos,

          Veja se esse tutorial te ajuda: http://www.arduinoecia.com.br/2015/12/modulo-bluetooth-hc-05-conversor-ftdi.html

          Abraço!

          Adilson – Equipe FILIPEFLOP

          1. Boa noite, Adilson.
            Nada feito, acho q pifou mesmo, sei la porque, mas entra em modo de configuração piscando o led devagar, mas nao responde os comandos em AT.
            Obrigado.

  58. O hc-05/hc-06 envia váriaveis do tipo double? Nunca utilizei um, por isso a pergunta.

  59. Please check this HC-05 Library for Proteus. You are gonna like this one.

  60. Olá, daria para fazer uma comunicação de dois HC-05 em modo master, para que eles emviem e recebam mensagens?

    1. Olá, vc colocando um em master e outro em slave eles irão se conectar e ai voce poderá estabelecer um comunicação de duas vias. Ou seja ambos falam e escutam..

  61. Bom dia,

    Estou com uma duvida a respeito dos dispositivos que estão pareados ao modulo HC05. Nesse modulo existe um numero limite de dispositivos que posso parear?. Já procurei em na internet e não encontrei nada…Se alguem puder me ajudar agradeceria.

    1. Também estou com a mesma dúvida! Gostaria de parecer 3 dispositivos simultaneamente! Alguém poderia dizer se é possível?

  62. Eu estou com problemas com os comandos AT, sempre que eu o monitor serial aparece a mensagem “Digite o comando AT:”, mas quando eu digito e envio ele não me retorna nada. se alguém souber como corrigir isso por favor responda, pois preciso bastante dessa informação.

    1. Também estou com esse problema. Estava funcionando uma beleza. Daí parou de funcionar. Achei esse tutorial e percebi que não usei o divisor de tensão, pois usei um outro tutorial como parâmetro e lá dizia pra ligar direto o rtx no arduino. Será que queimei o módulo?
      Esse foi o tutorial: http://www.computacaonaescola.ufsc.br/?page_id=43

  63. Boa noite! Comprei um modulo hc-05 com vcs e segui todos os passos para o modo master. Não obtive sucesso nem para executar comandos AT. As mensagens q chegam no android por exemplo são todos caracteres “?”. Podem me ajudar?

  64. Olá ! eu possuo dois módulos HC 05. Eles não vem com o pino “Key”, vem com o tal pino “En”. Todavia, eu consigo entrar no modo AT. A questão é que quando configuro ambos como “slave”, qualquer dispositvo android detecta os meus módulos. Mas como “master” , eles ficam “invisíveis”, eles não são encontrados por nenhum dispositivo android. Estou correndo atrás de ajuda por vários fóruns por aí. Queria que os dispositivos androids que possuo, reconhecessem meus módulos como “master”. Pois tenho uma aplicação para controlar o teclado do android, via Arduino. Você poderia tentar me orientar sobre o que devo fazer ? muito obrigado por sua atenção !

  65. Oi, pessoal o meu H6 reconhece e exibe a mensagem ” Digite os comandos AT” porem ele nao responde mais nada apos isso. Alguem sabe o que pode estar acontecendo?

  66. Obrigado Filipe pelo tutorial.

    Aos que não estiverem conseguindo entrar no modo de programação do HC-05:

    1° – Mude a linha do “Programa : Modulo Arduino Bluetooth HC-05 – Programacao” dentro do Void Setup :

    Serial.begin(115200); para Serial.begin(38400);

    Com isso vc estará mudando o BaudRate para 38400bps que de acordo com o Datasheet é o Baud padrão para entrar no modo AT

    2° – Feito isso carregue o código com o HC-05 desligado, em seguida REPAREM que o HC05 tem um botãozinho, este botao serve para entrar no modo de programação, sem este botão pressionado e sem o KEY (Entrada EN) alimentada em 3.3V você nao consegue entrar no modo de programação AT, ou seja, você vai segurar este botão e ligar o HC05 com ele apertado, e depois de 1 segundo você pode soltar.
    Você notará que os leds do HC piscarão mais lento. Significa que ele entrou no modo AT

    Obrigado e boa diversão

    Fabio Dametto Pedrosa
    1. Outro fato extremamente importante: Façam o Divisor de Tensão com um resistor de 20K(ou 2x10k em série) e um de 10K, pois fora desse padrão a comunicação fica dando Error(0).

      Fabio Dametto Pedrosa
      1. Obrigado Fabio, suas dicas foram essenciais.

  67. boa noite!

    Sera que alguem poderia me ajudar ….

    Tenho que programar um arduino com uma shild L298N e bluetooh, o motor precisa apenas ir para frene e para tras , sera que alguem tem essa programação ????

    é URGENTE

  68. Antes que eu compre esse modulo e mais um arduino, esse tutorial é valido para arduino nano né? e eu posso enviar 8 bits de um lado ao outro sem problemas?

  69. Tambem estou usando o hc05 e nao consigo absolutmente nada, mudei circuito, use o key, o reset do modulo, mdeu os pinos do rx/tx, mudei o baudrate, mudei a IDE e nada, o AT nao responde..so consigo mesmo conectar usando o celular e as configs de fabrica, mas usar o arduino com ele nada

  70. Ola
    Eu consigo instalar um aplicativo de celular que lia beacons pelo bluetooth nesse modulo?
    E conseguir manipular as informações recebidas?

  71. Olá Amigos bom dia!
    Preciso da ajuda de vocês.
    Preciso conectar um sinal RX em um módulo bluetooth e receber a uma pequena distancia através de outro módulo Bluetooth, vocês poderiam me ajudar como posso fazer esse programa e gravar em um desses módulos e que somente se conectem entre si com mais nenhum módulo?
    Agradeço muito a atenção e ajuda,
    Alberto

    ALBERTO CARVALHO GOMES
    1. Parece que o amigo não leu o tutorial acima; ele faz exatamente o que esta procurando…

  72. Boa noite,
    Estou criando um projeto similar a um sensor de estacionamento porem ao invés de enviar os alertas para um buzzer(som) pretendo envia las para uma pulseira de notificações da Sony(smartBand) que tenho em casa via bluetooth.Já estou com o modulo hc-05 para usar em modo master mas estou iniciando agora no arduino .

    Agradeço desde já.

    Anderson Pereira de Carvalho
  73. Boa noite pessoal.
    Parabéns a FILIPEFLOP por seu blog, aprendo muito lendo suas publicações, muito bom.
    Gostaria da ajuda de alguém…estou a semanas tentando conectar o HC-05 em modo Master com android, mas depois de pareado, quando envio o comando LINK que deveria conectar ele volta para “inquiring” busca por dispositivo visíveis.
    Se faço a mesma sequência para conectar a outro HC-05 em modo slave ou um HC-06, conecta perfeitamente.
    Tentei também conectar ao notebook, porém acontece igual quando tento conectar no android.
    Sempre restauro a configuração de fábrica antes de parear com um novo dispositivo.
    Exemplos de comandos AT enviados:
    AT+ORGL
    AT+ROLE=1
    AT+CMODE=1
    AT+INQM=0,5,10
    AT+INIT
    AT+INQ
    AT+PAIR=XXXX,XX,XXXXXX,10
    AT+BIND=XXXX,XX,XXXXXX ATÉ AQUI FUNCIONA (já tentei sem enviar AT+BIND e também não deu certo)
    AT+LINK=XXXX,XX,XXXXXX

    Por favor, quem puder me ajudar agradeço.

  74. Olá,
    Estou tendo o seguinte problema para realizar a comunicação entre os módulos:
    Após digitar o comando para inicializar o perfil de transmissão (AT+INIT ), a conexão através do monitor serial para e não consigo mais enviar os comandos AT para parear e conectar os dois módulos.

    POR FAVOR ALGUÉM ME AJUDE!! kk

    Obrigado.

  75. Olá. Comprei este módulo aqui. No entanto não consigo mandar valores para ele via BT. A parte de Tx está funcionando perfeitamente. O problema é o RX. Alguém sabe o que está acontecendo?

    Obrigado

  76. Olá. Encontrei um outro tutorial antes de encontrar o teu, onde mostrava que podia ligar direto o RX do bluetooth no arduino. Segui o tutorial, consegui inclusive mudar o nome do bluetooth através do comando AT. Mas daí quando desliguei e voltei a liga-lo, parou de aceitar os comandos AT. Procurei outros tutoriais até chegar na tua página e perceber que tinha que usar o divisor de tensão no RX. Consigo enxerga-lo no celular.., mas não aceita a senha para parear. Será que queimou meu módulo?
    Aqui o tutorial que encontrei antes de encontrar o teu: http://www.computacaonaescola.ufsc.br/?page_id=43

  77. Boa tarde! Ótimo artigo. Uma dúvida, com módulo hc-05 é possivel eu conectar um controle de VR Box, segue a imagem : http://images.tcdn.com.br/i

    Por exemplo: eu gostaria de ligar o hc-05 no arduino normal e ao ligar o mesmo parear com esse controle VR Box, e o controle possa enviar os comandos direcionais dele, para por exemplo, controlar um carrinho feito com arduino. Seria possivel com esses comandos ATs? No caso eu configuraria ele sem senha meu master para conectar no controle, que é sem senha tbm? é Possivel?

    Muito obrigado, att! Pedro Gonçalves

Trackbacks and Pingbacks

  1. […] Vamos falar nesse post especificamente sobre os módulos JY-MCU, como esse da foto acima. Alguns desses módulos são disponibilizados com diferentes versões de firmware. E alguns destes firmwares , como o Bluetooth HC-06, aceitam apenas o modo escravo (aceitam pareamento), e outros, como o Bluetooth HC-05, aceitam o modo mestre/escravo (podem parear com outro dispositivo).  O módulo que vamos utilizar no post de hoje é o HC-06, mas você pode utilizar perfeitamente o Módulo Bluetooth HC-05. Aproveite e confira Como usar o Arduino Bluetooth HC-05 em modo mestre. […]