【地平线旭日X3派试用体验】02.外设测试之使用SMBUS读取MPU6050

描述

本文来源电子发烧友社区,作者:james, 帖子地址:https://bbs.elecfans.com/jishu_2302236_1_1.html


1、MPU6050简介
MPU6050是一款由三轴加速度和三轴陀螺仪组成的六轴IMU,可以支持I2CSPI接口读取数据,目前本人手上的MPU6050模块只支持I2C接口,电源5VMPU6050X3派连接图如下图所示。
开发板试用
 
开发板试用
 
2、X3派安装smbus
X3派目前不支持自定义源码编译,所有开发都是基于python环境的,I2C接口默认安装的是i2cdev,可以进入python环境查看I2C模块支持的函数如下图所示。
开发板试用
 
然后由于MPU6050I2C接口读取时序要求如下图,X3P安装的I2C 模块只有readwrite函数无法完成该时序。
开发板试用
 
通过网络了解到很多使用树莓派安装smbus来读取MPU6050的信息,故萌生了在X3派上安装smbus模块来读取MPU6050的数据想法。在安装smbus之前需要将X3派联网,大家可以通过网卡或WIFI,这里我通过WIFI连接的,X3派连接上USB鼠标和键盘就可以和windows上一样操作了。
开发板试用
 
首先使用命令sudo apt-get install -y python3-smbus”来安装smbus,如下图所示。
开发板试用
 
3、MPU6050数据读取
根据MPU6050的手册可知其WHOAMI寄存器的值是一个固定值,一般也会通过这类寄存器来验证通信是否OKWHOAMI寄存器的值为1170x75),MPU6050I2C从机地址为0x68,然后进入python环境直接读取,和逻辑分析仪抓取数据对比,如下图所示。关于SMBUS的用法各位可以自行了解,这里不一一叙述。
开发板试用
 

开发板试用
 
可以看到python环境读取到的ID值和使用逻辑分析仪抓取的一致,且和MPU6050的手册描述的一致,第0位为0, 61位为110100,即ID0x68如下图所示。目前I2C接口使用告一段落了。
开发板试用

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分