Earlobe 发表于 2019-7-27 17:43

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

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

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

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

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

接下来我们开始操作了

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

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

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

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

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 进行开启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板)


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

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

          正常来说,MPU-6050的寄存器0x75的值会是0x68,如:      
               如果看到这样的值0x68,就代表MPU-6050已经可以把资料传回树莓派了。:victory:

   注意:-y 后面对应的是0 还是 1 取决树莓派对应的是REV2.0板还是REV1.0板
https://static.52pojie.cn/static/image/hrline/line5.png


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

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

   2.Python代码



注意:
         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代码执行,成败自此一举!!!!
看来效果还是很不错的喔!{:301_987:}
   我们下期见{:1_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代了 你可以尝试一下{:1_1:}

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

这个有点太高级了
页: [1] 2
查看完整版本: 树莓派小白教程(三):MPU6050模块陀螺仪加速度传感器