物联网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,一经查实,立即删除!

相关文章

Android Studio 下载地址

一、Android Studio 下载地址及版本说明 1.Android 开发者官网&#xff1a;&#xff08;1&#xff09;Android Developers &#xff08;全球&#xff0c;需科学上网&#xff09; &#xff08;2&#xff09;https://developer.android.google.cn/index.html &#xff08;国内&a…

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

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

生成一篇博客,详细讲解springboot的单点登录功能,有流程图,有源码demo

SpringBoot是目前非常流行的一个Java开发框架&#xff0c;它以简洁的配置和快速的开发效率著称。在实际应用中&#xff0c;单点登录是一个非常重要的功能&#xff0c;它可以让用户在多个应用系统中使用同一个账号登录&#xff0c;提高用户体验和安全性。本文将详细讲解如何在Sp…

YouTube博主数据信息资源

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

2023-JS

如何判断两个数组的内容是否相等 1.数组 let arr1 [1,2,3,4] let arr2 [1,2,3,4]方案&#xff1a; (一):通过转成字符串&#xff1a;JSON.stringfity() (二):通过循环2.数组对象 let arr1 [{id: 1, name: s}] let arr2 [{id: 1, name: s},{id: 2, name: a}] post为什么会发…

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) 处理函数 // 导…

机器学习-朴素贝叶斯之多项式模型

多项式模型&#xff1a; 记住一定用于离散的对象&#xff0c;不能是连续的 于高斯分布相反&#xff0c;多项式模型主要适用于离散特征的概率计算&#xff0c;切sklearn的多项式模型不接受输入负值 因为多项式不接受负值的输入&#xff0c;所以样本数据的特征为数值型数据&…

【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…

09 用户态跟踪:如何使用eBPF排查应用程序?

09 用户态跟踪&#xff1a;如何使用eBPF排查应用程序&#xff1f; sudo bpftrace -e usdt:/usr/bin/python3:function__entry { printf("%s:%d %s\n", str(arg0), arg2, str(arg1))} # -*- coding: UTF-8 -*- import socket from socket import SOL_SOCKET, SO_R…

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

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

【数值计算汇总】js前端数值计算校验转换

前言 这个合集功能主要是为了处理前端计算数据 因为我的项目有很多表格公式计算是前端写的 所以有一个很麻烦的事情就是加减乘除的时候因为各种情况导致报错 最常见的就是后端传的值不规范 有时候这个字段没有值的时候给我返回的是数字0&#xff0c;有时候字符串数字0&#xf…

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

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

【jvm】虚拟机栈之动态链接

目录 一、说明二、代码示例三、生成的字节码四、字节码说明4.1 常量池4.1 方法调用4.3 变量4.4 字符串4.5 父类Object4.6 System类 一、说明 1.指向运行时常量池的方法引用 2.每一个栈帧内部都包含一个指向运行时常量池中该栈帧所属方法的引用 3.包含这个引用的目的就是为了支持…

代码随想录算法训练营第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;今天我们就来解…

免登陆 同步脚本 zookeeper kafka集群详细安装步骤

一.免登陆配置 #修改注解名 vim /etc/hostname #修改host文件 vim /etc/hosts 192.168.1.10 kafka1 kafka1 192.168.1.11 kafka2 kafka2 192.168.1.12 kafka3 kafka3#免登陆生成秘钥和授权自动登陆 ssh-keygen -t rsa cd ~/.ssh shh-copy-id kafka1 shh-copy-id kafka2 shh-co…