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

 找回密码
 立即注册
查看: 1901|回复: 3

[技术探讨] 用EC11旋转编码器来调速直流小风扇

[复制链接]

20

主题

122

帖子

790

积分

高级会员

Rank: 4

积分
790
金钱
668
HASS币
0
发表于 2023-4-6 18:10:55 | 显示全部楼层 |阅读模式
各位大佬:    我用EC11旋转编码器来给5V风扇进行调速,现在是,旋转编码器感觉非常迟钝,选一下等几分钟才跳变,稍微拧多点,8266就死机了,可以帮忙看看代码吗?


esphome:
  name: puzi-fan                    #定义名称,全局域网中不能重复
  platform: ESP8266                                 #芯片类型
  board: esp01_1m                                   #芯片具体型号
  esp8266_restore_from_flash: yes                   #保存状态  

wifi:                                               #配置wifi
  ssid: "******"
  password: "******"
  reboot_timeout: 0s                                #默认为15分钟重启一次,设定为0s,则不重启
  fast_connect: True                                #快速连接,不扫描信号,上电3秒连接WIFI成功

  manual_ip:
    static_ip: 192.168.110.131                      #采用固定IP,已免起冲突
    gateway: 192.168.110.1
    subnet: 255.255.255.0  

  ap:                                              #在没有连上wifi的情况下释放热点,在没有连接上wifi的情况下,可以使用热点进行配网
    ssid: "puzi-fan"                       #使用在什么地方,可以已此命名
    password: "12345678"

web_server:                                        #通过http服务访问设备,一般在调试完成正式部署时候注释掉这部分
    port: 80

logger:                                            #日志文件

api:

ota:                                               #在线升级固件



#代码开始

output:
  - platform: esp8266_pwm
    pin: RX   
    frequency: 15000 Hz
    id: pwm_output

fan:
  - platform: speed
    id: fan_speed
    output: pwm_output
    speed_count: 100
    name: "开关"   


number:
  - platform: template
    icon: "mdi:fan"
    id: speed_input
    name: "风速"
    lambda: |-
      return id(fan_speed).speed;
    step: 1
    min_value: 30
    max_value: 100
    unit_of_measurement: "%"
    update_interval: 1s
    set_action:
      then:
        - fan.turn_on:
            id: fan_speed
            speed: !lambda "return x;"
#        - component.update: fanmode
        - component.update: sensor_fanspeed


sensor:
  - platform: template
    id: sensor_fanspeed
    icon: "mdi:fan"
    name: "风扇速度"
    lambda: |-
      return id(fan_speed).speed;
    update_interval: 1s
    accuracy_decimals: 0
    unit_of_measurement: "%"

#用EC11旋转编码器来进行开关调速

  - platform: rotary_encoder    #增加一个旋转编码器
    name: "Rotary Encoder"      #旋转编码器名称
    pin_a: 2                  #旋转编码器步长第一个引脚
    pin_b: TX                   #旋转编码器步长第二个引脚
    resolution: 4             #旋转编码器拧一次步长
    min_value: 0                #旋转编码器最小值
    max_value: 80           #旋转编码器最大值
    publish_initial_value: true #旋转编码器启动显示上一次步长值   
    id: rotary1

    on_clockwise:
      then:
        - logger.log: "Turned Clockwise"
        - fan.cycle_speed: fan_speed
    on_anticlockwise:
      then:
        - logger.log: "Turned Anticlockwise"  
        - fan.cycle_speed: fan_speed

#按压旋转编码器关闭

binary_sensor:
  - platform: gpio   
    id: button_1
#    name: wulikaiguan
    pin:
      number: 0   #接GIO0脚和gnd线与EC11开关脚
      inverted: True
      mode: INPUT_PULLUP
    filters:
       - delayed_on_off: 100ms      
    on_press:      
        then:
        - fan.toggle: fan_speed






微信截图_20230406180908.png
微信截图_20230406180922.png
回复

使用道具 举报

3

主题

185

帖子

3353

积分

论坛元老

Rank: 8Rank: 8

积分
3353
金钱
3168
HASS币
0
发表于 2023-4-6 20:26:21 来自手机 | 显示全部楼层
pwm频率调小点试试
回复

使用道具 举报

20

主题

122

帖子

790

积分

高级会员

Rank: 4

积分
790
金钱
668
HASS币
0
 楼主| 发表于 2023-4-7 09:59:05 | 显示全部楼层
搞定了,旋转编码器需要定义活动状态  - platform: rotary_encoder    #增加一个旋转编码器
    name: "Rotary Encoder"      #旋转编码器名称
#    pin_a: 2                  #旋转编码器步长第一个引脚
    pin_a:
      number: 2
      inverted: true
      mode:
         input: true
         pullup: true


#    pin_b: TX                   #旋转编码器步长第二个引脚
    pin_b:
      number: TX
      inverted: true
      mode:
         input: true
         pullup: true

    resolution: 4             #旋转编码器拧一次步长
    min_value: 0                #旋转编码器最小值
    max_value: 80           #旋转编码器最大值
    publish_initial_value: true #旋转编码器启动显示上一次步长值   
    id: rotary1

    on_clockwise:
      then:
        - logger.log: "Turned Clockwise"
        - fan.cycle_speed: fan_speed
回复

使用道具 举报

20

主题

122

帖子

790

积分

高级会员

Rank: 4

积分
790
金钱
668
HASS币
0
 楼主| 发表于 2023-4-7 11:07:41 | 显示全部楼层
还有一个问题,esphome中只有增加风速,有没有减少风速的东西呢?哎!
微信截图_20230407110610.png
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 22:42 , Processed in 0.071965 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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