O MPU6050 é o chip que faz o celular saber que você virou a tela. Dentro dele há dois sensores completamente diferentes trabalhando juntos: um acelerômetro e um giroscópio, cada um com 3 eixos.

E aqui está a parte interessante: sozinho, nenhum dos dois funciona bem. Um é confiável no longo prazo mas cheio de ruído; o outro é suave e preciso mas erra cada vez mais com o tempo.

Neste guia você vai entender o que cada um mede, por que a deriva acontece e como o filtro complementar resolve o problema com três linhas de código.

💡 Salve este guia: a parte de fusão dos dois sensores é o que faz o ângulo ficar estável.

📐 O acelerômetro: mede força, não velocidade

O acelerômetro mede aceleração — inclusive a da gravidade. Parado sobre a mesa, ele acusa 1 g apontando para baixo. Se você inclina a placa, essa gravidade se distribui entre os eixos, e disso dá para calcular o ângulo.

A vantagem é que a gravidade não muda nunca: a referência é absoluta e não erra com o tempo. O problema é que qualquer vibração ou trepidação entra junto na medida, e o valor fica ruidoso.

🌀 O giroscópio: mede velocidade de rotação

O giroscópio não mede ângulo: mede quão rápido a placa está girando, em graus por segundo. Para saber o ângulo, o código precisa somar essas velocidades ao longo do tempo — o que se chama integração.

A leitura é suave e imune a vibração. Mas tem um defeito estrutural: a deriva.

🌡️ O que é deriva: se o giroscópio erra 0,1°/s e você soma esse erro a cada leitura, em um minuto o ângulo já está 6° errado. Em dez minutos, 60°. O erro nunca se corrige sozinho — ele se acumula.

🤝 A fusão: um cobre o defeito do outro

SensorBom emRuim em
AcelerômetroLongo prazo, referência absolutaCurto prazo, sofre com vibração
GiroscópioCurto prazo, movimento suaveLongo prazo, acumula deriva

Repare que os defeitos são opostos. Basta confiar no giroscópio para o movimento imediato e usar o acelerômetro para corrigir o rumo devagar. É exatamente o que faz o filtro complementar:

ângulo = 0,98 × (ângulo + giro × dt) + 0,02 × ângulo_do_acelerômetro98% do giroscópio para suavidade, 2% do acelerômetro para não derivar.
🔎 Simples e eficaz: esse filtro cabe em uma linha e resolve a maioria dos projetos. O filtro de Kalman é mais preciso, mas bem mais pesado — raramente vale a pena num Arduino.

🔌 Ligação I2C

  • VCC: 3,3 V ou 5 V (a maioria dos módulos tem regulador).
  • GND: terra comum.
  • SCL e SDA: barramento I2C (A5 e A4 no Uno).
  • AD0: define o endereço — em GND é 0x68, em VCC é 0x69.
  • INT: interrupção, opcional, avisa quando há dado novo.

O pino AD0 permite ter dois MPU6050 no mesmo barramento, útil em projetos com duas articulações.

⚖️ Calibração: o offset de fábrica

Todo MPU6050 sai com um pequeno desvio próprio. Parado e nivelado, ele não lê exatamente zero. Corrigir isso é rápido e melhora muito o resultado:

  1. Deixe a placa totalmente parada e nivelada por alguns segundos.
  2. Tire a média de umas 1.000 leituras de cada eixo.
  3. Essa média é o offset daquele sensor.
  4. Subtraia o offset de todas as leituras seguintes.
  5. Guarde os valores no código — não precisa refazer toda vez.

🎚️ Fundos de escala

AcelerômetroGiroscópioQuando usar
±2 g±250 °/sInclinação, movimento suave — mais resolução
±4 g±500 °/sUso geral
±8 g±1000 °/sMovimento rápido
±16 g±2000 °/sImpacto, queda, drone acrobático

Escala menor dá mais resolução; escala maior evita saturação. Para medir inclinação de uma plataforma, ±2 g e ±250 °/s são a melhor escolha.

🧮 Exemplo prático: plataforma que se mantém nivelada

📖 Autonivelamento com dois servos

1) Leitura: MPU6050 a cada 10 ms.

2) Fusão: filtro complementar nos eixos X e Y.

3) Erro: diferença entre o ângulo medido e o desejado (0°).

4) Correção: cada servo se move no sentido oposto à inclinação.

5) Suavização: limite o passo de correção para não oscilar.

Sem fusão o prato treme; com fusão ele fica firme

🎯 Onde usar

  • Estabilização de drone e de câmera.
  • Robô autoequilibrante.
  • Detecção de queda e de impacto.
  • Controle por gesto e por inclinação.
  • Registro de movimento em veículos.

🛠️ Problemas comuns

SintomaCausa provávelSolução
Não é encontradoEndereço erradoTeste 0x68 e 0x69
Ângulo vai embora sozinhoDeriva do giroscópioAplique o filtro complementar
Leitura tremendoRuído do acelerômetroAumente o peso do giroscópio no filtro
Não lê zero paradoOffset de fábricaCalibre e subtraia o offset
Satura em movimento forteFundo de escala baixoSuba para ±8 g / ±1000 °/s
Trava depois de um tempoI2C com fios longosEncurte os cabos, confira os pull-ups
🛒 Na Mamute tem o MPU6050 e o GY-87, que junta acelerômetro, giroscópio, bússola e barômetro.

🚀 Conclusão

O MPU6050 é barato e poderoso, mas não entrega ângulo pronto: entrega duas medidas imperfeitas que se completam.

Guarde a receita: calibre o offset, aplique o filtro complementar e escolha o fundo de escala conforme o movimento. O resto é projeto.

Vai estabilizar o quê? Conta pra gente! 🦣⚡

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

O GY-87 acrescenta bússola e barômetro para quem quer os 10 graus de liberdade.