查看: 371|回复: 8

[求助问答] Huskylens 设置成I2C通信时和OLED有冲突, Arduino上无法正常工作

[复制链接]
各位帮忙看看是什么问题?谢谢!

硬件设备:Arduino_UNO, Huskylens , OLED.
软件:Mind+_V1.6.2 RC2.0.

硬件连接:Huskylens , OLED 都挂在UNO的I2C上。

问题:
在Microbit平台,运行正常,没有任何问题。
但在Arduino平台,Huskylens 设置成I2C通信时,和OLED有冲突,造成设备无法工作。

现象:
1. 哈士奇和OLED的I2C地址都可以读到,但哈士奇的I2C初始化积木中I2C地址和读取到的地址不一致,且无法更改。没有做任何设置时,读取到的哈士奇的I2C地址是0x32。
哈士奇初始化积木中有个无法更改的I2C地址:0x55,使用后再次读取I2C地址,还是显示0x32.
202003082404..png 202003089318..png

2. 一旦把OLED显示命令加上去,就没有任何调试信息打印,当然OLED也没有任何显示。
即使把哈士奇的编程积木去掉,只要把哈士奇挂在I2C总线上,程序就没往下走。
202003086093..png

3. 为了做对比,把Huskylens和OLED都挂在Micron:bit的I2C上,发现运行正常。
202003089501..png
4.Arduino:代码和Micro:bi几乎完全一样(比较了code,调用的头文件和运行代码一模一样),但运行功能异常,整个系统无法工作。
202003086634..png


帅猫  中级技师

发表于 2020-3-8 14:50:07

OLED也要初始化I2C地址的好咩?
回复

使用道具 举报

Forgotten  版主

发表于 2020-3-8 21:05:04

估计两个干扰了
回复

使用道具 举报

lthirty  见习技师
 楼主|

发表于 2020-3-8 21:34:40

帅猫 发表于 2020-3-8 14:50
OLED也要初始化I2C地址的好咩?

恩,是有OLED初始化I2C地址的积木。不过试了下,OLED的I2C地址设置积木用不用都不会影响OLED的正常工作。而且,无论加不加OLED的I2C初始化,都会挂死。。。
单独连线测试都没问题,但两个连在一起就有问题。
而且在arduino上有问题,但在microbit上又没有问题。。。
回复

使用道具 举报

lthirty  见习技师
 楼主|

发表于 2020-3-8 21:44:18

本来哈士奇走模拟串口,OLED走I2C没有冲突,都能正常工作。
但后来加两个舵机做2自由度的云台,做自动跟踪的时候,发现舵机会乱抖动。估计哈士奇的模拟串口使用了定时器,导致影响到控制舵机的信号。
所以就想着把哈士奇也走I2C,没想到竟然直接挂死。

在mircobit上做了对比,两个都走I2C的话又没有任何问题。翻了下论坛,把哈士奇挂在I2C上的方案用的都是microbit,所以想来看看有没一样用arduino的兄弟。
回复

使用道具 举报

帅猫  中级技师

发表于 2020-3-9 16:59:29

分别测出HUSKYLENS和OLED的I2C地址再分别初始化,
最简单的方法是把HUSKYLENS设成UART模式
回复

使用道具 举报

白鹤人  学徒

发表于 2020-3-14 18:48:07

我的huskylens + arduino uno  使用i2c  连地址都扫描不到?楼主遇到过没?怎么搞呢?
回复

使用道具 举报

lthirty  见习技师
 楼主|

发表于 2020-3-21 11:14:26

我的huskylens + arduino uno单独连接I2C和UART都没有问题。同一个连线换成其他I2C设备试试看,排除下连接的问题
回复

使用道具 举报

gada888  版主

发表于 2020-3-27 10:06:48

假如你的OLED也是IIC接口的话,那就不应该有冲突。他们的地址码是不一样的,理论上说IIC口可以连128个设备
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail