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

 找回密码
 立即注册
楼主: 924215947

[技术探讨] 怎么利用编码器和ESPHOME制作一个led调光并输出设备

[复制链接]

4

主题

57

帖子

277

积分

论坛分享达人

积分
277
金钱
220
HASS币
10
发表于 2020-5-12 22:26:19 | 显示全部楼层
本帖最后由 lfp136 于 2020-5-12 22:27 编辑

编码器按传感器方式创建:https://esphome.io/components/sensor/rotary_encoder.html#see-also
sensor:
  - platform: rotary_encoder
    name: "Rotary Encoder"
    pin_a: D1
    pin_b: D2
    id: my_dimlevel
    min_value: 1
    max_value: 100

第二步,加入调节后,反馈到灯的变化:

    on_value:
      then:
         - light.control:
            id: Light(你的灯ID)
            state: on
            brightness: !lambda |-
              // output value must be in range 0 - 1.0
              return  id(my_dimlevel).state/100.0;    
 

这样,应该就可以了。
回复

使用道具 举报

6

主题

292

帖子

2098

积分

金牌会员

Rank: 6Rank: 6

积分
2098
金钱
1806
HASS币
0
QQ
 楼主| 发表于 2020-5-13 23:28:27 | 显示全部楼层
lfp136 发表于 2020-5-12 22:26
编码器按传感器方式创建:https://esphome.io/components/sensor/rotary_encoder.html#see-also

第二步, ...

好的 我试试  今天测试了你发的 我这边测试不够稳定  不知道是什么原因  调光会自动调整  
回复

使用道具 举报

4

主题

57

帖子

277

积分

论坛分享达人

积分
277
金钱
220
HASS币
10
发表于 2020-5-14 23:40:49 | 显示全部楼层
924215947 发表于 2020-5-13 23:28
好的 我试试  今天测试了你发的 我这边测试不够稳定  不知道是什么原因  调光会自动调整   ...

编码器A-B脚对VCC加10K电阻,对地并一个1NF电容试试
回复

使用道具 举报

6

主题

292

帖子

2098

积分

金牌会员

Rank: 6Rank: 6

积分
2098
金钱
1806
HASS币
0
QQ
 楼主| 发表于 2020-5-15 20:11:38 | 显示全部楼层
lfp136 发表于 2020-5-14 23:40
编码器A-B脚对VCC加10K电阻,对地并一个1NF电容试试

测试还是一样的  不知道啥情况
回复

使用道具 举报

7

主题

367

帖子

2119

积分

金牌会员

Rank: 6Rank: 6

积分
2119
金钱
1752
HASS币
0
发表于 2020-6-27 11:02:26 | 显示全部楼层
您好  我用的是EC11编码器,不知道为什么按照官方文档接入之后 AB加10K上拉和1nf电容可以正确识别 但是为什么正反转  并不是正传增加或者减少  而是无论正反转都持续一个状态
回复

使用道具 举报

7

主题

367

帖子

2119

积分

金牌会员

Rank: 6Rank: 6

积分
2119
金钱
1752
HASS币
0
发表于 2020-6-27 15:41:39 | 显示全部楼层
本帖最后由 bjy2005 于 2020-6-27 15:43 编辑

已经可以初步实现调光了,用的EC11编码器5点的  编码器A B分别接10K上拉到5V ,同时通过1nf电容到GND(看论坛朋友提示) 。 COM接GND  。
本人也是小白一个希望大神指点    这个调光灯光亮度是从1到100.  LED起亮点是从7开始(低于7LED驱动不起来应该)具体分度可以自己设置
sensor:
  - platform: rotary_encoder
    name: "Rotary Encoder"
    pin_a: D1
    pin_b: D2
    min_value: 1
    max_value: 100
    resolution: 1
    id: ec11
    on_value:
      then:
         - light.control:
            id: led
            state: on
            brightness: !lambda |-
              return  id(ec11).state/100.0;    

output:
  - platform: esp8266_pwm
    pin: D0
    id: pwm
#    power_supply: relay
    

light:
  - platform: monochromatic
    name: "text"
    output: pwm
    id: led




回复

使用道具 举报

6

主题

292

帖子

2098

积分

金牌会员

Rank: 6Rank: 6

积分
2098
金钱
1806
HASS币
0
QQ
 楼主| 发表于 2020-7-3 13:44:08 | 显示全部楼层
bjy2005 发表于 2020-6-27 15:41
已经可以初步实现调光了,用的EC11编码器5点的  编码器A B分别接10K上拉到5V ,同时通过1nf电容到GND(看论 ...

xiexie wo kankan
回复

使用道具 举报

6

主题

292

帖子

2098

积分

金牌会员

Rank: 6Rank: 6

积分
2098
金钱
1806
HASS币
0
QQ
 楼主| 发表于 2020-7-3 14:24:34 | 显示全部楼层
bjy2005 发表于 2020-6-27 15:41
已经可以初步实现调光了,用的EC11编码器5点的  编码器A B分别接10K上拉到5V ,同时通过1nf电容到GND(看论 ...

完整的代码有没有
回复

使用道具 举报

7

主题

367

帖子

2119

积分

金牌会员

Rank: 6Rank: 6

积分
2119
金钱
1752
HASS币
0
发表于 2020-7-3 21:09:05 | 显示全部楼层
924215947 发表于 2020-7-3 14:24
完整的代码有没有

这个基本就是完整代码了 前面加上esphome 的 开头配置就可以  了 。  这个传感器是1~100可调。  然后LED输出通过8266pwm  输出
回复

使用道具 举报

7

主题

367

帖子

2119

积分

金牌会员

Rank: 6Rank: 6

积分
2119
金钱
1752
HASS币
0
发表于 2020-7-3 21:10:32 | 显示全部楼层
924215947 发表于 2020-7-3 14:24
完整的代码有没有

我还在试验。。 现在可以实现编码旋转、单击和双击EC11带的开关。。。    按压同时调整编码 还是搞不定。。。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 23:48 , Processed in 0.388959 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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