在本教程中,我们将学习如何将MPU6050加速度计和陀螺仪传感器与Arduino一起使用。首先,我将解释MPU6050的工作方式以及如何从中读取数据,然后我们将给出两个实际的示例。

https://embed.notionlytics.com/wt/ZXlKd1lXZGxTV1FpT2lKbE5qTTJPRFZoWlRObE5qVTBNemsyWWpjM01qUXhZekk1TURFM05UWTFOU0lzSW5kdmNtdHpjR0ZqWlZSeVlXTnJaWEpKWkNJNklsZHNTR2hsVEZSUFdXeHpaVmRhUW1ZNU1YQmxJbjA9

概述

在第一个示例中,使用Processing开发环境,我们将对传感器方向进行3D可视化,在第二个示例中,我们将创建一个简单的自稳定平台或DIY云台。 基于MPU6050的方向及其融合的加速度计和陀螺仪数据,我们控制了保持平台水平的三个伺服器。

如何工作

MPU6050 IMU在单个芯片上集成了3轴加速度计和3轴陀螺仪。

陀螺仪测量沿X,Y和Z轴的旋转速度或角度位置随时间的变化率。 它使用MEMS技术和科里奥利效应进行测量,但有关它的更多详细信息,请查看我的特定MEMS传感器工作原理教程。 陀螺仪的输出以每秒度数为单位,因此,为了获得角位置,我们只需要对角速度进行积分即可。

另一方面,MPU6050加速度计的测量加速度的方式与之前视频中针对ADXL345加速度传感器的说明相同。 简而言之,它可以测量沿3个轴的重力加速度,并使用一些三角数学,我们可以计算传感器所处的角度。 因此,如果我们融合或将加速度计和陀螺仪数据结合在一起,我们可以获得有关传感器方向的非常准确的信息。

MPU6050 IMU也因其6个输出或3个加速度计输出和3个陀螺仪输出而被称为六轴运动跟踪设备或6 DoF(六个自由度)设备。

Arduino和MPU6050

让我们看一下如何使用Arduino连接和读取MPU6050传感器的数据。我们正在使用I2C协议与Arduino进行通信,因此我们仅需两条线即可将其连接,另外两条线即可供电。

MPU6050 Arduino代码

MPU6050方向跟踪– 3D可视化

源代码