物联网AI MicroPython传感器学习 之 mpu6050六轴陀螺仪传感器

学物联网,来万物简单IoT物联网!!在这里插入图片描述

一、产品简介

MPU6050是一款6轴运动传感器,它集成了3 轴MEMS 陀螺仪,3 轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。扩展之后就可以通过其I2C 或SPI 接口输出一个9 轴的信号。  
MPU6050主要应用在智能手机、平板电脑、可穿戴设备、机顶盒、3D遥控器和游戏控制器等产品中。
image.png
引脚定义

  • VCC:电源正(5V)
  • GND:电源地
  • SCL:I2C时钟线,用于与主设备通讯
  • SDA:I2C数据线,用于与主设备通讯
  • XDA:I2C数据线,用于与拓展处理器通讯
  • XCL:I2C时钟线,用于与拓展处理器通讯
  • AD0:I2C地址控制引脚
  • INT:中断上报引脚

二、技术参数

  • 工作电压:2.375V~3.46V
  • 睡眠电流:<=10uA@25°C
  • 工作电流(Low-Noise Mode):
    (1) 6轴(陀螺仪+加速度):<=3mA
    (2) 3轴(加速度):<=370uA
    (3) 3轴(陀螺仪):<=2.8mA
  • 工作温度:-40°C~+85°C
  • 通信接口:400KHz I2C或10MHz SPI
  • 三轴陀螺仪可编程范围:±250dps、±500dps、±1000dps和±2000dps
  • 陀螺仪灵敏度误差:±1%
  • 陀螺仪噪声:4mdps/√Hz
  • 三轴加速度计可编程范围:±2g、±4g、±8g和±16g
  • 加速度计噪声:100μg/√Hz
  • 片上16位ADC和可编程滤波器
  • 用户可编程中断
  • 封装尺寸:LGA 3mm _ 3mm _ 0.75mm

三、软件接口

MPU6050(i2cObj) - 创建MPU6050驱动对象

  • 函数原型:

MPU6050Obj = MPU6050(i2cObj)

  • 参数说明:
参数类型必选参数?说明
i2cObjI2C传入I2C对象
  • 返回值:
    MPU6050对象成功,返回MPU6050对象;MPU6050对象创建失败,抛出Exception
  • 示例代码:
from machine import Pin,SoftI2C
from mpu6050 import MPU6050i2cObj = SoftI2C(sda=Pin(25), scl=Pin(26)) # 创建i2c对象
mpu6050Obj = MPU6050(i2cObj, i2cAddr=0x68) # 创建mpu6050对象

getTemperature - 测量温度

  • 函数功能:
    量测周围温度并返回测量结果
  • 函数原型:

MPU6050.getTemperature()

  • 参数说明:
  • 返回值:
    成功返回温度测量结果(数据类型:浮点型;单位:摄氏度);失败抛出Exception
  • 示例:
from machine import Pin,SoftI2C
from mpu6050 import MPU6050i2cObj = SoftI2C(sda=Pin(25), scl=Pin(26)) # 创建i2c对象
mpu6050Obj = MPU6050(i2cObj, i2cAddr=0x68) # 创建mpu6050对象
temp = mpu6050Obj.getTemperature()
print("temperature is ", temp, "°C")
  • 输出:
temperature is 28.9°C

getAcceleration - 获取加速度值

  • 函数功能:
    获取传感器的加速度值
  • 函数原型:

MPU6050.getAcceleration()

  • 参数说明:
  • 返回值:
    成功返回加速度计的原始值数值,其数据类型为tuple (gx,gy,gz) ;失败抛出Exception
  • 示例:
from machine import Pin,SoftI2C
from mpu6050 import MPU6050i2cObj = SoftI2C(sda=Pin(25), scl=Pin(26)) # 创建i2c对象
mpu6050Obj = MPU6050(i2cObj, i2cAddr=0x68) # 创建mpu6050对象
acc = mpu6050Obj.getAcceleration()
print(acc)
  • 输出:
(7382, 14618, 3306)

getGyroscope - 获取陀螺仪值

  • 函数功能:
    获取传感器的陀螺仪值
  • 函数原型:

MPU6050.getGyroscope()

  • 参数说明:
  • 返回值:
    成功返回陀螺仪的原始值数值,其数据类型为tuple (gx,gy,gz) ;失败抛出Exception
  • 示例:
from machine import Pin,SoftI2C
from mpu6050 import MPU6050i2cObj = SoftI2C(sda=Pin(25), scl=Pin(26)) # 创建i2c对象
mpu6050Obj = MPU6050(i2cObj, i2cAddr=0x68) # 创建mpu6050对象
gyro = mpu6050Obj.getGyroscope()
print(gyro)
  • 输出:
(14, 9, -49)

四、接口案例

对于MPU6050而言,其 I2C 地址并不是完全确定的,开发者可以通过MPU6050的AD0引脚来决定其 I2C 通讯地址。 其DataSheet中相关的描述如下:

AD0是从I2C接口的地址控制引脚,该引脚控制I2C地址的最低位。如果接GND,则MPU60SO的IIC地址是:0x68,如果接VDD,则是0x69。

因此,开发者在配置和使用此段案例时,需注意ETT物联网开发板上内嵌MPU6050传感器,地址是:0x68。

from machine import Pin,SoftI2C
from mpu6050 import MPU6050i2cObj = SoftI2C(sda=Pin(25), scl=Pin(26)) # 创建i2c对象
mpu6050Obj = MPU6050(i2cObj, i2cAddr=0x68) # 创建mpu6050对象acc = mpu6050Obj.getAcceleration()
print("The Acceleration data is:", acc)gyro = mpu6050Obj.getGyroscope()print("The Gyro data is: ", gyro)
  • 输出:
Testing mpu6050 ...
The Acceleration data is: (7382, 14618, 3306)
The Gyro data is:  (14, 9, -49)

参考文献及购买链接

[1] MPU6050六轴陀螺仪购买链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/123431.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

moviepy处理手机端图片旋转问题

1.手机拍摄的图片或者在ffmpeg处理的时候&#xff0c;会读取图片的元数据从而进行旋转 左边是拍摄的图片&#xff0c;右侧是进行处理以后得图片 video VideoFileClip(file_path) if video.rotation in (90, 270):video video.resize(video.size[::-1])video.rotation 0

YouTube博主数据信息资源

YouTube博主数据信息资源 &#x1f525;我是一位拥有10年编程经验的程序猿&#xff0c;为你带来一个全新的优质资源 &#x1f50d;您是否在寻找最新、最活跃的YouTube博主数据&#xff0c;以助力你的项目、营销或研究&#xff1f; 我们的数据&#xff0c;您的优势&#xff1a;…

ZYNQ连载05-Vitis更新xsa硬件配置

ZYNQ连载05-Vitis更新xsa硬件配置 1. 简述 在开发过程中&#xff0c;Vivado中硬件配置在开发过程中有所变动&#xff0c;Vitis需要根据Vivado生成的xsa文件&#xff0c;更新相应的BSP配置 2. 操作步骤

Node编写更新用户信息接口

目录 前言 定义路由和处理函数 验证表单数据 实现更新用户基本信息的功能 前言 继前面几篇文章&#xff0c;本文介绍如何编写更新用户信息接口 定义路由和处理函数 路由 // 更新用户信息接口 router.post(/userinfo, userinfo_handler.updateUserinfo) 处理函数 // 导…

【2023年冬季】华为OD统一考试(B卷)题库清单(已收录345题),又快又全的 B 卷题库大整理

目录 专栏导读华为OD机试算法题太多了&#xff0c;知识点繁杂&#xff0c;如何刷题更有效率呢&#xff1f; 一、逻辑分析二、数据结构1、线性表① 数组② 双指针 2、map与list3、队列4、滑动窗口5、二叉树6、并查集7、栈 三、算法1、基础算法① 贪心算法② 二分查找③ 分治递归…

【PC电脑windows-学习样例generic_gpio-ESP32的GPIO程序-基础样例学习】

【PC电脑windows-学习样例generic_gpio-ESP32的GPIO程序-基础样例学习】 1、概述2、实验环境3、 物品说明4、自我总结5、本次实验说明6、实验过程&#xff08;1&#xff09;复制目录到桌面&#xff08;2&#xff09;手动敲写&#xff08;3&#xff09;反复改错&#xff08;4&am…

时序预测 | Python实现ARIMA-LSTM差分自回归移动平均模型结合长短期记忆神经网络时间序列预测

时序预测 | Python实现ARIMA-LSTM差分自回归移动平均模型结合长短期记忆神经网络时间序列预测 目录 时序预测 | Python实现ARIMA-LSTM差分自回归移动平均模型结合长短期记忆神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 时序预测 | Python实现ARIM…

SOLIDWORKS PDM 2024数据管理5大新功能

1. 改进的视觉内容 • 通过装配体可视化功能&#xff0c;在 SOLIDWORKS 中以图形方式查看零部件数据&#xff0c;如工作流程状态。• 使用特定图标迅速识别焊件切割清单零部件。 优点&#xff1a;重要数据和系统信息一目了然。 2.增强的数据保护和跟踪功能 •保护“包含”和…

代码随想录算法训练营第4天| 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交 、142.环形链表II

JAVA语言编写 24. 两两交换链表中的节点 谷歌、亚马逊、字节、奥多比、百度 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。…

Openssl数据安全传输平台010:jasoncpp 1.9.5编译及常用API- Windows/Centos8-含测试代码

文章目录 0. 代码仓库1 安装注意版本问题1.1 windows 下的安装1.1.1 使用cmake生成sln工程1.1.2 使用sln工程生成静态库 -Debug 1.2 Linux 下的安装1.2.1 安装jsoncpp1.2.2 旧版本0.10.x版本相关环境配置问题 2 Winsows环境下编译 c 测试文件&#xff1a; json-test.cpp2.1 配置…

nginx请求时找路径问题

nginx请求时找路径问题 你是否遇到过这样的情况&#xff1a; 当你安装了nginx的时候&#xff0c;为nginx配置了如下的location&#xff0c;想要去访问路径下面的内容&#xff0c;可是总是出现404&#xff0c;找不到文件&#xff0c;这是什么原因呢&#xff0c;今天我们就来解…

服务器数据恢复—nas硬盘故障导致raid6失效、存储无法访问的数据恢复案例

服务器故障&分析&#xff1a; 一台nas存储中有一组由十几块硬盘组建的raid6磁盘阵列。 nas存储中的raid6阵列成员盘出现故障离线&#xff0c;磁盘阵列崩溃&#xff0c;nas存储无法正常访问。 北亚企安数据恢复工程师将nas存储内的所有硬盘编号后取出&#xff0c;经过硬件工…

MGRE环境下的OSPF

实验拓扑 需求 1 R6为ISP只能配置IP地址&#xff0c;R1-R5的环回为私有网段 2 R1/4/5为全连的MGRE结构&#xff0c;R1/2/3为星型的拓扑结构&#xff0c;R1为中心站点 3 所有私有网段可以互相通讯&#xff0c;私有网段使用OSPF完成。 IP规划 配置IP R1 # interface GigabitEt…

Kitex踩坑 [Error] KITEX: processing request error,i/o timeout

报错问题 2023/010/28 17:20:10.250768 default_server_handler.go:234: [Error] KITEX: processing request error, remoteService, remoteAddr127.0.0.1:65425, errordefault codec read failed: read tcp 127.0.0.1:8888->127.0.0.1:65425: i/o timeout 分析原因 Hert…

Ps:对象选择工具

对象选择工具 Object Selection Tool是 Photoshop 2020 版以后新增的选区工具&#xff0c;可用于自动选择图像中的对象或区域&#xff0c;如人物、汽车、宠物、天空、水、建筑物和山脉等。 快捷键&#xff1a;W 让对象选择工具自动检测并选择图像内的对象或区域&#xff0c;或者…

3.7 移动端TB(D)R架构基础

一、各类电子设备功耗对比 桌面级主流性能平台&#xff0c;功耗一般为300W&#xff08;R7/I7X60级别显卡&#xff09;&#xff0c;游戏主机150-200W入门和旗舰游戏本平台功耗为100W主流笔记本为50-60W&#xff0c;超极本为15-25W&#xff0c;旗舰平板为8-15W旗舰手机为5-8W&am…

【Linux】部署单体项目以及前后端分离项目(项目部署)

一、简介 以下就是Linux部署单机项目和前后端分离项目的优缺点&#xff0c;希望对你有所帮助。 1、Linux部署单机项目&#xff1a; 优点&#xff1a; 1.简化了系统管理&#xff1a;由于所有服务都在同一台机器上运行&#xff0c;因此可以简化系统管理和维护。 2.提高了性能&a…

Linux mv命令:移动文件或改名

mv 命令&#xff08;move 的缩写&#xff09;&#xff0c;既可以在不同的目录之间移动文件或目录&#xff0c;也可以对文件和目录进行重命名。该命令的基本格式如下&#xff1a; [rootlocalhost ~]# mv 【选项】 源文件 目标文件 -f&#xff1a;强制覆盖&#xff0c;如果目标文…

在Spring boot中 使用JWT和过滤器实现登录认证

在Spring boot中 使用JWT和过滤器实现登录认证 一、登录获得JWT 在navicat中运行如下sql,准备一张user表 -- ---------------------------- -- Table structure for t_user -- ---------------------------- DROP TABLE IF EXISTS t_user; CREATE TABLE t_user (id int(11) …