搜索代码

使用Arduino在LCD 1602或LCD2004上显示MPU-6050传感器数据

使用Arduino在LCD 1602或LCD2004上显示MPU-6050传感器数据

在本教程中,我们将学习如何使用Arduino在LCD 1602或LCD2004上显示来自MPU-6050传感器的数据。MPU-6050是一种多功能传感器,结合了3轴陀螺仪和3轴加速度计,非常适合运动检测和方向识别等多种应用。通过将此传感器连接到LCD显示器,我们可以实时可视化传感器数据,包括角度和温度。

随着我们在这个项目中的进展,我们将涵盖必要的硬件组件、接线细节和代码实现。这将帮助您理解如何设置MPU-6050并在LCD上显示其输出。有关代码的进一步说明,请务必查看视频(在视频的00:00)。

硬件解析

该项目的主要组件是Arduino板、MPU-6050传感器和LCD显示屏(1602或2004)。Arduino作为微控制器,处理来自MPU-6050的数据并将其发送到LCD。

MPU-6050传感器使用I2C通信将数据发送到Arduino。它包含一个加速度计和一个陀螺仪,能够感知运动和方向。LCD显示屏用于显示从传感器数据中得出的角度。它也通过I2C连接到Arduino,这简化了布线和通信。

数据表详细信息

制造商Invensense
件号MPU-6050
逻辑/IO电压3.3 伏 / 5 伏
供电电压3.3 V 到 5 V
输出数据速率1 kHz(最大)
温度范围-40至+85摄氏度
包裹QFN
备注 / 变种陀螺仪和加速度计集成

  • 确保在规定的电压范围内提供适当的电源。
  • 如果需要,请在I2C线路上使用上拉电阻。
  • 检查I2C地址是否与您的设置兼容。
  • 校准传感器以获得准确的读数。
  • 在接线时要小心,以避免短路。

接线说明

arduino_wiring_MPU-6050_LCD2004_bb

要将 MPU-6050 接线到 Arduino,首先将 MPU-6050 的 VCC 引脚连接到 Arduino 的 5V 引脚。接下来,将 MPU-6050 的 GND 引脚连接到 Arduino 的其中一个 GND 引脚。对于 I2C 通信,将 MPU-6050 的 SDA 引脚连接到 Arduino 的模拟引脚 A4,将 SCL 引脚连接到模拟引脚 A5。

对于LCD显示器,将VCC引脚连接到Arduino上的5V引脚,将GND引脚连接到Arduino上的GND引脚。将LCD的SDA引脚连接到用于MPU-6050的A4引脚,将LCD的SCL引脚连接到A5引脚。这样,MPU-6050和LCD共享相同的I2C线路,从而简化了布线。

确保连接牢固且没有松动的电线。如果您的LCD或传感器无法开启,请仔细检查电线和连接。

代码示例与逐步讲解

在代码中,我们首先包含MPU-6050和LCD所需的库:

#include 
#include 
#include 

在这里,我们为MPU-6050和LCD创建实例。MPU-6050使用`Wire`库进行I2C通信进行初始化,而LCD则根据其地址和尺寸进行设置。

在设置函数中,我们初始化传感器和液晶显示屏:

void setup() {
  Serial.begin(9600);
  Wire.begin();
  mpu6050.begin();
  lcd.begin();
  lcd.backlight();
  lcd.clear();
}

此代码设置串行通信以进行调试,初始化I2C通信,并准备LCD进行显示。背光已打开,以使显示可见。

在循环函数中,我们不断从MPU-6050读取数据并在LCD上显示。

void loop() {
  mpu6050.update();
  lcd.clear();
  lcdDisplay(mpu6050.getAngleX(), mpu6050.getAngleY(), mpu6050.getAngleZ());
  delay(100);
}

这个代码片段每100毫秒更新传感器数据并清除LCD以便进行新的读数。调用`lcdDisplay`函数在LCD上显示角度。

为了全面理解,请观看相应的视频,其中展示了完整的代码(视频在 :00)。

演示 / 期待什么

当一切设置正确时,LCD 应实时显示 X、Y 和 Z 轴的角度。您可以倾斜 MPU-6050 传感器以查看显示屏上的变化。如果遇到问题,请检查您的接线是否极性反向,或者确保 I2C 地址设置正确。

监视LCD上的数值将使您能够看到传感器对运动和方向变化的响应。如果数值看起来静态或不正确,请验证连接并确保传感器正常工作。

图像

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)
语言: C++
This code has not been parsed yet. Please return to the admin panel to parse it.
120-Arduino code for the MPU-6050 accelerometer and gyroscope sensor (all data)
语言: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

资源与参考

文件📁

Arduino 库(zip 格式)

Fritzing 文件

其他文件