使用ESP32连接MPU6050陀螺仪传感器的方法

您所在的位置:网站首页 mpu6050怎么使用 使用ESP32连接MPU6050陀螺仪传感器的方法

使用ESP32连接MPU6050陀螺仪传感器的方法

#使用ESP32连接MPU6050陀螺仪传感器的方法| 来源: 网络整理| 查看: 265

MPU6050传感器模块由单芯片上的加速度计和陀螺仪组成。它在每个通道的数字转换器中包含模拟16位。因此它可以同时捕获x、y和z通道。该传感器使用I2C总线与Arduino或任何其他微控制器进行交互。 MPU-6050传感器模块用于许多应用,如无人机、机器人、运动传感器。该传感器也称为陀螺仪或三轴加速度计。

在本篇文章中,我们将使用ESP32连接MPU6050加速度计和陀螺仪,并通过Web服务器显示值。在本文中,我们将对MPU6050进行基本介绍,并演示如何与ESP32 开发板连接以及如何在网页上显示其值。

所需的组件

●    ESP32 NodeMCU开发板

●    MPU6050加速度计和陀螺仪模块

●    连接跳线

电路图

MPU6050加速度计和陀螺仪模块与ESP32连接的电路图如下。

MPU6050-Gyro-Sensor-Interfacing-with-ESP32.png (34.75 KB, 下载次数: 15)

下载附件  保存到相册

2021-9-7 11:35 上传

MPU6050通过I2C协议与ESP32通信,所以我们只需要两根线来连接ESP32和MPU6050。 MPU6050的SCL和SDA引脚连接到ESP32的D22和D21引脚,MPU6050的VCC和GND引脚连接到ESP32的3.3V和GND。

MPU6050-Gyro-Sensor-Interfacing-with-ESP32.jpg (76.24 KB, 下载次数: 13)

下载附件  保存到相册

2021-9-7 11:36 上传

MPU6050传感器模块

MPU6050 基于微机械系统 (MEMS) 技术。该传感器包含一个3轴加速度计、一个3轴陀螺仪和内置温度传感器。它可用于测量加速度、速度、方向、位移等参数。

MPU6050-Accelerometer-and-Gyroscopic-Sensor-Module.jpg (26.42 KB, 下载次数: 15)

下载附件  保存到相册

2021-9-7 11:37 上传

MPU6050模块体积小、功耗低、重复性高、抗震性高、用户价位低。 MPU6050带有I2C总线和辅助I2C总线接口,可以轻松连接其他传感器,例如磁力计和微控制器。

代码说明

MPU6050 ESP32的编程部分很简单。在这里,我们将解释一些重要的部分。

首先在代码中包含所有必需的库。 Wire.h库允许您与I2C/TWI设备进行通信,而WiFi.h库可以将ESP32连接到网络。

#include #include 复制代码

在包含库之后,定义变量来存储加速度计和陀螺仪的值。

int16_t AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ;复制代码

在接下来的代码中,输入您的Wi-Fi名称和密码。

const char *ssid =  "Galaxy-M20";     // Enter your Wi-Fi Name const char *pass =  "ac312124"; // Enter your Wi-Fi Password复制代码

在void setup()函数中,初始化波特率、wire库、Web服务器和数据传输。

Serial.begin(115200); Wire.begin(); Wire.beginTransmission(MPU_addr); Wire.write(0x6B); Wire.write(0); server.begin();复制代码

在 loop()函数中,调用mpu_read()函数来获取加速度计和陀螺仪的读数。这些读数将使用client.println()函数发送到网页。

mpu_read();复制代码

在接下来的几行中,检查是否有客户端发送了HTTP请求。如果ESP32收到客户端请求,那么它将以字符形式存储并显示在串口监视器上。

WiFiClient client = server.available(); if (client)   {                                Serial.println("new client");              String currentLine = "";                       while (client.connected())     {                  if (client.available())                        {                        char c = client.read();                        if (c == '\n')    复制代码

接下来,使用html设计网页,并使用client.println()函数将每一行发送到网页。 标签用于更改文本和背景颜色。您可以更改以下代码中的属性。

client.print(" ESP32 WebServer"); client.print(" ESP32 WebServer "); client.print("

Accelerometer Values: "); client.print("

AcX: "); client.print(AcX); client.print("AcY: "); client.print(AcY); client.print("AcZ: "); client.print(AcZ); client.print("

Gyroscope Values: "); client.print("

GyX: "); client.print(GyX); client.print("GyY: "); client.print(GyY); client.print("GyZ: "); client.print(GyZ); client.print("

");复制代码

在mpu_read loop()中,读取加速度计和陀螺仪的X、Y和Z轴的所有六个寄存器。

AcX=Wire.read()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3