Exibindo dados do sensor MPU-6050 em LCD 1602 ou LCD2004 com Arduino

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

FabricanteInvensense
Número da peçaMPU-6050
Tensão lógica/E/S3.3 V / 5 V
Tensão de alimentação3.3 V a 5 V
Taxa de dados de saída1 kHz (máx.)
Faixa de temperatura-40 a +85 °C
PacoteQFN
Notas / variantesGiroscó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

arduino_wiring_MPU-6050_LCD2004_bb

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.

Imagens

arduino_wiring_MPU-6050_LCD2004_bb
arduino_wiring_MPU-6050_LCD2004_bb
LCD2004_display-3
LCD2004_display-3
LCD2004_display-1
LCD2004_display-1
LCD2004_display-2
LCD2004_display-2
119-Arduino code for MPU-6050 accelerometer and gyroscope sensor (angles only)
Idioma: C++
120-Arduino code for the MPU-6050 accelerometer and gyroscope sensor (all data)
Idioma: C++
Copiado!

Recursos e referências

Arquivos📁

Bibliotecas do Arduino (zip)

Arquivo Fritzing

Outros arquivos