风筝
发表于: 2020-2-24 18:18:40 | 显示全部楼层

在本篇文章中,我们将学习如何使用MPU6050和NodeMCU ESP8266测量倾斜角度。只需将6轴陀螺仪/加速度传感器MPU6050与ESP8266连接即可。加速度计发送X、Y和Z方向的加速度。我们需要将力转换为X、Y、Z的3D角度,以确定传感器的3D方向。使用Blynk云将测得的倾斜角度发送到Blynk应用程序。这样,我们就可以通过物联网监控倾斜位置。


陀螺仪测量沿着X、Y和Z轴旋转的速度或角度位置随时间的变化率。它使用MEMS技术和科里奥利效应(Coriolis Effect)进行测量。陀螺仪的输出以每秒度数为单位,因此为了获得角位置,我们只需要对角速度进行积分即可。


所需的组件

以下是制作此项目所需的组件:

●    Nodemcu ESP8266开发板

●    MPU6050陀螺仪/加速传感器

●    0.96英寸I2C OLED显示屏


MPU6050陀螺仪/加速度传感器介绍

InvenSense公司的MPU-6050传感器在单个芯片中包含MEMS加速度计和MEMS陀螺仪。它非常准确,因为每个通道都包含16位模数转换硬件。因此,它可以同时捕获x、y和z通道。传感器使用I2C总线与Arduino连接。


MPU-6050价格并不贵,尤其是考虑到它同时集成了加速度计和陀螺仪。


MPU6050模块的引脚排列:

MPU-6050模块有8个引脚:

●    INT:中断数字输出引脚。

●    AD0:I2C从地址LSB引脚。这是器件7位从机地址中的第0位。如果连接到VCC,则将其读为逻辑高电平,并且从机地址发生变化。

●    XCL:辅助串行时钟引脚。该引脚用于将其他启用I2C接口功能的传感器SCL引脚连接到MPU-6050。

●    XDA:辅助串行数据引脚。该引脚用于将其他启用I2C接口功能的传感器SDA引脚连接到MPU-6050。

●    SCL:串行时钟引脚。将此引脚连接到微控制器的SCL引脚。

●    SDA:串行数据引脚。将此引脚连接到微控制器的SDA引脚。

●    GND:接地引脚。将此引脚接地。

●    VCC:电源引脚。将此引脚连接到+ 5V DC电源。

mpu-6050.jpg


三轴陀螺仪:

MPU6050由采用微机电系统(MEMS)技术的3轴陀螺仪组成。如下图所示,用于检测沿X、Y、Z轴的旋转速度。

2_Oreintation_Polarity_of_Rotation_MPU6050.png

三轴加速度计:

MPU6050包含采用微机电(MEMS)技术的3轴加速度计。如下图所示,它用于检测沿X、Y和Z轴的倾斜角度。

3_Angle_of_Inclination.png


ESP8266和MPU6050的倾斜角度监控器的电路连接:

以下是MPU6050陀螺仪/加速度计与NodeMCU ESP8266连接的电路图。该电路可以组装在面包板上。

MPU6050-ESP8266-Circuit.jpg

MPU6050和OLED显示屏均为I2C模块。因此,我们只需2条线即可将它们与NodeCMU连接。两个模块的SDA引脚都连接到NodeMCU ESP8266的D2,SCL引脚连接到ESP8266的D1。为两个模块提供3.3V电源。

gyro-accelerometer-nodemcu.jpg


设置Blynk IoT应用程序以进行角度监测

Blynk是一个运行在Android和IOS设备上的应用程序,可使用智能手机控制任何基于IoT的应用程序。它允许您为物联网应用程序创建图形用户界面。在本文中,我们将设置Blynk应用程序,以使用NodeMCU ESP8266通过Wi-Fi监视MPU6050角度。


从Google Play商店下载并安装Blynk应用程序。 iOS用户可以从App Store下载。安装完成后,使用您的电子邮件ID和密码打开应用程序并登陆。

1.jpg


现在,按照下面的照片设置完整的Blynk应用程序。

Blynk-Setup.jpg


因此,创建gauge和值显示。成功创建项目后,返回设置并单击“发送电子邮件”。您将在注册邮件中获得一个身份验证ID。保存身份验证ID。您将需要在代码中输入此内容。


源代码/程序

下面给出了将MPU6050与ESP8266连接的源代码/程序。我们将需要很少的库来编译代码。请从下面的链接下载库并将其添加到Arduino库。

●    Adafruit_SSD1306库

●    Adafruit_GFX库

●    Blynk ESP8266库


确保在代码中进行以下更改。更改wifi SSDI和密码。同时更改Blynk身份验证令牌。

Capture.jpg


输出结果

因此,代码上传后,您可以单击串口监视器以检查输出。 您需要倾斜MPU6050陀螺仪/加速计以检测X、Y和Z轴的角位置。 在OLED显示器上也可以观察到相同的倾斜角度。

2mpu.jpg

由于ESP8266已连接到互联网,因此ESP8266将开始将数据发送到Blynk应用程序。 您可以打开串口监视器并检查状态,如下所示。

Capture.png

现在,您也可以在Blynk应用程序上查看状态。 Blynk应用程序将开始显示变化的X、Y和Z角度。

MPU6050-Blynk.jpg

跳转到指定楼层
发表于: 2020-4-12 13:35:55 | 显示全部楼层

你好,请问有源代码吗
回复

使用道具 举报

141
发表于: 2022-5-22 21:24:53 | 显示全部楼层


你好,请问有源代码吗
回复

使用道具 举报

chanzin
发表于: 2023-2-8 15:26:03 | 显示全部楼层

你好,请问有源代码吗
回复

使用道具 举报

z01228
发表于: 2023-11-12 23:04:00 | 显示全部楼层

希望看看滤波查询  解析数据不难
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 714 | 回复: 1501



手机版|

GMT+8, 2024-12-22 20:01 , Processed in 0.043540 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表