Exibindo dados do sensor MPU-6050 em LCD 1602 ou LCD2004 com Arduino
Neste tutorial, aprenderemos como exibir dados do sensor MPU-6050 em um LCD 1602 ou LCD2004 usando Arduino. O MPU-6050 é um sensor versátil que combina um giroscópio de 3 eixos e um acelerômetro de 3 eixos, tornando-o ideal para várias aplicações, como detecção de movimento e orientação. Ao conectar esse sensor a um display LCD, podemos visualizar os dados do sensor em tempo real, incluindo ângulos e temperatura.

À medida que avançamos neste projeto, abordaremos os componentes de hardware necessários, os detalhes da fiação e a implementação do código. Isso ajudará você a entender como configurar o MPU-6050 e exibir sua saída em um LCD. Para esclarecimentos adicionais sobre o código, não deixe de conferir o vídeo (em 00:00).
Hardware Explicado
Os componentes principais para este projeto são a placa Arduino, o sensor MPU-6050 e o display LCD (1602 ou 2004). O Arduino serve como o microcontrolador que processa os dados do MPU-6050 e os envia para o LCD.
O sensor MPU-6050 utiliza comunicação I2C para enviar dados ao Arduino. Inclui um acelerómetro e um giroscópio, que lhe permitem detetar movimento e orientação. O ecrã LCD é usado para mostrar os ângulos derivados dos dados do sensor. Também se conecta ao Arduino via I2C, o que simplifica a fiação e a comunicação.
Detalhes da ficha técnica
| Fabricante | Invensense |
|---|---|
| Número da peça | MPU-6050 |
| Tensão lógica/E/S | 3.3 V / 5 V |
| Tensão de alimentação | 3.3 V a 5 V |
| Taxa de dados de saída | 1 kHz (máx.) |
| Faixa de temperatura | -40 a +85 °C |
| Pacote | QFN |
| Notas / variantes | Giroscópio e acelerômetro integrados |
- Garanta uma fonte de alimentação adequada dentro da faixa de tensão especificada.
- Use resistores pull-up nas linhas I2C, se necessário.
- Verifique se o endereço I2C é compatível com a sua configuração.
- Calibre o sensor para leituras precisas.
- Tenha cuidado com a fiação para evitar curtos-circuitos.
Instruções de fiação

Para ligar o MPU-6050 ao Arduino, 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 analógico A4 do Arduino e conecte o pino SCL ao pino analógico A5.
Para o display LCD, conecte o pino VCC ao pino 5V do Arduino e o pino GND também ao pino GND do Arduino. Conecte o pino SDA do LCD ao mesmo pino A4 usado pelo MPU-6050, e o pino SCL do LCD ao pino A5. Dessa forma, tanto o MPU-6050 quanto o LCD compartilham as mesmas linhas I2C, simplificando a fiação.

Certifique-se de que as conexões estão seguras e de que não há fios soltos. Se o seu LCD ou sensor não ligar, verifique novamente a fiação e as conexões.
Exemplos de código e guia passo a passo
No código, começamos incluindo as bibliotecas necessárias para o MPU-6050 e o LCD:
#include
#include
#include
Aqui, criamos instâncias tanto do MPU-6050 quanto do LCD. O MPU-6050 é inicializado com a biblioteca Wire para comunicação I2C, enquanto o LCD é configurado com seu endereço e dimensões.
Na função setup, inicializamos o sensor e o LCD:

void setup() {
Serial.begin(9600);
Wire.begin();
mpu6050.begin();
lcd.begin();
lcd.backlight();
lcd.clear();
}
Este código configura a comunicação serial para depuração, inicializa a comunicação I2C e prepara o LCD para exibição. A retroiluminação é ligada para tornar o display visível.
Na função loop, lemos continuamente os dados do MPU-6050 e os exibimos no LCD:
void loop() {
mpu6050.update();
lcd.clear();
lcdDisplay(mpu6050.getAngleX(), mpu6050.getAngleY(), mpu6050.getAngleZ());
delay(100);
}
Este trecho atualiza os dados do sensor e limpa o LCD para novas leituras a cada 100 milissegundos. A função lcdDisplay é chamada para mostrar os ângulos no LCD.
Para uma compreensão completa, assista ao vídeo correspondente onde o código completo é demonstrado (no vídeo em 00:00).
Demonstração / O que esperar
Quando tudo estiver configurado corretamente, o LCD deverá exibir os ângulos dos eixos X, Y e Z em tempo real. Você pode inclinar o sensor MPU-6050 para ver as alterações no display. Se encontrar problemas, verifique se a polaridade da fiação não está invertida ou certifique-se de que os endereços I2C estão configurados corretamente.
Monitorar os valores no LCD permitirá que você veja como o sensor responde a movimentos e alterações de orientação. Se os valores parecerem estáticos ou incorretos, verifique as conexões e certifique-se de que o sensor está funcionando corretamente.
Recursos e referências
-
ExternoBaixe a biblioteca do GitHubgithub.com
-
ExternoSite do fabricanteinvensense.com
Arquivos📁
Bibliotecas do Arduino (zip)
-
Arduino library for MPU9250
application/zip3.38 MB
Arquivo Fritzing
-
LCD LCD1602-I2C module with 4 wires
application/zip0.01 MB -
MPU-6050 Board GY-521
application/zip0.01 MB -
LCD2004-I2C
application/zip0.02 MB
Outros arquivos
-
Biblioteca LiquidCrystal para LCD1602
robojax-LCD1602_LiquidCrystal.zip