『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 1418|回复: 14

[技术探讨] 请教ESPHome输出PWM的问题

[复制链接]

2

主题

10

帖子

200

积分

中级会员

Rank: 3Rank: 3

积分
200
金钱
190
HASS币
0
发表于 2022-12-13 18:11:01 | 显示全部楼层 |阅读模式
本帖最后由 harrygg 于 2022-12-13 18:14 编辑

请教一下各位,不知道我哪里写的有问题:
我用的板 nodemcuv2 想输出pwm,
开始我是这样写的:


output:
  - platform: esp8266_pwm
    pin: 14
    frequency: 10 Hz
    id: pwm_output

switch:
  - platform: output
    name: "PWM Output"
    output: pwm_output
    restore_mode: RESTORE_DEFAULT_ON
后来我又改成这样:
output:
  - platform: slow_pwm
    pin: 14
    id: pwm_output
    period: 2s


switch:
  - platform: output
    name: "PWM Output"
    output: pwm_output
    restore_mode: RESTORE_DEFAULT_ON

无论我怎么改频率或者管脚,就是没有输出PWM,开关打开就是高电平,关闭就是低电平。

请问这是为什么?我哪里搞错了?
谢谢!





回复

使用道具 举报

13

主题

228

帖子

1586

积分

金牌会员

Rank: 6Rank: 6

积分
1586
金钱
1358
HASS币
10
发表于 2022-12-13 20:39:10 | 显示全部楼层
尝试更改传感器类型为灯或者风扇:
output:
  - platform: esp8266_pwm
    pin: GPIO13
    id: gpio_13
    inverted: true

light:
  - platform: monochromatic
    output: gpio_13
    name: "test yelight"


回复

使用道具 举报

16

主题

211

帖子

1714

积分

论坛技术达人

积分
1714
金钱
1503
HASS币
10
发表于 2022-12-13 20:47:06 | 显示全部楼层
可以让ChatGPT帮你看看
回复

使用道具 举报

2

主题

10

帖子

200

积分

中级会员

Rank: 3Rank: 3

积分
200
金钱
190
HASS币
0
 楼主| 发表于 2022-12-14 09:17:04 | 显示全部楼层
mrlaogui 发表于 2022-12-13 20:39
尝试更改传感器类型为灯或者风扇:
output:
  - platform: esp8266_pwm

忘记说了,灯我也试过,还是开关只有高低电平变化,并没有pwm波形出来
回复

使用道具 举报

2

主题

10

帖子

200

积分

中级会员

Rank: 3Rank: 3

积分
200
金钱
190
HASS币
0
 楼主| 发表于 2022-12-14 11:36:26 | 显示全部楼层
我突然发现了,pwm波形是有的,只是在我打开控制开关的瞬间发出了波形,完了就变成一直高电平了
这是什么道理,为什么不是一直输出波形
回复

使用道具 举报

0

主题

5

帖子

64

积分

注册会员

Rank: 2

积分
64
金钱
59
HASS币
0
发表于 2022-12-14 12:34:01 | 显示全部楼层
你好,请参考手册output.set_level(此操作在执行时将浮点输出设置为给定级别。注意:仅此 适用于 ESP8266 PWM、LEDC 或 等浮点输出。)示例:
on_...:
  then:
    - output.set_level:
        id: light_1
        level: 50%
你之前只是指定了频率,请试试添加这个动作API。
回复

使用道具 举报

2

主题

10

帖子

200

积分

中级会员

Rank: 3Rank: 3

积分
200
金钱
190
HASS币
0
 楼主| 发表于 2022-12-14 15:50:30 | 显示全部楼层
chinahuanqiu 发表于 2022-12-14 12:34
你好,请参考手册output.set_level(此操作在执行时将浮点输出设置为给定级别。注意:仅此 适用于 ESP8266  ...

感谢指点,确实动作要激活才会持续发
我在Switch下面添加就好使了,打开按钮开关就持续输出波形了:
switch:
  - platform: output
    name: "Generic Output"
    output: pwm_output   
    on_turn_on:
      then:
        - output.set_level:
            level: 30%
            id: pwm_output
        - output.esp8266_pwm.set_frequency:
            id: pwm_output
            frequency: 200 Hz
回复

使用道具 举报

2

主题

10

帖子

200

积分

中级会员

Rank: 3Rank: 3

积分
200
金钱
190
HASS币
0
 楼主| 发表于 2022-12-14 15:53:10 | 显示全部楼层
chinahuanqiu 发表于 2022-12-14 12:34
你好,请参考手册output.set_level(此操作在执行时将浮点输出设置为给定级别。注意:仅此 适用于 ESP8266  ...

另外还有一个问题请教,我在官方手册里经常看到
on_...:
...到底是省略的意思呢还是真的有这个指令,我复制到yaml里面编译出错
正确的用法应该是怎样的?
回复

使用道具 举报

0

主题

5

帖子

64

积分

注册会员

Rank: 2

积分
64
金钱
59
HASS币
0
发表于 2022-12-14 17:44:59 | 显示全部楼层
本帖最后由 chinahuanqiu 于 2022-12-14 17:47 编辑

on_..., ...是省略的意思,省略部分一般指动作的具体内容,比如这里的turn_on, 其实这个整体可以理解为对一个特定动作的监听方法, 还有就是不同实体支持的动作也可能不同,希望能帮到您~
回复

使用道具 举报

4

主题

169

帖子

594

积分

高级会员

Rank: 4

积分
594
金钱
425
HASS币
0
发表于 2022-12-14 17:48:07 | 显示全部楼层
harrygg 发表于 2022-12-14 15:53
另外还有一个问题请教,我在官方手册里经常看到
on_...:
...到底是省略的意思呢还是真的有这个指令,我复 ...

动作,跟示例走
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-9 04:50 , Processed in 0.095440 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表