MCP230xx I/O 扩展器
Microchip MCP230xx 系列是用于 I²C 总线应用的通用并行 I/O 扩展器。
支持的变体:
MCP23008 组件
Section titled “MCP23008 组件”MCP23008 组件(数据手册、 Adafruit)有 8 个可独立配置的 GPIO。
# 示例配置条目mcp23008: - id: 'mcp23008_hub' address: 0x20
# 单独输出switch: - platform: gpio name: "MCP23008 Pin #0" pin: mcp23xxx: mcp23008_hub # 使用引脚编号 0 number: 0 mode: output: true inverted: false
# 单独输入binary_sensor: - platform: gpio name: "MCP23008 Pin #1" pin: mcp23xxx: mcp23008_hub # 使用引脚编号 1 number: 1 # INPUT 或 INPUT_PULLUP 之一 mode: input: true inverted: false-
id (必需, ID):此 MCP23008 组件使用的 ID。
-
address (可选, int):驱动器的 I²C 地址。 默认为
0x20。 -
open_drain_interrupt (可选, boolean):将中断引脚配置为开漏模式。 当 MCP23008 的电源电压大于 3.3 伏时很有用。请注意,启用此模式时, 此引脚需要上拉电阻(接到 3.3 伏)。
引脚配置变量
Section titled “引脚配置变量”-
mcp23xxx (必需, ID):MCP23008 组件的 ID。
-
interrupt (可选):将此引脚设置为触发组件上的 INT 引脚。可以是
CHANGE、RISING、FALLING之一。 -
number (必需, int):引脚编号。
-
inverted (可选, boolean):是否将所有读取和写入的值 视为反转。默认为
false。 -
mode (可选, string):为引脚设置的引脚模式。
INPUT或OUTPUT之一。
MCP23016 组件
Section titled “MCP23016 组件”MCP23016 组件(数据手册) 有 16 个 GPIO,可以像其他变体一样进行配置。
NOTE
此设备不支持 ‘INPUT_PULLUP’ 模式。
# 示例配置条目mcp23016: - id: 'mcp23016_hub' address: 0x20
# 单独输出switch: - platform: gpio name: "MCP23016 Pin #0" pin: mcp23016: mcp23016_hub # 使用引脚编号 0 number: 0 mode: output: true inverted: false
# 单独输入binary_sensor: - platform: gpio name: "MCP23016 Pin #1" pin: mcp23016: mcp23016_hub # 使用引脚编号 1 number: 1 mode: input: true inverted: false- id (必需, ID):此 MCP23016 组件使用的 ID。
- address (可选, int):驱动器的 I²C 地址。
默认为
0x20。
引脚配置变量
Section titled “引脚配置变量”MCP23017 组件
Section titled “MCP23017 组件”MCP23017 组件允许您在 ESPHome 中使用 MCP23017 I/O 扩展器 (数据手册、 Adafruit)。 它使用 I²C 总线 进行通信。
配置完成后,您可以将 16 个引脚中的任何一个用于您的项目。在 ESPHome 中,它们模拟真正的内部 GPIO 引脚,因此可以与 ESPHome 的许多组件一起使用,如 GPIO 二值传感器或 GPIO 开关。
数据手册中的 GPIO 引脚标记为 A0 到 A7 和 B0 到 B7,在此组件中连续映射为 0 到 15 的编号。
# 示例配置条目mcp23017: - id: 'mcp23017_hub' address: 0x20
# 单独输出switch: - platform: gpio name: "MCP23017 Pin A0" pin: mcp23xxx: mcp23017_hub # 使用引脚 A0 number: 0 mode: output: true inverted: false
# 单独输入binary_sensor: - platform: gpio name: "MCP23017 Pin B7" pin: mcp23xxx: mcp23017_hub # 使用引脚 B7 number: 15 # INPUT 或 INPUT_PULLUP 之一 mode: input: true pullup: true inverted: false-
id (必需, ID):此 MCP23017 组件使用的 ID。
-
address (可选, int):驱动器的 I²C 地址。 默认为
0x20。 -
open_drain_interrupt (可选, boolean):将中断引脚配置为开漏模式。 当 MCP23017 的电源电压大于 3.3 伏时很有用。请注意,启用此模式时, 这些引脚需要上拉电阻(接到 3.3 伏)。