二、ROS小车闭环控制:树莓派 3B 接MPU6050方法 以及ROS应用(1)

首先,这个是最原始的出处:http://blog.bitify.co.uk/2013/11/interfacing-raspberry-pi-and-mpu-6050.html

需要优雅上网才能看。

但国内也有人翻译搬运过来并未注明个出处的(我估计图片都是直接粘贴的难怪打不开)

那么我们整理一下吧:

1、硬件安装:

注意了,这个图1接线图是树莓派1上的,我们是3B!!不是+!!那么就要参照树莓派3B的接口,如图2。

图1:树莓派1的硬件接法,注意到接这四个就行了,VCC(3.3V!) GND,SCL,SDA,其他的也同理,查到相应的引脚图就行。

二、ROS小车闭环控制:树莓派 3B 接MPU6050方法 以及ROS应用(1)_第1张图片

图2:树莓派3B的的GPIO引脚

二、ROS小车闭环控制:树莓派 3B 接MPU6050方法 以及ROS应用(1)_第2张图片

这样我们就知道了,左侧的01,03,05,09分别接到MPU6050上的VCC,SDA,SCL,GND上就行了,断电情况下接上,搞掂。建议万用表测一下不要接错,接到3.3V这一侧。SD卡槽在下且USB在左的方向看过去,GPIO的3.3V是你面朝方向比较远那排的右上。

2、硬件识别。

需要编辑几个文件,用你中意的编辑方式就行,比如这里以VI为例,注意esc键是切换控制指令和输入状态的按键,点i是进入输入模式,esc后输入:wq就是保存并退出,万一搞错了,直接:q就是直接退出不保存。

开整:

sudo vi /etc/modules
//文件的最后写入
i2c-bcm2708
i2c-dev
//保存退出

然后是可选的,把设备解除屏蔽,一块全新的板子可能是没有的。

但去看看没毛病:

sudo vi /etc/modprobe.d/raspi-blacklist.conf

//如果一下设备被屏蔽了,就注释上(#),解除屏蔽
#blacklist spi-bcm2708
#blacklist i2c-bcm2708

接着去树莓派选项里面,把GPIO打开:

sudo raspi-config
//进入interfacing options,进入I2C选项,选yes,开启I2C

可以重启树莓派了 sudo reboot

3、查找设备

树莓派联网状态下

sudo apt-get install i2c-tools //可能你的已经安装了,运行一遍总没错。
sudo i2cdetect -y 1 //这里有点忘记了,也可能是0,最后出来这个就对了
     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: -- -- -- -- -- -- -- --

如果提示:Could not get lock /var/lib/dpkg/lock - open

请看这个帖子,总之就是kill掉占用的https://blog.csdn.net/github_35160620/article/details/51933605

4、测试设备

sudo i2cget -y 0 0x68 0x75

上面的0也可能是1,出现:0x75,就对了。

5、ROS应用,参考

GITHUB已经写好了ROS发送节点。当然了,只想读读测试一下,参考这个应该也可以:

https://blog.csdn.net/lyj19960106/article/details/77719601

上面这个脚本使用的时候需要注意,树莓派3B中好像是python3.0,最显著的区别就是print后面的内容必须用()括号括上,不然会报错。在树莓派里面,可以用自带的python编辑器run->run module就行了。

主要是ROS应用,不多说了,可能要你自己重新编译工作空间的话,可以选择性的只编译这个包就行了。

奇怪的是,我的树莓派尝试了几个ROS包之后不好用,分析了半天也没找到问题所在,于是乎索性换了思路,参见下一篇。

你可能感兴趣的:(ROS小车闭环实现)