首页 编程教程正文

树莓派小白教程(三):MPU6050模块陀螺仪加速度传感器

piaodoo 编程教程 2020-02-22 22:06:35 956 0 python教程

本文来源吾爱破解论坛

本帖最后由 Earlobe 于 2019-7-30 12:07 编辑

我来辽,一时写教程一时爽,一直写教程一直爽~嗨学网
对啦, 教程二之树莓派的远程控制 戳这里鸭:https://www.52pojie.cn/thread-998014-1-1.html
这次讲讲,树莓派和MPU6050模块传感器连接的故事嗨学网

其实就是将MPU60550模块电子陀螺仪连接至树莓派,并通过python进行数据的读取拉~

所需材料:
1.MPU6050模块的电子陀螺仪
2.公对母杜邦线若干
3.GPIO拓展板一个

接下来我们开始操作了

方法/步骤一:硬件的连接

     准备好,开始接线啦。我的树莓派是3B+,40Pin引脚,大家不要搞错哦。

1.jpg (88.67 KB, 下载次数: 2)

下载附件  保存到相册

2019-7-27 16:19 上传


接好之后连上电源,酱酱,就是这样啦-如下图,这对于一个电路白痴,还蛮有成就感哒哒哒,(#^.^#)

5.png (982.51 KB, 下载次数: 1)

下载附件  保存到相册

2019-7-27 17:37 上传

方法/步骤二:对树莓派的控制

1.安装vim (用完linux的vi编辑器的我哭辽 o(╥﹏╥)o)
       输入命令 : sudo apt-get install vim


    补充:在此简单讲一下vim的使用方法       

        它分为命令模式和编辑模式,以下为两者转换需要输入的键盘文字:    命令模式 ----i---> 编辑模式   
    命令模式<---esc--- 编辑模式  
     命令模式中保存文件 wq +文件名(意为保存并退出)     
          如果不保存文件,直接退出 :q!  cat +文件名  //查看文件


2.MPU6050传感器模块基于I2C通信协议的,所以先启用树莓派 i2c 服务

    输入命令 : sudo raspi-config (同教程二的开启VNC服务类似)   

    选择 P5 I2C 进行开启

2.png (31.19 KB, 下载次数: 1)

下载附件  保存到相册

2019-7-27 16:42 上传

3.在树莓派上安装相关的Linux驱动程序,操作方法如下:
     1.打开文件进行编辑         
       sudo vim /etc/modules   

     2.将以下几行代码添加到文件的末尾,保存然后重新启动树莓派(重启树莓派需要用到sudo reboot该命令)         
       i2c-bcm2708                i2c-dev

     3. 编辑blacklists文件,确保下面代码行是以#(注释)开头的,如果没有则添加即可,目的是注释掉bcm2708自有的SPI和I2C通信功能
        sudo vi /etc/modprobe.d/raspi-blacklist.conf
        #blacklist spi-bcm2708         
        #blacklist i2c-bcm2708

     4.设定完之后重启树莓派        
       sudo reboot

3.树莓派和MPU6050传感器是否连接的测试:
      
1.
安装i2c-tools套件

            sudo apt-get install i2c-tools


       2.使用i2cdetect侦测一下是否有抓到I2C的设备


             sudo i2cdetect -y 1 (对应树莓派REV2.0板)或者 sudo i2cdetect -y 0 (对应树莓派REV1.0板)

3.png (12.64 KB, 下载次数: 1)

下载附件  保存到相册

2019-7-27 17:00 上传


             可以看出来在0x69的位置有侦测到一个设备,这个就是我们的MPU-6050感测器。

        3.使用i2cget指令尝试读取0x69这个I2C设备的寄存器0x75的值:
             sudo i2cget -y 0 0x68 0x75

          正常来说,MPU-6050的寄存器0x75的值会是0x68,如:      

4.png (3.64 KB, 下载次数: 1)

下载附件  保存到相册

2019-7-27 17:04 上传

               如果看到这样的值0x68,就代表MPU-6050已经可以把资料传回树莓派了。嗨学网

     注意:-y 后面对应的是0 还是 1 取决树莓派对应的是REV2.0板还是REV1.0板
嗨学网


至此,我们就已经完成树莓派和MPU6050传感器的连接了,接下来我们研究如何用python读取MPU6050传感器的数据嗨学网

   1.要通过Python从I2C总线上读取相应数据,首先需要在树莓派上安装 smbus 模块,安装代码如下:
    sudo apt-get install python-smbus  

   2.Python代码

1.png (76.75 KB, 下载次数: 8)

下载附件  保存到相册

2019-7-27 17:29 上传

2.png (86.31 KB, 下载次数: 4)

下载附件  保存到相册

2019-7-27 17:29 上传

3.png (228.57 KB, 下载次数: 1)

下载附件  保存到相册

2019-7-27 17:29 上传





注意:
         1.bus = smbus.SMBus(1) # or bus = smbus.SMBus(0)   这是和对应树莓派REV2.0板还是REV1.0相关
        2.address = 0x69   这是mpu6050所在寄存器的位置有关 ,即执行sudo i2cdetect -y 1 或者 sudo i2cdetect -y 0命令得出的结果
ok  代码执行,成败自此一举!!!!

4.png (35.61 KB, 下载次数: 1)

下载附件  保存到相册

2019-7-27 17:39 上传


  看来效果还是很不错的喔!嗨学网
   我们下期见嗨学网

   
未经本人书面许可,禁止以任何形式引用、抄袭、转载本篇文章。

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7549.html

搜索