Módulo Bluetooth HC-05: O Guia Completo — Ligação, Divisor de Tensão, AT e Pareamento
Guia completo do HC-05: como funciona a serial por Bluetooth, o divisor de tensão obrigatório no RX, comandos AT, master x slave, pareamento e solução de problemas.
Quer controlar seu robô, acender uma luz ou ler sensores pelo celular, sem fio? O HC-05 é o caminho mais simples e barato. Ele cria uma ponte Bluetooth entre o Arduino e o telefone, funcionando como se fosse um cabo serial invisível.
A beleza dele é essa: para o seu código, nada muda. Você continua usando Serial.print() e Serial.read() — só que os dados viajam pelo ar.
📡 O que é e como funciona
O HC-05 implementa o perfil SPP (Serial Port Profile) do Bluetooth clássico. Depois de pareado, ele expõe uma porta serial virtual: o que o Arduino envia chega ao celular, e vice-versa. O alcance típico é de ~10 metros (Classe 2).
Ele funciona com Bluetooth clássico — o que significa que pareia facilmente com Android e Windows. (Em iPhone, o Bluetooth clássico SPP é restrito; para iOS, o caminho é BLE, com módulos como o HM-10.)
🔌 Ligação — e o cuidado essencial
São 4 fios básicos: VCC (5V), GND, TXD e RXD. A ligação cruza: o TX de um vai no RX do outro.
🆚 HC-05 x HC-06
- Pode ser master ou slave
- Aceita muitos comandos AT
- Tem botão/pino para modo de configuração
- Dá para conectar dois módulos entre si
- Somente slave
- Comandos AT limitados
- Mais simples e barato
- Suficiente para 'celular controla Arduino'
⌨️ Comandos AT — personalizando o módulo
No modo de configuração (geralmente segurando o botão do módulo ao energizar, com o LED piscando devagar), o HC-05 aceita comandos de texto que começam com AT:
| Objetivo | Comando | Observação |
|---|---|---|
| Testar comunicação | AT | Deve responder OK |
| Mudar o nome | AT+NAME=MamuteBot | Aparece assim no celular |
| Mudar a senha | AT+PSWD=1234 | Padrão costuma ser 1234 ou 0000 |
| Velocidade serial | AT+UART=9600,0,0 | Combine com o código |
| Definir papel | AT+ROLE=0 | 0 = slave, 1 = master |
🧮 Exemplo prático: ligar um LED pelo celular
📖 Do pareamento ao comando
1) Ligue o módulo (com o divisor no RX) e pareie no celular — senha 1234 ou 0000.
2) Instale um app de terminal Bluetooth (Serial Bluetooth Terminal, por exemplo) e conecte.
3) No Arduino, leia os caracteres recebidos: se chegar '1', acende o LED; se chegar '0', apaga.
4) Digite 1 e 0 no app e veja o LED responder.
🎯 Onde usar
- Controlar carrinho/robô por app no celular.
- Ligar e desligar cargas via relé, à distância.
- Enviar leituras de sensores para o telefone (data logger simples).
- Configurar parâmetros de um projeto sem precisar reprogramar.
🛠️ Problemas comuns (e soluções)
| Sintoma | Causa provável | Solução |
|---|---|---|
| Não aparece no celular | Módulo sem alimentação ou já conectado | Confira 5V/GND; LED deve piscar rápido quando livre |
| Pareia mas não recebe dados | TX/RX não cruzados | TX do módulo → RX do Arduino e vice-versa |
| Caracteres embaralhados | Baud rate diferente | Iguale o baud no código e no módulo (9600) |
| Não entra em modo AT | Baud do modo AT é outro | Teste 38400 e segure o botão ao energizar |
| Upload falha | Módulo nos pinos 0 e 1 | Use SoftwareSerial em outros pinos |
| Módulo esquenta / morre | RX recebendo 5V direto | Use o divisor de tensão |
✅ Alternativas modernas
O HC-05 continua ótimo e barato, mas vale conhecer as opções: o HM-10 (BLE, funciona com iPhone) e principalmente o ESP32, que já traz Wi-Fi e Bluetooth integrados — muitas vezes eliminando a necessidade de um módulo separado.
🚀 Conclusão
O HC-05 é a porta de entrada dos projetos sem fio: barato, simples e compatível com o que você já sabe de Serial. Guarde as três regras: divisor no RX, TX/RX cruzados e SoftwareSerial para não brigar com o upload.
Dúvidas? Comenta aí! 🦣⚡
Mamute Eletrônica · Componentes, Módulos e Robótica · Rua Vitória, 125 — Santa Efigênia/SP · mamuteeletronica.com.br
Para montar o que você acabou de ler
Sem uma placa e jumpers não dá para parear nada — é o conjunto mínimo do tutorial.