一起玩儿物联网人工智能小车(ESP32)——71 姿态传感器MPU6050的使用方法

这篇具有很好参考价值的文章主要介绍了一起玩儿物联网人工智能小车(ESP32)——71 姿态传感器MPU6050的使用方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

摘要:本文介绍姿态传感器MPU6050的使用方法

姿态传感器是一种用于测量物体姿态的传感器,它可以检测物体的加速度和角速度,并计算出物体的方向和角度。前边介绍的RPI-1031只能定性的得到物体的倾斜情况,而姿态传感器则可以定量的得到物体倾斜的方向和角度。

MPU6050是一种常用的姿态传感器,它具有高精度、低功耗和成本低廉的特点。本文将介绍MPU6050的基本原理、工作方式、应用领域以及优缺点。

MPU-6050是全球首例6轴运动处理传感器。它集成了3轴微机电系统(Microelectro Mechanical Systems, MEMS)陀螺仪和3轴MEMS加速度计,以及板载数字运动处理器(Digital Motion Processor, DMP)。加速度计可以检测物体的线性加速度,而陀螺仪可以检测物体的角速度。因此,MPU-6050可以测量物体在x、y、z三个方向上的加速度和角速度。通过将加速度计和陀螺仪的测量结果进行数据融合,可以计算出物体的方向和角度。所以,MPU-6050常应用于平衡车、飞行器等需要检测自身姿态的场景。

前面所说的几轴通常指加速度传感器(即加速计)、角速度传感器(即陀螺仪)、磁感应传感器(即电子罗盘)的数量,这三类传感器测量的数据在空间坐标系中都可以被分解为X,Y,Z三个方向轴的力,因此也常常被称为3轴加速度计、3轴陀螺仪、3轴磁力计。

上面3类传感器有其各自的功能特点及应用,比如加速度计可以测量设备的线性加速度,陀螺仪可以测量设备自身的旋转角速度,还有磁力计可以检测设备的方位。通过它们相互组合和匹配融合又可以衍生出更多的不同应用,在叫法上通过这样简单的轴数上相加的可以变成六轴传感器或者九轴传感器。

六轴传感器:通常指的是三轴加速度计+三轴陀螺仪,三轴加速度计是检测三个方向的加速度的,三轴陀螺仪是检测旋转角速度,因此可以用在平衡车、体感游戏机以及飞行器上。

九轴传感器:就是三轴加速度计+三轴陀螺仪+三轴磁力计的组合,在飞行器上是广泛应用的。另外,在九轴传感器基础上再加入气压传感器,从而能获取海拔高度的数据,人们通常称之为十轴传感器。

通常使用的MPU6050模块如下所示:

esp32 mpu6050,基于ESP32的物联网人工智能小车,硬件功能模块,物联网,人工智能,ESP32,单片机

那么MPU6050所对应的坐标系和角速度方向如下所示:

esp32 mpu6050,基于ESP32的物联网人工智能小车,硬件功能模块,物联网,人工智能,ESP32,单片机

在上图中可以看到,向右为X轴正方向,向前为Y轴正方向,垂直模块向上为Z轴正方向。旋转角的方向按右手法则定义,即右手大拇指指向轴向,四指弯曲的方向即为绕该轴旋转的方向。

为了称呼方便,给这三个旋转角又起了三个不同的名字:

横滚角(Roll):即为绕X轴旋转方向的角度;

俯仰角(Pitch):即为绕Y轴旋转方向的角度;

偏航角(Yaw):即为绕Z轴旋转方向的角度;

这三者合称为姿态角或欧拉角(Euler angles)。通过一架飞机的姿态来理解这三个角度,应该更容易一些,如下所示:

esp32 mpu6050,基于ESP32的物联网人工智能小车,硬件功能模块,物联网,人工智能,ESP32,单片机

MPU6050作为首款6轴的姿态传感器,拥有以下一些特性:

1.以数字形式输出6轴或9轴(需外接磁力传感器——通过XCL、XDA进行通信)的旋转矩阵、四元数(quaternion)、欧拉角格式(Euler Angle forma)的融合演算数据(需DMP支持)。

2.具有测量范围为±250、±500、±1000 与±2000°/sec的3轴角速度感测器(陀螺仪)。

3.集成可程序控制,测量范围为±2g、±4g、±8g和±16g的3轴加速度传感器。

4.自带数字运动处理(DMP:Digital Motion Processing)引擎,可减少MCU进行复杂的融合演算、传感器同步化、姿势感应等的负荷。

5.自带一个数字温度传感器。

6.可程序控制的中断(interrupt)(INT接口的功能),支持姿势识别功能。

7.自带1024字节FIFO,有助于降低系统功耗

8.高达400KHz的IIC通信接口

MPU6050模块引脚的功能如下表所示:

引脚

功能

VCC、GND

电源供电,直流3.3V~5V

SCL、SDA

I2C通信引脚(模块已经内置两个4.7K上拉电阻,因此接线时可以直接把SCL和SDA接在GPIO口上)

XCL、XDA

主机I2C通信引脚(为了扩展芯片功能,通常用于外接磁力计或者气压计)

AD0

从机地址最低位(接0则7位从机地址为1101000;接1则7位从机地址为1101001)

INT

中断输出引脚(可以配置芯片内部事件以触发中断引脚的输出)

接下来就来看一个简单的例子,通过一个程序来获得MPU6050的测量数据。首先把MPU6050与ESP32扩展板相连接,连接的方法如下:

MPU6050

ESP32扩展板

VCC

+5V

GND

GND

SCL

P22

SDA

P21

接下来是下载一个支持MPU6050的库,在Arduino IDE中,有很多关于MPU6050的库,我所选择的是MPU6050_tockn库,如下图所示:

esp32 mpu6050,基于ESP32的物联网人工智能小车,硬件功能模块,物联网,人工智能,ESP32,单片机

使用MPU6050_tockn库读取MPU6050模块的信息需要以下几步:

  1. 引入头文件MPU6050_tockn.h
  2. 创建MPU6050对象
  3. 调用begin()方法进行初始化
  4. 调用calcGyroOffsets()方法进行自检
  5. 调用update()方法更新数据
  6. 调用各种方法得到各种需要的数据了。

具体代码如下所示:

#include <MPU6050_tockn.h>

#include <Wire.h>

MPU6050 mpu6050(Wire);

long timer = 0;

void setup() {

  Serial.begin(9600);

  Wire.begin();

  mpu6050.begin();

  mpu6050.calcGyroOffsets(true);

}

void loop() {

  mpu6050.update();

  if(millis() - timer > 1000){

   

    Serial.println("=======================================================");

    Serial.print("temp : ");Serial.println(mpu6050.getTemp());

    Serial.print("accX : ");Serial.print(mpu6050.getAccX());

    Serial.print("\taccY : ");Serial.print(mpu6050.getAccY());

    Serial.print("\taccZ : ");Serial.println(mpu6050.getAccZ());

 

    Serial.print("gyroX : ");Serial.print(mpu6050.getGyroX());

    Serial.print("\tgyroY : ");Serial.print(mpu6050.getGyroY());

    Serial.print("\tgyroZ : ");Serial.println(mpu6050.getGyroZ());

 

    Serial.println("=======================================================\n");

    timer = millis();

   

  }

}

在这个程序中,读取了原始的加速度和角速度数据。至于更多的数据以及更多的应用,未来将会有一个关于平衡车的主题,在那里会进行更详细的介绍。文章来源地址https://www.toymoban.com/news/detail-861016.html

到了这里,关于一起玩儿物联网人工智能小车(ESP32)——71 姿态传感器MPU6050的使用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一起玩儿物联网人工智能小车(ESP32)——69 使用INMP441模块采集声音

    摘要:本文介绍如何使用INMP441模块采集声音 前边介绍了第一个基于I2S通信协议的MAX98357A模块,利用该模块可以播放各种声音文件。今天来介绍如何使用INMP441模块实现声音的采集功能,也就是如何将声音转变成数字信号。 INMP441是一款高性能,低功耗,数字输出的全向MEMS(微

    2024年03月15日
    浏览(66)
  • 一起玩儿物联网人工智能小车(ESP32)——63 SD和TF卡模块的使用

    摘要:本文介绍SD和TF卡模块的使用方法 前面介绍了非易失性存储的使用方法,由于空间和本身只支持键值对的限制,非易失性存储只适用于少量数据的记录。而不适用于各种声音、图片、大量数据等情况的使用。这时候就需要有文件系统或者更大容量存储空间的支持。SD卡(

    2024年02月22日
    浏览(55)
  • 一起玩儿物联网人工智能小车(ESP32)——71 姿态传感器MPU6050的使用方法

    摘要:本文介绍姿态传感器MPU6050的使用方法 姿态传感器是一种用于测量物体姿态的传感器,它可以检测物体的加速度和角速度,并计算出物体的方向和角度。前边介绍的RPI-1031只能定性的得到物体的倾斜情况,而姿态传感器则可以定量的得到物体倾斜的方向和角度。 MPU6050是

    2024年04月28日
    浏览(42)
  • 一起玩儿物联网人工智能小车(ESP32)——12. 组装L298N驱动马达和供电电路

    摘要:本文介绍L298N模块与TT马达以及电源模块的接线方法,并进行初始测试。 在前面完成了第一个ESP32程序。接下来要继续组装我们的智能物联网小车了。今天要完成的工作就是完成智能小车电机驱动和ESP32开发板的控制电路连接。在具体的动手之前,先要进行一些准备工作

    2024年02月02日
    浏览(53)
  • 一起玩儿物联网人工智能小车(ESP32)——59. 基于TFT_eSPI库的1.3寸SPI彩色显示屏的使用(ST7789)

    摘要:本文是TFT液晶屏的基本知识和TFT_eSPI库的简单介绍 在前边已经介绍过0.96寸OLED显示屏的使用方法,那是一个单色屏,显示效果很是一般,因此,本篇来介绍彩色TFT(Thin Film Transistor:薄膜晶体管)显示屏的使用方法。 TFT屏幕和OLED屏幕是两种不同的显示器件。TFT屏幕和

    2024年02月21日
    浏览(45)
  • 一起玩儿物联网人工智能小车(ESP32)——61 基于TFT_eSPI库的1.3寸SPI彩色显示屏的使用(ST7789)(三)

    摘要:本文介绍TFT_eSPI中文字库的制作方法 前面已经介绍了TFT_eSPI库的基本使用方法,如果你可以将英文显示到液晶屏幕上了,那么就可以尝试本文的制作中文字库,并显示中文到液晶屏幕了,否则还是要先完成上一篇文章的学习。 接下来就开始制作中文字库。TFT_eSPI自带了

    2024年02月21日
    浏览(50)
  • 一起玩儿物联网人工智能小车(ESP32)——41. 直流有刷电机驱动模块——L9110S、TB6612FNG和DRV8833简介

    摘要:本文介绍如何使用直流有刷电机驱动模块——L9110S、TB6612FNG和DRV8833 在前边很详细的介绍了直流有刷电机驱动模块L298N,该模块性能良好,输出功率大。但体积也是偏大,本篇文章介绍一下市场上另外几个常见的小型直流有刷电机驱动模块L9110S、TB6612FNG和DRV8833的使用方

    2024年02月21日
    浏览(47)
  • 一起玩儿物联网人工智能小车——04. TT马达的基本介绍

    马达和电机在英语中是两个词,但在我们汉语中感觉差别不大,大概是电机专指电能转与机械能的相互转换的装置,而马达可能包含其他形式的能量与机械能的转换装置。在本文中马达就是特指将电能转化为机械能的电动机。 日常使用的电动机在作用上通常可以分为两种,一

    2024年02月20日
    浏览(50)
  • 物联网毕设 -- 智能图像小车(ESP32+STM32+APP)

    目录 前言  小车拓展 一 连线图 1. 原理图 2. 流程图 3. 实物效果 4. 功能概括 (1)硬件端: (2)APP端: 演示视频 二 底层代码使用方式 1. 使用说明 2. 下载程序 三 APP使用方式 1.下载APP (1)操作方式: (2)使用说明 2. APP界面 🫡若需要,请咨询博主🫡 这个项目的硬件端是

    2024年02月15日
    浏览(44)
  • 走进人工智能| 智能物联网 AIoT的魅力交织

    前言: AI+IoT是指人工智能(AI)与物联网(IoT)的结合。智能物联网是一种技术体系,通过连接和集成物理设备、传感器和互联网,实现设备之间的智能交互和数据共享,为人们提供智能化、自动化和高效化的生活和工作体验。 智能物联网 (Internet of Things,IoT)是指 通过物

    2024年02月14日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包