一起玩转树莓派(18)——MPU6050螺旋仪加速度传感器模块应用(一)

简介: 一起玩转树莓派(18)——MPU6050螺旋仪加速度传感器模块应用

一. 引言


现在智能手机的功能已经非常强大,除了基础的通信功能外,测位测速,空间角度等数据的测量也非常方便,这在线路导航,地图,体感游戏等应用中十分重要。不知你是否想过,智能设备是如何获取到其所在的空间状态与加速度等数据的呢?MPU6050就是提供这类数据测量的一种传感器模块。


首先,通过树莓派来读取MPU6050传感器模块的数据并不复杂,MPU60X0是一款扩展性极强的数字运动处理器,我们本次实验使用的是封装好的功能模块,如下图所示:


image.png


MPU6050芯片本身有24个引脚,每边有6个引脚,功能较多,引脚功能与定位如下图所示:


image.png


关于MPU6050的高级用法,可以通过查看芯片手册获取,本篇博客我们着重与在树莓派上对其进行应用。我们只需要关注所使用的模块的8个引脚即可。


二. 连线与准备工作


本次实验我们使用的模块有8个引脚,只需要使用其中4个引脚即可实现功能。对于树莓派I2C协议总线的应用,本系列博客之前已经有非常多的实验有过应用。首先连接传感器模块与树莓派如下表:


传感器模块 树莓派

VCC +5V

GND GND

SCL SCL

SDA SDA

开始使用I2C总线前,莫忘了开启树莓派的I2C功能,对I2C总线用法如果不太了解,可以阅读以下博客:


https://my.oschina.net/u/2340880/blog/5142788


连线完成后,在树莓派的终端输入如下指令可以查看已经连接的I2C设备:


sudo i2cdetect -y 1



如果连接无误,终端输出结果将如下图所示:

image.png



可以看到,图中显示的68即为我们所连接的传感器的地址。


下面,是时候了解下MPU6050传感器该如何使用了,我们知道,通过I2C总线,我们可以方便的读取设备中某个寄存器的数据,也可以向设备的某个寄存器写入数据,因此,使用MPU6050传感器的核心是了解其中寄存器的使用方法。我们将以使用到的几个寄存器为例做介绍,完整的寄存器用法可以从芯片手册上得到。


1. 电源管理寄存器


电源管理寄存器的地址为107,对应十六进制数0x6b,它是一个8位的寄存器,其中第4位为保留位不能使用,功能如下:


image.png


DECIVE_RESET: 这一位的作用是重置传感器,将传感器内部所有寄存器复位为初始状态,复位完成后,这一位会清零。


SLEEP: 睡眠控制位,当此位为1时,传感器将处于睡眠模式。需要注意,传感器启动时默认是睡眠模式,我们需要手动将其唤醒。


CYCLE:当设备设置为非睡眠模式时,即SLEEP位不为1,此为如果设置为1,传感器将处于循环模式,会按照寄存器108设置的速度进行数据循环采样。


TEMP_DIS:是否禁用温度传感器,设置为1时,禁用温度传感器。


CLKSEL:3位无符号数值,用来指令时钟源。


对于CLKSEL选项,其设置方式如下:


CLKSEL值 意义

0 使用内部的8MHz的振荡器

1 使用陀螺仪X轴的频率

2 使用陀螺仪Y轴的频率

3 使用陀螺仪X轴的频率

4 使用外部的32.768kHz频率

5 使用外部19.2MHz频率

6 保留值

7 停止时钟并使振荡器保持复位状态

2. 陀螺仪数据寄存器


陀螺仪数据寄存器的地址为67到72,共48个二进制位,如下:


image.png


这些寄存器都是只读的,不能写入。


67和68寄存器存储16位数据,为陀螺仪X轴的测量数据。其中68寄存器存储低8位,67寄存器存储高8位。


69和70寄存器存储16位数据,为陀螺仪Y轴的测量数据。其中70寄存器存储低8位,69寄存器存储高8位。


71和72寄存器存储16位数据,为陀螺仪Z轴的测量数据。其中72寄存器存储低8位,71寄存器存储高8位。


需要注意,从这些寄存器取出的数据都是原始数据,要得到真正的陀螺仪测量的旋转角度,需要进行转换,其转换的单位与总量程有关,量程在寄存器27进行配置。


3. 陀螺仪配置寄存器


陀螺仪配置寄存器的地址为27,是一个可读可写的寄存器,如下:


image.png


XG_ST,YG_ST与ZG_ST这3位用来设置陀螺仪执行自检。FS_SEL用来设置陀螺仪的量程范围,低3位为保留位,无需使用。FS_SEL可设置的量程范围如下:


FS_SEL 量程范围 灵敏度参数

0 ±250 °/s 131

1 ±500 °/s 65.5

2 ±1000 °/s 32.8

3 ±2000 °/s 16.4

对于不同的量程范围,我们获取到原始数据后,需要除以对应的灵敏度参数才能得到最终的陀螺仪数据。



目录
相关文章
|
传感器 存储 定位技术
一起玩转树莓派(18)——MPU6050陀螺仪加速度传感器模块应用
现在智能手机的功能已经非常强大,除了基础的通信功能外,测位测速,空间角度等数据的测量也非常方便,这在线路导航,地图,体感游戏等应用中十分重要。不知你是否想过,智能设备是如何获取到其所在的空间状态与加速度等数据的呢?MPU6050就是提供这类数据测量的一种传感器模块。
2285 0
|
5月前
|
传感器 数据采集 移动开发
基于STM32设计的炉温温度检测仪
本文档描述了一个基于STM32F103C8T6微控制器的炉温检测系统设计。系统采用铂电阻PT100作为温度传感器,提供精确的温度测量,并通过0.96寸IIC接口的OLED显示屏显示结果。STM32F103C8T6因其丰富的外设和计算能力被选为主控芯片,PT100的电阻变化通过ADC转换为数字信号。软件设计包括数据采集、处理和显示三个部分,其中OLED显示屏的初始化函数`oled_init()`设置各种屏幕参数,`OLED_Show_Temperature()`函数负责在指定位置显示温度值。
81 3
|
6月前
|
传感器 数据采集 监控
毕业设计 基于STM32单片机生理监控心率脉搏TFT彩屏波形曲线设计
毕业设计 基于STM32单片机生理监控心率脉搏TFT彩屏波形曲线设计
|
存储 传感器 算法
光学雨量计接线定义
IFR02 是通过红外光扫描原理非接触式检测降雨量的传感器(光学雨量计)。使用独特的智能学习适应算法, 可在复杂光环境中使用,具有很强的抗外部干扰能力。采用渐变脉宽调制与动态比例校正技术有利保障数据稳定性与材料老化导光性能下降的不利影响。内建 4 种雨型,可识别冲刷型、密集型、离散型、附着型降雨并分别处理。具备结露测量功能、 数据存储功能,自动记录降雨总量。光耦隔离脉冲信号输出兼容翻斗雨量计、 RS232 或者 RS485 接口方便信息化集成。多年底层技术、降雨模型积累,持续的改进升级,保障用户产品同步提升。
光学雨量计接线定义
红外温度计(测温仪)的原理是什么?
测温枪学名是“红外温度计”或“红外辐射温度计”。测温枪原理是被动吸收物体的红外辐射能量,获得物体的温度数值
红外温度计(测温仪)的原理是什么?
|
传感器 前端开发 机器人
基于单片机的智能循迹避障小车STC89C52红外对管L298N驱动PWM波控制速度
利用红外对管检测黑线与障碍物,并以STC89C52单片机为控制芯片控制电动小汽车的速度及转向,从而实现自动循迹避障的功能。其中小车驱动由L298N驱动电路完成,速度由单片机输出的PWM波控制。
337 0
|
传感器
红外热成像仪测温传感器模块开发笔记
什么是红外成像伪彩编码 红外成像的最终目的是用图像来表现温度变化,并且可以通过颜色来区分出不同热量的物体轮廓和形状。那么,到底用什么颜色来表示什么温度呢?是否有什么标准规范呢?
|
传感器 API
MLX90640 红外热成像仪测温模块介绍说明
A 型和 B 型的区别 区别主要有以下几点 视场角不同: A 型为 110*75° , B 型为 55*35° ,通俗一点讲就是 A 型是广角,所以镜头矮一些,视野更宽,但对远处物体的捕捉能力更低, B 型更适于拍摄稍远的物体。精度不同: A 型的噪声比 B 型大,所以 B 型的绝对温度和灵敏度都好一些。
MLX90640 红外热成像仪测温模块介绍说明
|
传感器 存储 编解码
MLX90640 红外热成像仪测温模块 温度测量和成像精度
是基于红外阵列高精度温度传感器以及先进软件算法的非接触式热成像仪器,可对视场范围内任何物体进行红外成像,成像分辨率达 512*384 像素,温度灵敏度 0.1℃,绝对精度±1.5℃,刷新频率最高达 64Hz。自带存储和实时时钟,具备数据实时输出显示、拍照存储功能,数字接口包括 UART 和 USB,可直接连接计算机和手机,配合上位机软件或者手机 APP 程序,使用十分方便。 广泛应用于电子设备开发、 PCB 测试、 新材料、供暖施工、非接触温度测控、非法侵入、生物探测等行业和领域。
MLX90640 红外热成像仪测温模块 温度测量和成像精度
|
传感器 存储 编解码
MLX90640 红外热成像仪测温传感器模块开发笔记(七)
Red Eye Camera(以下简称“IDF-x” 或“设备” )是基于红外阵列高精度温度传感器以及先进软件算法的非接触式热成像仪器,可对视场范围内任何物体进行红外成像,成像分辨率512*384 像素,温度灵敏度 0.1℃,绝对精度±1.5℃,刷新频率最高 64Hz。自带存储和实时时钟,具备数据实时输出显示、拍照存储功能,数字接口包括 UART 和 USB,可直接连接计算机和 Android 手机,配合上位机软件或者手机 APP 程序,使用十分方便。
MLX90640 红外热成像仪测温传感器模块开发笔记(七)