HMC5883L: O Guia Completo — Bússola Digital, Calibração e Cuidados com Ímãs
Guia da bússola digital HMC5883L (e QMC5883L): como o magnetômetro sente o campo da Terra, a leitura por I2C, a calibração em oito e por que metais atrapalham.
Como um robô sabe para que lado está virado? Com uma bússola digital. O HMC5883L sente o campo magnético da Terra e indica a direção — o norte eletrônico.
É essencial para robôs, drones e qualquer projeto de navegação.
🟢 Nível 1: o que é e para que serve
O HMC5883L é um magnetômetro: ele mede o campo magnético ao redor. Como a Terra tem um campo que aponta ao norte, o sensor consegue indicar a direção.
Com isso, um robô sabe seu rumo e um projeto pode virar uma bússola de verdade.
🟡 Nível 2: como usar
Ele mede o campo em três eixos e fala por I2C. Com esses valores, o programa calcula o ângulo em relação ao norte.
Uma observação importante: muitos módulos vendidos como HMC5883L são, na verdade, o QMC5883L (bem parecido). Use a biblioteca correta para o seu.
🟡 Nível 2: a calibração
Antes de confiar, é preciso calibrar: gire o sensor fazendo um “oito” no ar por alguns segundos.
Isso ensina ao programa a compensar as distorções do ambiente ao redor.
| Característica | Valor |
|---|---|
| Mede | Campo magnético (3 eixos) |
| Serve para | Direção / rumo (norte) |
| Comunicação | I2C |
| Calibração | Girar em 'oito' |
| Atrapalham | Ímãs, motores, metais |
| Observação | Muitos módulos são QMC5883L |
🔴 Nível 3: como funciona por dentro
O sensor tem elementos magnetorresistivos que mudam conforme o campo magnético em cada eixo (X, Y e Z).
Medindo a força do campo nos três eixos, o programa descobre para onde aponta o campo da Terra e calcula o ângulo em relação ao norte. É trigonometria simples sobre três medidas.
⚖️ Bússola (magnetômetro) x giroscópio
- Aponta o norte
- Referência absoluta
- Sofre com metal/ímã
- Para rumo
- Mede rotação
- Ótimo para movimento rápido
- Acumula erro (deriva)
- Para estabilização
🧮 Exemplo prático: rumo de um robô
📖 Sabendo para onde vai
1) Ligação: HMC5883L no I2C, longe de motores.
2) Calibração: gire em 'oito' na inicialização.
3) Leitura: o Arduino calcula o ângulo em relação ao norte.
4) Navegação: o robô corrige o rumo para o alvo.
🎯 Onde usar
- Bússola eletrônica.
- Rumo de robôs e drones.
- Navegação e correção de trajetória.
- Projetos de orientação e mapa.
🛠️ Problemas comuns
| Sintoma | Causa provável | Solução |
|---|---|---|
| Norte 'gira' sozinho | Metal/ímã por perto | Afaste o sensor de fontes magnéticas |
| Leitura errada | Sem calibração | Calibre girando em 'oito' |
| Muda ao inclinar | Sem compensação de tilt | Mantenha nivelado ou use acelerômetro junto |
| Biblioteca não lê | É QMC5883L, não HMC | Use a biblioteca do chip correto |
| Não comunica | I2C trocado | Confira SDA/SCL e endereço |
🚀 Conclusão
A bússola digital fecha a faixa de movimento e corpo dando ao projeto um senso de direção: onde é o norte, para onde ele aponta.
Fuja dos metais e ímãs, calibre em oito e mantenha nivelado. Com isso, seu robô nunca mais se perde.
Faria uma bússola ou um robô que se orienta? Conta aí! 🦣⚡
Mamute Eletrônica · Componentes, Módulos e Robótica · Rua Vitória, 125 — Santa Efigênia/SP · mamuteeletronica.com.br