Como usar o acelerômetro MPU6050 e o giroscópio com Arduino

How to Use the MPU6050 Accelerometer and Gyroscope with Arduino

O MPU6050 é um sensor versátil e acessível que combina um acelerômetro de 3 eixos e um giroscópio de 3 eixos em um único pacote. Ele se comunica através da interface i2C e é perfeito para rastreamento de movimento, equilíbrio de robôs e controles baseados em gestos. Este tutorial mostrará como interface o MPU6050 com um Arduino.

O que você precisará

  1. Módulo MPU6050
  2. Board Arduino (por exemplo, Uno, Mega, Nano)
  3. Pão de pão
  4. Fios de jumper
  5. Um computador com o Arduino IDE instalado

Etapa 1: Fiação do MPU6050 para Arduino

O MPU6050 usa o protocolo I2C, exigindo apenas duas linhas de dados: SDA (dados) e SCL (relógio). Aqui estão as conexões típicas:

Pino MPU6050 Arduino Uno Pin
VCC 5V
Gnd Gnd
SDA A4 (SDA)
SCL A5 (SCL)

Observação: Verifique a pinalização i2C do seu Arduino Board se você estiver usando um modelo diferente.

Etapa 2: Instale a biblioteca MPU6050

Para facilitar a interface com o MPU6050, usaremos a biblioteca "MPU6050".

  1. Abra o Arduino IDE.
  2. Vá para Esboço > Inclua biblioteca > Gerenciar bibliotecas.
  3. No gerente da biblioteca, pesquise "MPU6050 por gatos eletrônicos".
  4. Selecione a biblioteca e clique Instalar.

Etapa 3: Carregue o código

Aqui está um exemplo básico para ler os dados do acelerômetro e do giroscópio do MPU6050:

#include <Wire.h>
#include <MPU6050.h>

MPU6050 mpu;

void setup() {
  Serial.begin(9600);
  Wire.begin();

  Serial.println("Initializing MPU6050...");
  if (!mpu.begin()) {
    Serial.println("Failed to find MPU6050 sensor!");
    while (1) {
      delay(10);
    }
  }
  Serial.println("MPU6050 Initialized.");
}

void loop() {
  mpu.update();

  Serial.print("Accel X: ");
  Serial.print(mpu.getAccX());
  Serial.print(" | Accel Y: ");
  Serial.print(mpu.getAccY());
  Serial.print(" | Accel Z: ");
  Serial.println(mpu.getAccZ());

  Serial.print("Gyro X: ");
  Serial.print(mpu.getGyroX());
  Serial.print(" | Gyro Y: ");
  Serial.print(mpu.getGyroY());
  Serial.print(" | Gyro Z: ");
  Serial.println(mpu.getGyroZ());

  delay(500);  // Update every 500ms
}

Etapa 4: teste a configuração

  1. Conecte seu Arduino ao computador usando um cabo USB.
  2. Abra o Arduino IDE e selecione o correto Quadro e Porta do Ferramentas menu.
  3. Carregue o código clicando no Carregar botão.
  4. Abra o monitor serial (Ferramentas > Monitor serial) e definir a taxa de transmissão como 9600.
  5. Você deve ver o acelerômetro ao vivo e as leituras de giroscópio exibidas.

Compreender os dados

  • Acelerômetro (Accel X, Y, Z): Mede a aceleração linear em três eixos.
  • Giroscópio (giroscópio x, y, z): Mede a velocidade angular (velocidade de rotação) em torno de três eixos.

Solução de problemas

  • Sensor não detectado: Verifique duas vezes a fiação e verifique se as linhas I2C estão conectadas corretamente.
  • Nenhuma saída no monitor serial: Verifique se a taxa de transmissão corresponde à configuração de código (9600).
  • Leituras incorretas: Mantenha o nível do sensor durante a inicialização para evitar o desvio.

Aplicações do MPU6050

  1. Robôs de equilíbrio
  2. Reconhecimento de gestos
  3. Rastreamento de movimento para VR/AR
  4. Dispositivos de rastreamento de fitness

Conclusão

Parabéns! Você interfigurou com sucesso o MPU6050 com um Arduino e leu dados de movimento em tempo real. Esse sensor é incrivelmente versátil e pode ser usado em inúmeros projetos. Tente integrar o MPU6050 ao seu próximo projeto baseado em movimento e desencadeie seu potencial!

Deixe um comentário

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.