吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11741|回复: 12
收起左侧

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

[复制链接]
Earlobe 发表于 2019-7-27 17:43
本帖最后由 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

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


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

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

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

          正常来说,MPU-6050的寄存器0x75的值会是0x68,如:      
4.png
               如果看到这样的值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
2.png
3.png




注意:
         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
  看来效果还是很不错的喔!
   我们下期见

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

免费评分

参与人数 3吾爱币 +7 热心值 +1 收起 理由
wyl772 + 1 我很赞同!
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
y521775876 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

louso 发表于 2020-3-28 12:21
msold5 发表于 2019-7-31 22:57
以前用Arduino接到6050时,放桌上不动都漂得厉害,然后,就没有然后了

是啊,可是想问下,arduino难道只能接4个mpu6050吗?我一接第五个串口灯就不亮了
msold5 发表于 2020-3-29 19:50
louso 发表于 2020-3-28 12:21
是啊,可是想问下,arduino难道只能接4个mpu6050吗?我一接第五个串口灯就不亮了

串口数要查你具体用的模块吧,貌似328和2650这些每款都不一样的
y521775876 发表于 2019-7-27 18:18
Aquamarine 发表于 2019-7-28 13:39
希望楼主能够说明下安装部署下的作用,因为每个人拿树莓派的用途都不同。
rxxcy 发表于 2019-7-28 14:46
树莓派推荐买哪个啊
 楼主| Earlobe 发表于 2019-7-30 12:33
rxxcy 发表于 2019-7-28 14:46
树莓派推荐买哪个啊

现在出4代了 你可以尝试一下
xiadaopj 发表于 2019-7-30 15:54
能不能 驱动12864液晶模块
szapha 发表于 2019-7-31 08:36
讲的很详细,小白一看就懂
msold5 发表于 2019-7-31 22:57
以前用Arduino接到6050时,放桌上不动都漂得厉害,然后,就没有然后了
787821 发表于 2019-8-2 11:24
厉害了大神
派大星星 发表于 2019-8-9 11:56
这个有点太高级了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-7-27 19:04

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表