极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17929|回复: 6

ardunio uno连接多个I2C器件

[复制链接]
发表于 2013-7-31 14:53:44 | 显示全部楼层 |阅读模式
现在是想在一块uno的板子上连接多个mpu6050的传感器,请问我具体要怎么做。
我这边看到几个帖子,讲的是如何连接mpu6050,还看了黑马的自平衡小车连接几个不同的I2C传感器。

我想知道我这边具体怎么连线怎么写才能实现连多个相同I2C器件。
回复

使用道具 举报

发表于 2013-7-31 15:19:58 | 显示全部楼层
IIC协议大概是这样的通信顺序:
Wire.beginTransmission(deviceaddress);
Wire.write(address);
Wire.write(val);
Wire.endTransmission();


第一句话就是选择一个器件,你要有多个IIC器件的话要让每个器件的地址(deviceaddress)不一样才行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-7-31 16:24:16 | 显示全部楼层
zgzjpazyc 发表于 2013-7-31 15:19
IIC协议大概是这样的通信顺序:
Wire.beginTransmission(deviceaddress);
Wire.write(address);

嗯 问题是要是相同的器件 IIC默认的地址貌似是一样的 请问懂不懂怎么去修改?
回复 支持 反对

使用道具 举报

发表于 2013-7-31 17:02:48 | 显示全部楼层
mpu6050可以设定地址的(硬件设定);

高七位地址当中,前四位是不变的(同一器件时),后三位则是可以自由组合的,所以同一I2C口,如果接MPU6050的话,你可以最多接8个!!!!!
回复 支持 反对

使用道具 举报

发表于 2013-7-31 19:51:18 | 显示全部楼层
能设置最后三位吗?如果能设置才能区分。自由地址对八个都一样,因此区分不了。
回复 支持 反对

使用道具 举报

发表于 2013-7-31 19:52:48 | 显示全部楼层
关于6050记得在硬件上有个片选,多个使用可以利用这个特点。
回复 支持 反对

使用道具 举报

发表于 2013-7-31 20:02:02 | 显示全部楼层


最佳答案





林定祥 查看完整内容

在网上搜一下可以找到mpu5060的中文说明,其中说到可以同时使用两片,方法是同样的地址,但对pin9置高置低来完成偏选,因此推论只要控制pin9就可以进行多片同时使用。不过这相当于多片轮询速度是否能跟上需要你估计了。


回帖推荐





darkorigin 查看楼层

源地址:http://wenku.baidu.com/view/95b01eb5960590c69ec376a3.html 从上表上看,6050只有一个ADD0脚.也就是说 一个IIC总线上最多接2个MPU6050, IIC通讯建议你看看精华区, 就好像IP地址一样, 唯一不同的是,IP地址是可以自由指定的,IIC地址一般是通过硬件地址来指定的,1个脚,意味着只能用2个地址其中的一个 访问的时候,要用到这个地址才能访问这个器件,地址不对 其他硬件是不会响应的,这就是为啥IIC可以同时并联N多设备而不 ...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-5 03:17 , Processed in 0.038488 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表