Calcular Ângulos de Inclinação do MPU6050 com Arduino Nano e Visuino
Componentes e Materiais
| Componente | Quantidade |
|---|---|
| Arduino Nano R3 | 1 |
| Módulo Acelerômetro e Giroscópio MPU-6050 (SparkFun Triple Axis) | 1 |
Aplicativos e Serviços Online
- Visuino – Ambiente de Desenvolvimento Gráfico para Arduino
- Arduino IDE
Sobre o Projeto
Há um tempo publiquei um tutorial sobre como conectar o sensor MPU9250 (Acelerômetro, Giroscópio e Bússola) ao Arduino Nano e programá-lo com Visuino para enviar dados de pacote e exibi-los em Osciloscópio e Instrumentos Visuais.
O Acelerômetro envia forças de aceleração nos eixos X, Y e Z. Frequentemente, porém, precisamos converter essas forças em ângulos 3D X, Y, Z para determinar a Orientação 3D do sensor. Vários pedidos surgiram para esse tutorial, e finalmente encontrei tempo para criá-lo.
Também perguntaram como conectar e usar o MPU6050 (Acelerômetro e Giroscópio), então decidi usar este módulo no tutorial em vez do mais complexo e caro MPU9250.
Neste tutorial, mostro como é fácil conectar o MPU6050 ao Arduino Nano e programá-lo com Visuino para converter a Aceleração em Ângulo 3D X, Y, Z.
Passo 1: Componentes

- Uma placa Arduino compatível (uso Arduino Nano, mas qualquer outra serve)
- Um módulo Sensor Acelerômetro Giroscópio MPU6050
- 4 Jumpers Fêmea-Fêmea
Passo 2: Conectar o MPU6050 ao Arduino




- Conecte VCC 5V (fio vermelho), GND (fio preto), SCL (fio amarelo) e SDA (fio verde) ao Módulo MPU6050 (Imagem 1)
- Conecte a outra ponta do fio GND (preto) a um pino GND do Arduino Nano (Imagem 2)
- Conecte a outra ponta do fio VCC 5V (vermelho) ao pino 5V do Arduino Nano (Imagem 2)
- Conecte a outra ponta do fio SDA (verde) ao pino SDA / Analógico 4 do Arduino Nano (Imagem 3)
- Conecte a outra ponta do fio SCL (amarelo) ao pino SCL / Analógico 5 do Arduino Nano (Imagem 3)
- A Imagem 4 mostra a localização dos pinos GND, 5V, SDA/A4 e SCL/A5 no Arduino Nano
Passo 3: Iniciar Visuino e Selecionar o Tipo de Placa Arduino


- Instale o Arduino IDE (versão 1.6.7 ou superior – obrigatório!) em arduino.cc.
- Instale o Visuino em visuino.com.
- Inicie o Visuino.
- Clique no botão "Tools" (Ferramentas) no componente Arduino no Visuino (Imagem 1).
- No diálogo, selecione Arduino Nano (Imagem 2).
Passo 4: No Visuino – Adicionar e Conectar Componentes MPU6050 e Aceleração-para-Ângulo




- Na Caixa de Ferramentas, filtre por "6050" e selecione "Acelerômetro Giroscópio MPU6000/MPU6050 I2C" (Imagem 1). Arraste para a área de design (Imagem 2).
- Filtre por "angle" e selecione "Acceleration To Angle" (Imagem 2). Arraste para a área de design (Imagem 3).
- Clique na caixa "Out" da caixa "Acelerômetro" contendo os pinos X, Y, Z do componente AccelerometerGyroscope1 para iniciar a conexão de todos os pinos Out de uma vez (Imagem 3).
- Mova o mouse sobre o pino de entrada "X" da caixa "In" do componente AccelerationToAngle1. O Visuino espalhará os fios automaticamente para conectar corretamente aos demais pinos (Imagem 3).
- Conecte o pino "Out" do componente AccelerometerGyroscope1 ao pino "In" do canal I2C do componente Arduino (Imagem 4).
Passo 5: No Visuino – Adicionar Componente Pacote e 3 Elementos Analógicos Binários e Conectá-los



Para enviar todos os canais de dados pela porta serial do Arduino, usamos o componente Packet para empacotar os canais e exibi-los no Osciloscópio e Medidores no Visuino:
- Filtre por "packet" na Caixa de Ferramentas e selecione o componente "Sine Analog Generator" (Imagem 1). Arraste para a área de design.
- No Inspetor de Objetos, expanda a propriedade "Head Marker" (Imagem 2).
- Clique no botão "..." (Imagem 2).
- No editor de Bytes, digite alguns números, por exemplo 55 55 (Imagem 3).
- Clique em OK para confirmar e fechar o editor.
Passo 6: No Visuino – Adicionar 3 Elementos Analógicos Binários ao Componente Pacote e Conectá-los





- Clique no botão "Tools" do componente Packet1 (Imagem 1).
- No editor "Elements", selecione o elemento "Binary Analog" e clique no botão "+" 3 vezes (Imagem 2) para adicionar 3 elementos analógicos (Imagem 3).
- Clique na caixa "Out" da caixa "Acelerômetro" contendo os pinos do componente AccelerationToAngle1 para iniciar a conexão de todos os pinos Out de uma vez (Imagem 4).
- Mova o mouse sobre o pino "In" do elemento "Elements.Analog(Binary)1" do componente Packet1. O Visuino conectará automaticamente aos demais pinos (Imagem 4).
- Conecte o pino de saída "Out" do componente Packet1 ao pino de entrada "In" do canal "Serial[ 0 ]" do componente Arduino (Imagem 5).
Passo 7: Gerar, Compilar e Fazer Upload do Código Arduino


- No Visuino, pressione F9 ou clique no botão mostrado na Imagem 1 para gerar o código Arduino e abrir a Arduino IDE.
- Na Arduino IDE, clique no botão Upload para compilar e carregar o código (Imagem 2).
Passo 8: Testar e Visualizar





- No Visuino, selecione a Porta Serial, clique no dropdown "Format:" e selecione Packet1 (Imagem 2).
- Clique no botão "Connect" (Imagem 2).
- Se selecionar a aba "Scope", verá o osciloscópio plotando os Ângulos X, Y, Z ao longo do tempo (Imagem 3).
- Se selecionar a aba "Instruments", verá os Medidores mostrando a mesma informação (Imagem 4).
Veja o sensor em ação no Vídeo.
Parabéns! Você criou um projeto Visuino convertendo Aceleração em Ângulo a partir do Sensor MPU6050.
Na Imagem 5, você vê o diagrama completo do Visuino.
O projeto Visuino completo está anexado para download e abertura no Visuino: visuino.com
Código
Projeto Visuino completo (download apenas).
Processo de manufatura
- Sensores Acelerômetros: Como Funcionam e Onde São Usados
- Otimizando Sensoriamento de Inclinação de Alta Precisão: Fundamentos do Acelerômetro
- Construa um Registrador de Temperatura com Raspberry Pi e Sensor I2C de $5
- Sensor Barométrico BMP180 I2C – Guia de Integração com Raspberry Pi
- Transferência de Dados de Temperatura e Umidade entre Dois Arduinos via Firebase
- Sensor K30 CO₂: Monitoramento de Qualidade do Ar Interno em Tempo Real
- Construa um Estadiómetro Digital: Acompanhe a Altura com Arduino e Sensor a Laser
- Integrando Sensor de Impressão Digital Capacitivo DFRobot com Arduino ou ESP8266
- Construa uma Torre de Sensores com Arduino Cloud: Monitoramento de Temperatura, Movimento e Gás
- Pistola de Água Inteligente com Detecção de Movimento usando Arduino Nano