terça-feira, 26 de julho de 2016

DICA: Comandos AT no módulo bluetooth HC-05


INTRODUÇÃO

          Esta é uma breve postagem, a intensão é ensinar o "pulo do gato" sobre configuração do módulo bluetooth HC-05 através de comandos AT. Este post não trás informações completas sobre os módulos existentes.


DESCRIÇÃO

          No semestre passado, eu e uma colega apresentamos um trabalho na faculdade onde utilizamos um módulo bluetooth HC-05, o projeto foi concluído sem maiores problemas. Mas, não conseguimos configurar o módulo via comandos AT.

          Agora sabemos o que aconteceu! Depois de muita dor de cabeça e alguns dias "ralando", repasso para a comunidade de estudantes as informações para ao menos minimizar os problemas em seus futuros projetos.

          Temos dois módulos disponíveis, o HC-05 e o HC-06 para uso pessoal, pois temos outros para aplicação industrial. HC-03, HC-04, HC-07, HC-08 e HC-09, estes são os que identifiquei.

          A diferença entre eles é que o HC-05 opera como master (mestre) ou slave (escravo) e a placa possui 6 pinos para conexões e o HC-06 opera apenas como slave (escravo) e a placa possui 4 pinos para conexões. Ocorre que estes dois módulos são comercializados e produzidos por mais de um fabricante, isso resulta em algumas pequenas diferenças de firmware e construção.

Segue imagens do HC-05 e HC-06 respectivamente.



          Observem que o HC-05 possui um pino chamado KEY, (você pode encontrar outras nomenclaturas como EN ou WAKEUP) este deve ser colocado em nível alto (HIGH) para que o módulo entre no modo AT e desconectado logo após ser configurado para que volte a operar em modo normal.

O módulo que utilizei (HC-05), está a esquerda na imagem abaixo


          Vejam que neste caso temos no lugar do pino KEY um outro chamado EN e um botão de RESET indicado por um quadrado vermelho. Se colocar o pino EN em nível alto (HIGH) este módulo NÃO entrará no modo AT. Neste caso, com o módulo desligado da fonte VCC, pressione o botão RESET e em seguida ligue o VCC do módulo e após 3 segundos solte o botão RESET.

          Pronto! Seu módulo entrou em modo AT, observe que antes o LED piscava rápido e agora está mais lento. Este módulo possui uma taxa de transmissão de 9600 baud em operação normal e de 38400 baud em modo AT.

          Segue o código fonte utilizado nos testes e imagens do resultado. Este código pode ser usado em Arduino Nano, Mega, etc.

#include <SoftwareSerial.h>

SoftwareSerial bluetooth(10, 11); // RX, TX

void setup() {
  delay(500);
  Serial.begin(9600);
  Serial.println("Digite os comandos AT :");
  bluetooth.begin(9600);
}

void loop() {  
  if (bluetooth.available())
    Serial.write(bluetooth.read());

  if (Serial.available())
    bluetooth.write(Serial.read());
}

          Para testar os comandos AT foi usado o Serial Monitor do arduino IDE e o software Termite. Segue suas respectivas imagens:





11 comentários:

  1. Menos sofrimento com a compatibilidade de firmware. Obrigado👍👍

    ResponderExcluir
  2. Bati a cabeça vários dias seguidos por causa desse problema, mas agora consegui finalmente resolver graças a esse tutorial. Muito obrigado mesmo.

    ResponderExcluir
  3. Muito obrigado! Devo muito a vc.Foi incrível. Eu estava ajudando minhas alunos com está questão e só consegui com sua ajuda.

    ResponderExcluir
  4. Este comentário foi removido pelo autor.

    ResponderExcluir
    Respostas
    1. Boa noite, estive fazendo alguns procedimentos nos meus módulos HC-05 e algumas particularidades que encontrei foram as seguintes:
      ENABLE ou KEY - Deve ser ligado em 5V (meus módulos).
      RX e TX - Devem ser cruzados RX do módulo no TX do Arduíno ( o mesmo com o TX).

      Excluir
  5. Cara valeu! Não sabia desse esquema do botão ... Como eu sofri

    ResponderExcluir
  6. Faltou você falar o esquema(ligação) do modulo com o Hc-05. Qual é ?

    ResponderExcluir
  7. muito obrigado, filho de deus! eu passei 6 dias sendo retardado por causa dessa disgranha

    ResponderExcluir

Postagem mais recente Postagem mais antiga Página inicial