首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

利用树莓派驱动九轴姿态传感器

入手一块MPU9250九轴姿态传感器,来折腾看看。九轴具体是指加速度、陀螺仪、 磁场构成九轴姿态跟踪运动,用在航模、机器人、VR等场景,引用一张invensense的图:

芯片实物图如下,该芯片支持i2c总线协议,本次用树莓派i2c接口来驱动。

先来连接模块,接线时只用到上面4针,VCC GND SCL SDA,分别对应树莓派的物理1 9 5 3引脚,接好后上电。

SSH到树莓派,配置树莓派接口,打开i2c, 接口enable即可。

然后在控制台上安装i2c相关工具:

安装python库,smbus

安装好后,先来检测一下设备。看到设备地址0x68,并尝试读取下设备id ,返回 0x71,设备正常工作。

dump下数据:

MPU9250 自带三轴磁力计 AK8963,而且AK8963的i2c地址就在 0x0c,但是上面探测没有发现AK8963,根据手册,这里要开启旁路模式即可:

self.address 是设备地址 0x68,INT_PIN_CFG 是寄存器地址0x37,具体见代码,设置后再次探测,发现AK8963的地址0x0c

这次代码没自己写,芯片的各种设置没完全搞明白,从http://fabo.io/202.html这里找到了一份驱动代码,上述页面末尾有github地址,稍作修改上传到了:

https://github.com/Cat-31/Cat31Driver/blob/master/device/MPU9250.py

测试代码:

https://github.com/Cat-31/Cat31Driver/blob/master/device/MPU9250Test.py

运行结果如下:

数据貌似挺正常的。以上简单记录驱动过程,各种协议、原理等网络上已经很多优秀的帖子,不在赘述。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180125G0O1SI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券