Microduino MPU6050计算角度(Microduino 10dof)/zh

来自Microduino Wikipedia
Radiumray9@gmail.com讨论 | 贡献2014年10月29日 (三) 05:43的版本 设备
跳转至: 导航搜索
Language English

目的

本教程将教大家如何使用Microduino-10DOF模块中的MPU6050传感器来计算x, y, z轴的角度并在OLED中显示。

设备

  • 其他硬件设备
    • USB数据连接线 一根

原理图

  • Microduino-OLED
  • Microduino-Core
  • Microduino-10DOF
  • Microduino-FT232R
  • Microduino-Cube-S1

层层堆叠

程序

https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Sensor/MPU6050AngleOLED

通过MPU6050来计算角度其实有许多方法,有算法复杂的也有简单的,有结果精确的也有不精确的,在网上你大概能找到几种方法来计算角度,比如:

  • 1:卡尔曼滤波(kalman filter)来计算角度,算法比较复杂,但结果非常精确
  • 2:DMP(Digital Motion Processing) 来计算角度,用到四元数,算法相对简单,结果没有卡尔曼滤波精确
  • 3:用加速度进行积分运算来计算角度,算法最简单,结果比较粗糙。

本程序用到第三种方法计算角度,如果大家有兴趣可以深度研究下DMP和kalman。

调试

步骤一:以上要求的Micrduino模块堆叠好后就可以下载代码了,如下图:

步骤二:下载代码并编译通过。

步骤三:摆动模块并看OLED上的数值变化。

结果

模块在3个轴上进行转动,OLED会显示x,y,z轴的夹角变化。

视频

http://v.youku.com/v_show/id_XNjk4NDIzMjQ0.html