在本篇文章中,我们将学习如何使用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电源。
三轴陀螺仪: MPU6050由采用微机电系统(MEMS)技术的3轴陀螺仪组成。如下图所示,用于检测沿X、Y、Z轴的旋转速度。
三轴加速度计: MPU6050包含采用微机电(MEMS)技术的3轴加速度计。如下图所示,它用于检测沿X、Y和Z轴的倾斜角度。
ESP8266和MPU6050的倾斜角度监控器的电路连接: 以下是MPU6050陀螺仪/加速度计与NodeMCU ESP8266连接的电路图。该电路可以组装在面包板上。
MPU6050和OLED显示屏均为I2C模块。因此,我们只需2条线即可将它们与NodeCMU连接。两个模块的SDA引脚都连接到NodeMCU ESP8266的D2,SCL引脚连接到ESP8266的D1。为两个模块提供3.3V电源。
设置Blynk IoT应用程序以进行角度监测 Blynk是一个运行在Android和IOS设备上的应用程序,可使用智能手机控制任何基于IoT的应用程序。它允许您为物联网应用程序创建图形用户界面。在本文中,我们将设置Blynk应用程序,以使用NodeMCU ESP8266通过Wi-Fi监视MPU6050角度。
从Google Play商店下载并安装Blynk应用程序。 iOS用户可以从App Store下载。安装完成后,使用您的电子邮件ID和密码打开应用程序并登陆。
现在,按照下面的照片设置完整的Blynk应用程序。
因此,创建gauge和值显示。成功创建项目后,返回设置并单击“发送电子邮件”。您将在注册邮件中获得一个身份验证ID。保存身份验证ID。您将需要在代码中输入此内容。
源代码/程序 下面给出了将MPU6050与ESP8266连接的源代码/程序。我们将需要很少的库来编译代码。请从下面的链接下载库并将其添加到Arduino库。 ● Adafruit_SSD1306库 ● Adafruit_GFX库 ● Blynk ESP8266库
确保在代码中进行以下更改。更改wifi SSDI和密码。同时更改Blynk身份验证令牌。
输出结果 因此,代码上传后,您可以单击串口监视器以检查输出。 您需要倾斜MPU6050陀螺仪/加速计以检测X、Y和Z轴的角位置。 在OLED显示器上也可以观察到相同的倾斜角度。
由于ESP8266已连接到互联网,因此ESP8266将开始将数据发送到Blynk应用程序。 您可以打开串口监视器并检查状态,如下所示。
现在,您也可以在Blynk应用程序上查看状态。 Blynk应用程序将开始显示变化的X、Y和Z角度。
|