玩转树莓派

    返回首页    发表留言
本文作者:李德强
          第二节 MPU6050陀螺仪
 
 

        准备好了硬件设备之后,接下来需要将这些硬件组装起来。先来看一下整体的组装结构图,我们要先对整体的结构有所了解,然后再针对每两个硬件之间的接线做详细的阐述。

 

        我们从由至右,由上到下的顺序分别对这些硬件的接线方式和功能做一些说明。

        1、MPU6050陀螺仪。这是一个6轴陀螺仪,可以对3维空间里x、y、z三个维度测量加速度和3轴旋转加速度:

 

        对于3维加速度在这个自平衡小车中暂时用不到。我们只对3轴的旋转角加速度做处理。我们知道旋转角加速度的积分即是旋转角速度,而对旋转角速度的积分即时角度(当然这时所说的积分是狭义上的定积分)。我们假设陀螺仪这从t0时刻开始加电运转,在t0时刻陀螺仪的旋转角度为0,到t1时刻(t1-t0趋于0)后其旋转角为:

 

      

        我们再来看一下MPU6050与树莓派的接线方式:

        1) 陀螺仪VCC接树莓派3.3V DC Power

        2) 陀螺仪GND接树莓派Ground

        3) 陀螺仪SCL树莓派SCL

        4) 陀螺仪SDA树莓派SDA

        接线完成后,启动树莓派,MPU6050会有红灯亮起。另外还要对树莓派的系统做一些设置:

        1) 修改/etc/modules文件,追加以下内容

i2c-bcm2708
i2c-dev


        2) 修改/etc/modprobe.d/raspi-blacklist.conf将下面两行内容删除或用#注释掉

修改前:
blacklist spi-bcm2708
blacklist i2c-bcm2708
修改后:
#blacklist spi-bcm2708
#blacklist i2c-bcm2708

 

 

        3) 安装i2c-tools工具

sudo apt-get install i2c-tools libi2c-dev

 

        4) 重启树莓派:

sudo reboot -n

 

        之后使用以下命令查看设备是否正常:

sudo i2cdetect -y 1

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --


        可以看到在0x68上有一个设备,就是MPU6050陀螺仪。我们使用树莓派的MPU6050开源驱动,可以直接取得旋转角:https://github.com/richardghirst/PiBits.git此驱动是用C++编写的,下载后编译运行即可。

    返回首页    返回顶部
#1楼  湘云  于 2018年04月14日15:26:06 发表
 
我的树莓派运行i2cdetect -y 1报错,说没有设备,看了下/dev目录下确实么有i2c-1的设备,lsmod是有的https://blog.csdn.net/xukai871105/article/details/18234075,波特率也改了,反正是按照这篇帖子上操作的,还是不行,后来发现是raspi-config里面的i2c没有开启,https://blog.csdn.net/u012313335/article/details/73920256,在高级选项里面,开启之后,重启,OK
  看不清?点击刷新

 

  Copyright © 2015-2018 问渠网 辽ICP备15013245号