Skip to content

Commit

Permalink
Update mpu9250.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ofchenyuan committed Aug 26, 2019
1 parent bcafdb4 commit 0a896b0
Showing 1 changed file with 5 additions and 59 deletions.
64 changes: 5 additions & 59 deletions source/webduino/tutorials/board/mpu9250.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
- | 测试日期 | 测试环境 | 硬件版本 | 固件版本 | 软件版本 | 测试人员 |测试结果 |
| ------------- | ----------------- | --------- | ------------------ | -------- | ------------- |------|
| 2019年8月24日 | Windwos10 & Windwos10 | 1.4 | 7NJfWecLminDsnEtpD | 1.2.5 | 陈渊 &徐光发|小问题:部分积木展开仍有繁体字|

## 运动 & 姿态

开发板内有一个MPU-9250 九轴传感器,除了可以检测空间内的加速度与旋转,用作体感检测、体感游戏...等应用之外,更能通过磁力计的辅助检测,实现检测姿态角度、指南针...等应用。
Expand Down Expand Up @@ -34,62 +38,4 @@

#### 加速度计

加速度计主要检测x、y 和z 三轴直线移动时「瞬间」加速度变化,将开发板正面朝上,金手指引脚朝向自己,*垂直上下的方向为z 轴( 往上为负,往下为正),水平左右为x 轴( 往左为负,往右为正) 水平前后为y 轴( 往自己的方向为负,远离自己的方向为正)*

> 由于检测的数值为「加速度」,在启动或停止的瞬间,可能会产生反向的加速度( 就如行驶的公车突然煞车或启动,乘客会往前倾或后仰),因此在开发时要透过一些逻辑判断来排除,或避免瞬间太大的启动与停止动作。
![](mpu9250/mpu9250-07.jpg)

由于「取得九轴传感器的数值」积木使用时只会检测一次,搭配无限循环便可连续检测,执行后上下左右挥动 开发板,就能看见小怪兽讲出加速度的数值。

> 因为所在位置以及传感器初始化校准的不同,每块开发板在启用加速度检测时,都会有些细微的误差,Z 通常都会是负一千多( 单位为mg,1 g 通常为一个重力参数),X 和 Y 通常会在200 ~ -200 之间,此时可以拿起开发板上下左右挥动,就会看见数值发生变化,由于所检测的数值为「加速度」,因此当开发板没有移动或等速移动的时候,加速度会保持在一个稳定的数值区间内。
![](mpu9250/upload_adc1df866d899ff6c826881e5724c6f2.gif)

#### 陀螺仪

陀螺仪则是检测旋转时「瞬间」的角度变化,如下图所示,将开发板正面朝上,金手指引脚朝向自己,*绕着z 轴旋转为yaw ( 顺时针旋转为正,逆时针旋转为负),绕着x 轴旋转为roll ( 顺时针朝自己旋转为负,逆时针旋转为正) 绕着y 轴旋转为pitch ( 顺时针旋转为正,逆时针旋转为负)*

![](mpu9250/upload_f33a260fb25110b8707be947e7f91db1.jpg)

搭配无限循环便可连续检测,执行后转动开发板,就能看见小怪兽讲出陀螺仪的数值,因为是瞬间角度变化,所以当我们*停止转动,角度就会回归启动时的数值* ( 预设是0,若数值不为零,请重插开发板USB 线,重新启动再试一次)。

![](mpu9250/mpu9250-10.gif)

#### 姿态角度 ( roll、pitch、yaw )

姿态角度主要通过加速度计和陀螺仪的数值,组合成可以检测开发板前后翻转( roll )、左右翻转( pitch ) 和水平旋转( yaw ),将开发板正面朝上,金手指引脚朝向自己,*绕着z 轴旋转为yaw ( 逆时针旋转角度递增,区间为-180~180 度),绕着x 轴旋转为roll ( 顺时针旋转角度递增,区间为-180~180 度) 绕着y轴旋转为pitch ( 逆时针旋转角度递增,区间为-180~180 度)*

![](mpu9250/upload_a5db6cd2569365f61ccfd2d15b87add1.jpg)

搭配无限循环便可连续检测,执行后转动开发板,就能看见小怪兽讲出姿态角度的数值

![](mpu9250/upload_0ec13f302c1e1893b1f0ff6cf003f514.gif)

#### 磁力计

磁力计可以检测所在磁场的变化( 主要是针对地球磁场),将开发板正面朝上,金手指引脚朝向自己,*垂直上下的方向为 z 轴( 往上为正,往下为下) ,水平左右为 y 轴( 往左为正,往右为负) 水平前后为 x 轴( 往自己的方向为负,远离自己的方向为正)*

![](mpu9250/mpu9250-11.jpg)

使用磁力计之前,需要对开发板进行「*8 字校正*」,将开发板插上电并拿起开发板,在空中画出8 的形状进行校正,若遇到不准确的状况,进行8字校正后就会准确许多。

![](mpu9250/mpu9250-12.jpg)

搭配无限循环便可连续检测,执行后转动或移动开发板,就能看见小怪兽讲出磁力计的数值( 测试时可以拿磁铁靠近,会发现显著的数值变化,但因为*磁铁会干扰磁力计,使用磁铁后需要重新进行8 字校正还原初始状态* )。

![](mpu9250/mpu9250-13.gif)

#### 电子罗盘

电子罗盘为磁力计的延伸应用,使用前需要对开发板进行「*8 字校正*」,8 字校正后可以做为指南针,检测东西南北方位,将开发板正面朝上,金手指引脚朝向自己,*开发板的顶端指向正北方,正北方角度约为0,正东方角度约为90,正南方角度约为180 或-180,正西方角度约为-90*

![](mpu9250/mpu9250-14.jpg)

下图的范例,除了让绿色小怪兽讲出方位角,更进一步通过逻辑判断,让红色怪兽说出东西南北的方位。

> 范例下载:[指南针](https://raw.githubusercontent.com/BPI-STEAM/test_docs/master/source/webduino/tutorials/board/mpu9250/mpu9250-sample-01.json) ( 使用鼠标右键另存新档 )
![](mpu9250/mpu9250-16.gif)

![](mpu9250/upload_d03b524811b53e6aad51ddd14be958ab.png)
加速度计主要

0 comments on commit 0a896b0

Please sign in to comment.