本帖最后由 szlww 于 2023-12-18 12:07 编辑
主继电器是由GPIO0、GPIO15共同控制,开启继电器的过程:打开GPIO0,然后GPIO15 进行一次高低电平转换,才能驱动继电器,关闭继电器同理:关闭gpio0,然后反转一下GPIO15的电平。
button:
#实现一个电平反转,触发继电器动作
- platform: output
#name: ${node_name_friendly} Relay Trigger
id: trigger_relay_enable
output: pin_trigger_relay_enable
duration: 10ms
internal: true
switch:
#主继电器-真实开关
- platform: output
#name: ${node_name_friendly} Relay Master Real
id: relay_master_real
output: pin_relay_master
restore_mode: RESTORE_DEFAULT_OFF
on_turn_on:
- button.press: trigger_relay_enable
- lambda: |-
if(id(relay_slave_real).state) id(led_white).turn_on().perform();
on_turn_off:
- button.press: trigger_relay_enable
- lambda: |-
id(led_white).turn_off().perform();
internal: true
本人不是搞硬件的,具体原理不是很明白,也没用万用表测gpio15连接到哪个电源芯片,我就把这个GPIO15当做继电器的“使能”引脚,虚拟成一个button组件,按下10ms后释放,模拟进行一次高低电平转换,驱动12v继电器。
GPIO2和13 目前来看继电器和指示灯没用到,不知道计量芯片是否用到。你的esphome报错解决了么?什么问题
|