由于燃气表电池没电之后会自动关阀,于是想到用本方法来控制阀门的关闭,结合燃气检测可以联动切断燃气,相较于机械手上百的费用,这个只需要不到20元,特分享给大家。所需材料:esp01s一个,匹配esp01s的继电器模块一个,5V电源一个,再准备比较薄的不锈钢片和3M胶
原理就是用两片不锈钢片中间夹一个绝缘用的3M胶,不锈钢片上焊2根电线接到继电器的COM口和NC(常闭口),把这个不锈钢片的组合体塞到电池的连接点中间,由于接的是继电器的常闭端口,所以平时是导通状态,当需要切断天燃气时就使继电器吸合,通过观察燃气表,断电7秒左右阀门会关闭,只是关闭继电器之后虽然电已导通屏幕重新显示,但是还是阀关状态,此时需要手动按一下燃气表上的红色按键才能开阀,但是这样对使效果来说影响不大
顺便加了一个光电传感器用来读燃气表用气量,用一个电源盒把继电器和电源模块都放在盒子里,开了三个孔用来走线,其中光电传感器的三根线没有焊接直接插到继电器的基座中把esp01s插进去就可以了
以下代码供参考:
globals:
- id: gas_meter_counter
type: float
restore_value: true
initial_value: '0'
binary_sensor:
- platform: gpio
pin: GPIO2
name: "Gas Meter"
on_press:
then:
- lambda: |-
id(gas_meter_counter) += 0.01;
sensor:
- platform: template
name: "Gas Meter Counter"
lambda: |-
return id(gas_meter_counter);
unit_of_measurement: 'm³'
state_class: total_increasing
device_class: gas
accuracy_decimals: 2
update_interval: 5s
- platform: uptime
name: "ran-qi-biao Online"
update_interval: 60s
- platform: wifi_signal
name: "ran-qi-biao dbm"
update_interval: 15s
text_sensor:
- platform: wifi_info
ip_address:
name: "ran-qi-biao IP"
switch:
- platform: gpio
pin: GPIO0
name: "ran-qi-biao-switch"
id: relay_1F
inverted: True
on_turn_on:
then:
- delay: 7s
- lambda: |-
id(relay_1F).turn_off();
|