Como usar o módulo MPU-6050 (acelerômetro e giroscópio)
O MPU-6050 é um sensor versátil que combina um acelerômetro de 3 eixos e um giroscópio de 3 eixos em um único pacote. Neste tutorial, vamos explorar como conectar este módulo a um Arduino para medir aceleração e velocidade angular. O resultado será um programa simples que exibe dados em tempo real do sensor, permitindo que você monitore tanto a aceleração quanto a orientação do seu dispositivo.

Seguindo este guia, você aprenderá como configurar o hardware, conectar corretamente os componentes e escrever o código necessário para colocar o MPU-6050 em funcionamento. Isso lhe dará uma base para projetos futuros envolvendo detecção de movimento e orientação. Para maior clareza, não deixe de ver o vídeo que acompanha este tutorial (no vídeo em 00:00).
Hardware explicado
O componente principal deste projeto é o sensor MPU-6050, que fornece dados tanto do acelerômetro quanto do giroscópio. O acelerômetro mede a aceleração linear ao longo dos eixos X, Y e Z, enquanto o giroscópio mede as taxas de rotação em torno desses mesmos eixos. Esta combinação torna o MPU-6050 uma excelente escolha para aplicações que requerem rastreamento de movimento.
Além disso, o módulo usa uma interface I2C para comunicação, o que simplifica as ligações e permite que vários dispositivos sejam conectados no mesmo barramento. O sensor é alimentado através do pino VCC, que normalmente requer uma tensão entre 3.3V e 5V. O pino GND está conectado ao terra comum do Arduino.
Detalhes da ficha técnica
| Fabricante | InvenSense |
|---|---|
| Número da peça | MPU-6050 |
| Tensão lógica/E/S | 3.3 - 5 V |
| Tensão de alimentação | 3.3 - 5 V |
| Corrente de saída (por canal) | ... |
| Corrente de pico (por canal) | ... |
| Orientações sobre a frequência PWM | ... |
| Limiares de entrada lógica | ... |
| Queda de tensão / RDS(on)/ saturação | ... |
| Limites térmicos | ... |
| Pacote | QFN |
| Notas / variantes | ... |
- Conecte o pino VCC a 3,3 V ou 5 V.
- Conecte o pino GND à terra.
- Use a comunicação I2C via SDA (dados) e SCL (relógio).
- Certifique-se de que haja resistores pull-up nas linhas SDA e SCL.
- Verifique os níveis de tensão adequados para evitar danificar o sensor.
Instruções de fiação

Comece conectando o pino VCC do MPU-6050 ao pino 5V do Arduino. Em seguida, conecte o pino GND do MPU-6050 a um dos pinos GND do Arduino. Para comunicação I2C, conecte o pino SDA do MPU-6050 ao pino A4 do Arduino e o pino SCL ao pino A5. Certifique-se de que seu Arduino esteja configurado para usar comunicação I2C incluindo as bibliotecas apropriadas no seu código.
Verifique novamente suas conexões antes de alimentar o sistema. Se estiver usando uma protoboard, certifique-se de que as conexões estejam seguras e de que não haja curtos-circuitos. Se o módulo não responder como esperado, verifique a fiação e confira o endereço I2C do MPU-6050 no seu código.
Exemplos de código e guia passo a passo
O trecho de código a seguir inicializa o MPU-6050 e começa a ler dados dele. Os identificadores-chave incluemmpu6050, que é a instância da classe MPU6050, etimer, que é usado para controlar a temporização da saída de dados.
MPU6050 mpu6050(Wire);
long timer = 0;
void setup() {
Serial.begin(9600);
Wire.begin();
mpu6050.begin();
mpu6050.calcGyroOffsets(true);
}
Nesta função setup, inicializamos a comunicação serial e o sensor MPU-6050. Ompu6050.calcGyroOffsets(true)A chamada é crucial, pois calibra os offsets do giroscópio, garantindo leituras precisas.
Na função loop, atualizamos continuamente os dados do sensor e os imprimimos no monitor serial. O trecho de código a seguir mostra como ler e imprimir os dados de temperatura e aceleração:
if(millis() - timer > 1000){
Serial.print("temp : ");Serial.println(mpu6050.getTemp());
Serial.print("accX : ");Serial.print(mpu6050.getAccX());
Serial.print("\taccY : ");Serial.print(mpu6050.getAccY());
Serial.print("\taccZ : ");Serial.println(mpu6050.getAccZ());
}
Este bloco verifica se passou um segundo desde a última saída. Em seguida, obtém os valores de temperatura e aceleração do MPU-6050 e os imprime no monitor serial. Você pode observar esses valores sendo atualizados em tempo real.
Demonstração / O que Esperar
Uma vez que tudo esteja ligado e o código carregado, você pode esperar ver os dados de temperatura e aceleração exibidos no monitor serial a cada segundo. Se você inclinar ou mover o MPU-6050, os valores de aceleração deverão mudar de acordo. Fique atento: fiação incorreta ou alimentação insuficiente podem resultar em leituras erráticas ou na ausência total de dados (no vídeo em 01:30).
Coisas que você pode precisar
-
AmazonasPurchase MPU-6050 from Amazonamzn.to
Recursos e referências
-
ExternoManufacturer websiteinvensense.com
Arquivos📁
Bibliotecas do Arduino (zip)
-
Arduino library for MPU9250
application/zip3.38 MB