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:
Menos sofrimento com a compatibilidade de firmware. Obrigado👍👍
ResponderExcluirValeu!!!
ExcluirBati a cabeça vários dias seguidos por causa desse problema, mas agora consegui finalmente resolver graças a esse tutorial. Muito obrigado mesmo.
ResponderExcluirObrigado!
ExcluirMuito obrigado! Devo muito a vc.Foi incrível. Eu estava ajudando minhas alunos com está questão e só consegui com sua ajuda.
ResponderExcluirObrigado!
ExcluirEste comentário foi removido pelo autor.
ResponderExcluirBoa noite, estive fazendo alguns procedimentos nos meus módulos HC-05 e algumas particularidades que encontrei foram as seguintes:
ExcluirENABLE 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).
Cara valeu! Não sabia desse esquema do botão ... Como eu sofri
ResponderExcluirFaltou você falar o esquema(ligação) do modulo com o Hc-05. Qual é ?
ResponderExcluirmuito obrigado, filho de deus! eu passei 6 dias sendo retardado por causa dessa disgranha
ResponderExcluir