9轴IMU传感器(GY-85 模块) 其实也可以看作三个模块 ITG3205 三轴陀螺仪传感器 ADXL345 三轴加速度倾角传感器 HMC5883L 电子罗盘
GY-85模块的接口是i2c, 可以方便的和arduino/树莓派链接.
准备工作
确保系统安装了quick2wire库,如果没有,移步这里 http://www.cnblogs.com/hangxin19 ... /04/04/2999015.html
在合适的目录下载thinkbowl的i2clibraries库
- git clone https://bitbucket.org/thinkbowl/i2clibraries.git
复制代码
此i2clibraries库恰好包含了ITG3205 ADXL345 HMC5883L 这三种传感器接口,很方便开发,要注意的是 i2c_itg3205.py接口中,默认对应 ITG3205设备地址为69,为了以后省事,将相关注释下面的代码做更改
- # Address will always be either 0x68 (104) or 0x69 (105)
- def __init__(self, port, addr=0x68): #这里的addr改为68, 原值为69
复制代码
连接
这张图指明了两排GPIO真脚中5V输出与3.3V输出的位置,用以指明方向
这张图具体说明了GY-85的真脚与树莓派GPIO/I2C针角的连接方式
虽然GY-85有8个真脚,但用到的也只有四个
测试
运行i2cdetect查看当前所连接的i2c设备 树莓派A型:
sudo i2cdetect -y 0
树莓派B型:
sudo i2cdetect -y 1
将会看到所有已经连接的i2c设备的地址
获取 HMC5883L 电子罗盘信息
更多信息请移步 http://think-bowl.com/raspberry- ... h-the-raspberry-pi/ 新建脚本i2c_hmc5883l.py
- from i2clibraries import i2c_hmc5883l
- hmc5883l = i2c_hmc5883l.i2c_hmc5883l(0)
- hmc5883l.setContinuousMode()
- hmc5883l.setDeclination(9,54)
- print(hmc5883l)
复制代码
输出
Axis X: -114.08
Axis Y: -345.92
Axis Z: -286.12
Declination: 9° 54'
Heading: 261° 39'
hack it!
上面示例代码很简单,但通过i2clibraries与上面示例代码,我们足以开发自己的应用了. |