SN74HC595 I/O 扩展器(移位寄存器)
SN74HC595 组件允许你将 SN74HC595 移位寄存器用作 I/O 扩展器 (数据手册, SparkFun)。它使用 3 根导线(可选 4 根)进行通信。还可以将其添加到 SPI 总线上,以便与其他组件共享引脚。
配置完成后,你可以将 8 个引脚中的任何一个用于项目。最多可以将 256 个移位寄存器串联,以提供更多引脚,而不会占用控制器上更多的 GPIO 引脚。
使用 OE 引脚是可选的。如果使用,该引脚应在外部上拉。

通过 GPIO
Section titled “通过 GPIO”# 示例配置条目sn74hc595: - id: 'sn74hc595_hub' data_pin: GPIOXX clock_pin: GPIOXX latch_pin: GPIOXX oe_pin: GPIOXX sr_count: 2
# 单独的输出switch: - platform: gpio name: "SN74HC595 Pin #0" pin: sn74hc595: sn74hc595_hub # 使用引脚编号 0 number: 0 inverted: false- id (必选, ID): 用于此 SN74HC595 组件的 id。
- data_pin (必选, Pin Schema): 连接到 SN74HC595 SER(SD)输入引脚的引脚。
- clock_pin (必选, Pin Schema): 连接到 SN74HC595 SRCLK(SH_CP)引脚的引脚
- latch_pin (必选, Pin Schema): 连接到 SN74HC595 RCLK(ST_CP)引脚的引脚
- oe_pin (可选, Pin Schema): 连接到 SN74HC595 OE 引脚的引脚
- sr_count (可选, int): 串联移位寄存器的数量,最多 256 个。默认为
1。
通过 SPI
Section titled “通过 SPI”# 示例配置条目sn74hc595: - id: 'sn74hc595_hub' type: spi latch_pin: GPIOXX oe_pin: GPIOXX sr_count: 2- id (必选, ID): 用于此 SN74HC595 组件的 id。
- spi_id (必选, SPI Bus Schema): 要使用的 SPI 总线。如果只有一个 SPI 总线,会自动设置为该总线的 ID。
- type (必选, string): 必须为
spi。 - latch_pin (必选, Pin Schema): 连接到 SN74HC595 RCLK(ST_CP)引脚的引脚
- oe_pin (可选, Pin Schema): 连接到 SN74HC595 OE 引脚的引脚
- sr_count (可选, int): 串联移位寄存器的数量,最多 256 个。默认为
1。
# 单独的输出switch: - platform: gpio name: "SN74HC595 Pin #0" pin: sn74hc595: sn74hc595_hub # 使用引脚编号 0 number: 0 inverted: false- sn74hc595 (必选, ID): 引脚所属的 SN74HC595 组件的 id。
- number (必选, int): 引脚编号。
- inverted (可选, boolean): 是否应将所有写入的值视为反相。默认为
false。