本帖最后由 花落花空 于 2021-3-21 14:48 编辑
近日家里之前的按键浴霸开关坏了,遂在某宝找了下浴霸开关。发现了只要28一个的7线触摸开关(零火)。
买回来后安装,因安装时打开前盖可以看到电路板,也抱着好奇的心态,就先拆解了一下。控制板长这样。
起先看到主板上的那四个焊盘,以为是个ttl之类的,让我起了接入hass的心思,试验后发现并不是。但并不能阻止我折腾的心。
然后就有了下面的魔改。
控制方法:
因为这种触摸是感应电平的原理嘛,我就想着用8266给这些触摸引脚一个电平(就这么叫了)试试,看能不能控制。说干就干。
简单的给8266烧了个固件,然后简单的接在了板子上。随便接了个io到触摸引脚。
事实证明是ojbk的。但需要在8266的io口和触摸引脚之间串联二极管(不然触摸失效)方向是io口到触摸引脚。
开关有8个触摸按键,但我只需要用到6个(主要是io口不够,还要留5个io口做状态检测。有esp32的可以全接上。。。)
状态反馈:
聪明的网友肯定发现这样没有办法知道是不是真的控制到了,但注意看第一张图,输出脚是对地导通的,所以直接把这些输出脚和8266的io连上,即可用二进制传感器的形式来检测状态。
然后将控制输出脚也飞线到io口,这里同样需要二极管做一个隔离(输出脚在没和负极导通前有12v电压,8266受不住的)方向依然是io口到输出脚。其中IO16必须加一个上拉电阻。
最终状态:
焊工辣鸡。灵魂走线。大佬勿喷。
接入hass
ESPHome固件代码奉上:大佬们应该也可以用别的固件实现。
switch: #开关,io接触摸按键
- platform: gpio
pin: 0
id: muyu
- platform: gpio
pin: 2
id: qunuan1
- platform: gpio
pin: 4
id: qunuan2
- platform: gpio
id: huanqi
pin: 5
- platform: gpio
id: chuifeng
pin: 15
- platform: gpio
id: heater_light
pin: 1 #TX
- platform: template
name: "muyu"
turn_on_action:
- switch.turn_on: muyu
- delay: 100ms
- switch.turn_off: muyu
- platform: template
name: "qunuan1"
turn_on_action:
- switch.turn_on: qunuan1
- delay: 100ms
- switch.turn_off: qunuan1
- platform: template
name: "qunuan2"
turn_on_action:
- switch.turn_on: qunuan2
- delay: 100ms
- switch.turn_off: qunuan2
- platform: template
name: "huanqi"
turn_on_action:
- switch.turn_on: huanqi
- delay: 100ms
- switch.turn_off: huanqi
- platform: template
name: "chuifeng"
turn_on_action:
- switch.turn_on: chuifeng
- delay: 100ms
- switch.turn_off: chuifeng
- platform: template
name: "heater light"
turn_on_action:
- switch.turn_on: heater_light
- delay: 100ms
- switch.turn_off: heater_light
- platform: restart
name: "Heater Restart"
binary_sensor: #状态反馈,io接输出引脚
- platform: gpio
pin:
number: 3 #RX
mode: INPUT_PULLUP
inverted: True
name: "heater_light"
- platform: gpio
pin:
number: 12
mode: INPUT_PULLUP
inverted: True
name: "qunuan1"
- platform: gpio
pin:
number: 13
mode: INPUT_PULLUP
inverted: True
name: "qunuan2"
- platform: gpio
pin:
number: 14
mode: INPUT_PULLUP
inverted: True
name: "chuifeng"
- platform: gpio
pin:
number: 16
mode: INPUT_PULLUP
inverted: True
name: "huanqi"
|