跳转到内容

慢速 PWM 输出

与 PWM 类似,慢速 PWM 输出平台允许您通过在较长时间周期内脉冲开启/关闭来控制 GPIO 引脚。它可用于通过继电器控制加热元件,在这种情况下,快速 PWM 更新周期不合适。

NOTE

这是慢速 PWM 输出。对于快速开关 PWM 输出(例如灯光),请参阅这些输出:

# 示例配置条目
output:
- platform: slow_pwm
pin: GPIOXX
id: my_slow_pwm
period: 15s
  • id (必填, ID):此输出组件使用的 id。

  • period (必填, 时间):每个周期的持续时间。(例如,10s 周期在 50% 占空比下,引脚将开启 5s,然后关闭 5s)

  • pin (可选, 引脚架构):要脉冲的引脚。

  • state_change_action (可选, 自动化):负载切换时执行的自动化。如果使用 lambda,布尔值 state 参数保存新状态。

  • turn_on_action (可选, 自动化):负载开启时执行的自动化。可用于控制例如开关或输出组件。

  • turn_off_action (可选, 自动化):负载关闭时执行的自动化。turn_on_actionturn_off_action 必须一起配置。

  • restart_cycle_on_state_change (可选, 布尔值):设置新状态时重新启动周期计时器。 默认为 false

  • 所有其他选项来自 Output

NOTE

  • 如果定义了 pin,GPIO 引脚状态会在执行任何动作之前写入。
  • state_change_actionturn_on_action /turn_off_action 可以一起使用。state_change_actionturn_on_action /turn_off_action 之前调用。建议使用 state_change_actionturn_on_action /turn_off_action 之一来更改输出状态。同时使用两个自动化仅建议用于监控。
output:
- platform: slow_pwm
id: my_slow_pwm
period: 15s
turn_on_action:
- lambda: |-
auto *out1 = id(output1);
out1->turn_on();
turn_off_action:
- output.turn_off: output1

NOTE

如果占空比不受最大值限制,Sigma Delta 输出组件提供更快的更新和对开关频率的更大控制。这更适合需要在开和关之间完全切换需要一些时间的负载,如电热执行器头或风扇。