概述
陀螺仪是一款理想的机器人运动检测、姿态检测模块。包含3轴加速度计、3轴角速度传感器与运动处理器,并提供I2C接口通信。可以应用在自平衡小车、四轴飞行器、机器人及移动设备上,具有高动态测量范围与低电流消耗等优点。本模块接口是白色色标,说明是I2C通信模式,需要连接到主板上带有白色标识接口。
技术规格
- 工作电压:5V DC
- 工作温度:0到70℃
- 信号模式:I2C通信
- 模块尺寸:51 x 24 x 18 mm (长x宽x高)
功能特性
- 模块的白色区域是与金属梁接触的参考区域;
- 数字输出6轴或9轴的旋转矩阵、四元数、欧拉角格式的融合演算数据;
- 3轴角速度可控测量范围为±250,±500,±1000,±2000°/秒(dps);
- 3轴加速计可控测量范围为±2g,±4g,±8g与±16g;
- 数字运动处理(DMP)引擎可减少复杂的运动融合、传感器同步与姿态检测的负荷;
- 移除加速计与陀螺仪轴间敏感度,降低设定给予的影响与传感器的漂移;
- 内嵌运作时间偏差与磁力传感器校正演算技术;
- 具有反接保护,电源反接不会损坏IC;
- 支持Arduino IDE编程, 并且提供运行库来简化编程;
- 支持mBlock图形化编程,适合全年龄用户;
- 使用RJ25接口连线方便;
- 模块化安装,兼容乐高系列。
引脚定义
陀螺仪模块有四个针脚的接头,每个针脚的功能如下表:
接线方式
- RJ25连接
由于陀螺仪模块接口是白色色标,当使用RJ25接口时,需要连接到主控板上带有白色色标的接口。以Makeblock Orion为例,可以连接到3,4,6,7,8号接口,如图
● 杜邦线连接
当使用杜邦线连接到Arduino Uno主板的时候,模块SCL、SDA引脚需要连接到I2C接口,即连接到A4、A5接口如下图所示:
编程指南
- Arduino编程
如果使用Arduino编程,需要调用库Makeblock-Library-master 来控制陀螺仪模块
本程序通过Arduino编程,当我们通过串口监视器输入任意值时,模块接收并返回当前的X,Y,Z的值。从而能够判断当前模块的姿态,从串口监视器可观察到X,,Y,Z的值。
陀螺仪函数功能列表
函数 | 功能 |
double angleX() | 读取X轴的值 |
double angleY() | 读取Y轴的值 |
double angleZ() | 读取Z轴的值 |
void update() | 刷新数值 |
void begin() | 模块初始化 |
- mBlock编程
陀螺仪模块支持mBlock编程环境,如下是该模块指令简介
下面是让小熊猫说出陀螺仪X/Y/Z的值效果
原理解析
陀螺仪模块集成了3轴加速度计、3轴角速度传感器(陀螺仪)与运动处理引擎(DMP),由I2C端口以单一数据流的形式,向应用端输出完整的9轴融合演算数据。
3轴加速计能够在X、Y、Z轴测量加速度的变化,通过感知特定方向的惯性力总量,加速计可以测量出加速度和重力;三轴加速计意味着它能够检测到三维空间中的运动或重力引力。加速计可以测量重力(引力)g,如果模块静止而没有任何动作,地球引力对其施加的力大约为1g;如果模块竖直放置,会检测到y轴上施加的力约为1g。如果模块以一定角度放置,会检测到1g的力会分布在不同的轴上。当模块在三维空间中运动或振动时,陀螺仪会在一个或多个轴上检测到大于1g的力并测量出加速度,对加速度积分可以获得速度和位移。当物体绕轴旋转时会产生角速度,3轴角速度传感器(陀螺仪)能够检测X、Y、Z轴的角速度变化量;运动处理引擎通过I2C端口直接输出数据,可以减轻外围微处理器的工作负担并且避免了繁琐的滤波和数据融合。