跳转到内容

SN74HC595 I/O 扩展器(移位寄存器)

SN74HC595 组件允许你将 SN74HC595 移位寄存器用作 I/O 扩展器 (数据手册, SparkFun)。它使用 3 根导线(可选 4 根)进行通信。还可以将其添加到 SPI 总线上,以便与其他组件共享引脚。

配置完成后,你可以将 8 个引脚中的任何一个用于项目。最多可以将 256 个移位寄存器串联,以提供更多引脚,而不会占用控制器上更多的 GPIO 引脚。

使用 OE 引脚是可选的。如果使用,该引脚应在外部上拉。

SN74HC595 I/O 扩展器(移位寄存器)。

该组件可以使用 GPIO 引脚 或 SPI 总线 配置。

# 示例配置条目
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。
# 示例配置条目
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。