SDK 传感器#

SDK 提供多种控制传感器和与传感器通信的方法。

一般说明#

I2C 说明#

I2C 是一种双线串行通信总线,设计用于与多个设备通信。这两根线分别是 SCL(时钟线)和 SDA(数据线)。REV 集线器连接器上还有两个针脚,分别用于连接 3.3V 和 GND。该协议可使用地址寻址多个设备,主设备发送与之通信的地址,然后发送要发送的数据。与之通话的设备随后做出响应。这意味着一个 I2C 端口可以连接任意数量的设备,只要没有两个设备的 I2C 地址相同即可。

I2C 有多种速度规格,但 REV 集线器同时支持 100khz 和 400khz 通信标准。该规格还要求线路上拉,因此 REV 集线器具有双 2.49 kΩ 上拉电阻,无需外部上拉电阻。

小技巧

设备的 I2C 地址一般都是硬编码,即无法更改。请查阅设备数据表,确保将多个 I2C 设备连接在一起时地址不会冲突。

备注

I2C 通常被称为比其他形式的传感器慢。它本身并不慢,但由于 SDK 中 I2C 通信的工作方式,读取一个 I2C 传感器需要多条命令,这意味着 I2C 读取一次的时间可能比数字或模拟读取一次的时间长 2-3 倍。

模拟输入#

读取扩展集线器的输入电压。这些端口是唯一能承受 5V 电压的传感器端口。

数字输入/输出#

数字输入/输出可配置为输入(读取端口的高电平或低电平)或输出(发送高电平或低电平信号)。数字输入为高电平,以防止浮动。

备注

当试图从数字输入引脚读取信号,但信号断开或没有拉高或接地时,就会出现浮动。因此,该引脚被认为是 “浮动” 的,结果可能不一致。为了避免这种情况,需要在端口和 3.3V 之间桥接一个电阻,这样当没有任何连接时,引脚就不会浮动,而是读取高电平。

危险

在为限位开关或其他数字设备布线时,切勿像大多数数据手册建议的那样,将限位开关连接到 3.3V 和数字端口。相反,REV 集线器希望在接地和数字引脚之间建立连接。 在 3.3V 和数字引脚之间连接可能会导致不稳定或集线器死机。