我的Arduino无法在Matlab中识别任何I2C地址

时间:2018-07-17 17:56:10

标签: matlab arduino

我有一个Arduino Uno,我正在尝试通过MatLab中的计算机将I2C传感器连接到它。我已经根据设备的规格对其进行了布线,其中SDA线位于引脚A4,SCL线位于引脚A5。

Matlab建议为Arduino创建一个对象,然后扫描I2C地址,如下所示:

a=arduino()
addrs=scanI2Cbus(a,0)

应返回带有I2C地址的1x1单元阵列。但是,当我运行此代码时,我得到一个空的0x0单元数组。有谁知道为什么会这样吗?谢谢!

1 个答案:

答案 0 :(得分:0)

我从未通过MATLAB与Arduino合作,但是我可以提出一些建议。为了帮助您可以告诉我们您使用的是哪种传感器。

  • Arduino上的固件是否正确?
  • 您确定Arduino是否正确连接(检查DeviceManager)。
  • 您是否确定传感器连接正确(SDA和SCL),并且已打开电源?
  • Arduino和传感器之间的电线多长时间? I2C线不能太长。最好将其保持在200mm以下。
  • 您的I2C线路上是否有上拉电阻?这可以由Arduino在内部完成。
  • Arduino和传感器都可以在同一电压下工作吗? 5V或3.3V?

第二轮:

  • 您是否通过测试模拟输出来检查传感器是否正在运行? Quick Start Guide Step 1.
  • 您是否按照提到的Guide中的说明执行了Arduino的所有步骤和信息?
  • 上拉电阻可能是个问题。它们在任何I2C设置中都是必需的,但是大多数处理器(如Arduino)都具有内置上拉电阻。一个简单的检查就是用万用表探测I2C线,并确保它们是5V。这将意味着生产线上的某个地方上拉。
  • 您是否尝试过使用他们提供的软件运行它? SingleTact数据采集软件。看来该软件将与Arduino聊天,而Arduino随后又与传感器聊天。