跳转到内容

PCA9554 I/O 扩展器

PCA9554 组件允许您在 ESPHome 中使用各种德州仪器 I/O 扩展器,使用 I²C 总线 进行通信。

经测试可与该组件配合使用的设备包括 PCA9554PCA9554APCA9536PCA9535。 具有相同命令接口且最多 16 个 I/O 引脚的等效 TI I/O 扩展器,如 TCA9554TCA9535 也应该可以工作。

PCA9554A I/O 扩展器芯片

配置完成后,您可以将 16(PCA9535)、8(PCA9554、PCA9554A)或 4(PCA9536)个引脚中的任何一个 用于您的项目。在 ESPHome 中,它们模拟真实的内部 GPIO 引脚 ,因此可以与许多 ESPHome 组件一起使用,如 GPIO 二进制传感器或 GPIO 开关。

NOTE

7 位 I²C 设备地址范围为:

  • PCA9554 和 PCA9535:0x200x27
  • PCA9554A:0x380x3F
  • PCA9536:0x41

对于 PCA9535、PCA9554 和 PCA9554A,I²C 设备地址的实际选择取决于 3 个地址引脚的状态。 请参阅页面底部链接的各个数据手册以获取设置地址的更多详细信息。

同一 I²C 总线上最多可以有八个 PCA9535 或 PCA9554,以及另外八个 PCA9554A 设备。 请注意,由于 PCA9536 地址固定,每个 I²C 总线只允许一个 PCA9536 设备。

PCA9535 提供 16 位 GPIO(引脚编号 0-15)。

PCA9554 和 PCA9554A 提供 8 位 GPIO(引脚编号 0-7)。

PCA9536 提供 4 位 GPIO(引脚编号 0-3)。

任何接受引脚模式的选项理论上都可以使用,但一些 通过此 I/O 扩展器进行通信的更复杂组件将无法工作。

# 示例配置条目
pca9554:
- id: 'pca9554a_device'
address: 0x38
# 单个输出
switch:
- platform: gpio
name: "PCF9554A Pin #0"
pin:
pca9554: pca9554a_device
# 使用引脚编号 0
number: 0
# INPUT 或 OUTPUT 之一
mode:
output: true
inverted: false
  • id (必需, ID): 用于此 pca9554 组件的 id。

  • address (可选, 整数): 驱动器的 I²C 地址。 默认为 0x20

  • pin_count (可选, 整数): 扩展器中实现的位数。默认为 8。使用 PCA9535 时应设置为 16,使用 PCA95367 时应设置为 4。

NOTE

除非将 pin_count 设置为 16,否则 PCA9535 将无法工作(即使在低 8 位上)。

  • pca9554 (必需, ID): 引脚的 pca9554 组件的 id。

  • number (必需, 整数): 引脚编号。

  • inverted (可选, 布尔值): 是否将所有读取和写入的值 视为反转。默认为 false

  • mode (可选, 字符串): 要为引脚设置的引脚模式。INPUTOUTPUT 之一。