PWM and DAC Actions
About 2 min
PWM and DAC Actions
Synchronized Device Documentation
This page corresponds to the synchronized Chinese source. Commands, JSON examples, API paths, field names, and screenshots are kept aligned with the Chinese device-side source documentation.
What This Page Covers
- PWM and DAC Actions context and expected reader workflow.
- Configuration, verification, and release-readiness details.
- Source-aligned implementation notes, screenshots, and troubleshooting references.
Source Reference
The detailed operational source is preserved below so implementation details stay exact while the English navigation, titles, and reading path remain available.
PWM / DAC 动作
动作类型
| 动作 | actionType | 说明 |
|---|---|---|
| ACTION_SET_PWM | 4 | 设置 PWM 占空比 |
| ACTION_SET_DAC | 5 | 设置 DAC 输出值 |
配置示例
方式1:Web界面配置(推荐)
外设执行页面如下。PWM/DAC 动作配置时重点核对目标外设、占空比范围和是否使用触发接收值。
示例1:设置 PWM 占空比(LED调光)
场景:设置LED亮度为50%(占空比128/255)
配置步骤:
在外设执行管理页面编辑规则
点击 添加动作 按钮
填写动作配置:
字段 填写内容 说明 动作类型 选择 设置PWM PWM输出 目标外设 选择 led_pwmPWM输出外设 占空比值 1288位分辨率0-255 点击 保存 按钮
💡 提示:占空比范围取决于外设配置的pwmResolution:8位→0255,12位→04095
示例2:使用接收值动态设置PWM
场景:根据平台下发的值动态控制电机速度
配置步骤:
编辑规则,添加动作
填写:
- 动作类型:选择 设置PWM
- 目标外设:选择
motor_pwm - 使用接收值:✅ 启用
- 说明:触发时传入的值将作为PWM值
点击 保存
💡 提示:启用“使用接收值”后,平台下发[{"id":"motor_pwm","value":"200"}]会直接设置为PWM值
示例3:设置 DAC 输出值
场景:设置DAC输出电压(ESP32仅GPIO25/26支持)
配置步骤:
编辑规则,添加动作
填写:
- 动作类型:选择 设置DAC
- 目标外设:选择
dac1 - 输出值:
200(范围0-255,8位分辨率)
点击 保存
💡 提示:ESP32 DAC为8位,值0-255对应电压0-3.3V
方式2:JSON配置文件导入
适用外设类型
| 动作 | 适用外设 type |
|---|---|
| ACTION_SET_PWM | GPIO_PWM_OUTPUT(17), PWM_SERVO(41) |
| ACTION_SET_DAC | DAC(27) |
注意事项
- PWM 范围:超出分辨率范围的值会被限制到最大值
- DAC 引脚:ESP32 仅 GPIO 25/26 支持 DAC 输出
- 舵机控制:PWM_SERVO 外设通过 ACTION_SET_PWM 设置角度对应的脉宽值
