本帖最后由 602293544 于 2019-12-19 20:23 编辑
这里仅仅是做可行性研究,不做推荐
准备材料
一个塑料盒:3.89元
6个自复位按钮:0.45X6=2.7元
esp12e:5.75元
2路继电器:4.75元
单个继电器(不带板):0.75元
门磁2个:1.75X2=3.5元
电线:不用的网线拆的(真的好用)
正反转永磁电机:20元
齿轮壳啥的:6元
接线图大致如此:无需代码互锁,启用应急模式
由于会突发各种情况,比如模块坏掉了的时候或者有时会一直转啥的,有一个拨片开关是用来控制esp电源的可以断开,然后用应急按钮继续控制上下,除非继电器或者电机坏掉了。
然后是esphome代码,自动化,校准全部由esp完成,无需借助ha
substitutions:
device_name: cover2
wifi_ssid: 'PDCN'
#WiFi密码
wifi_password: '17568130920'
wifi_fast_connect: 'false'
wifi_reboot_timeout: 0s
ota_password: '123456'
api_reboot_timeout: 0s
esphome:
name: $device_name
platform: ESP8266
board: esp01_1m
web_server:
port: 80
css_url: https://esphome.io/_static/webserver-v1.min.css
js_url: https://esphome.io/_static/webserver-v1.min.js
wifi:
ssid: $wifi_ssid
password: $wifi_password
reboot_timeout: $wifi_reboot_timeout
power_save_mode: none
fast_connect: $wifi_fast_connect
logger:
api:
reboot_timeout: $api_reboot_timeout
ota:
safe_mode: true
password: $ota_password
sensor:
- platform: wifi_signal #信号强度
name: "signal_cover"
update_interval: 60s
switch:
- platform: gpio #继电器
pin: GPIO12
id: relay2
- platform: gpio #继电器
pin: GPIO13
id: relay1
- platform: restart #重启按钮
name: "Restart_cover"
cover: #新建一个cover组件
- platform: endstop
name: "Template Cover"
id: cover_1
open_action:
- switch.turn_off: relay2
- switch.turn_on: relay1
open_duration: 200s #时间,掐秒表,莫得办法
open_endstop: open_menci
close_action:
- switch.turn_on: relay1
- switch.turn_on: relay2
close_duration: 200s #时间,掐秒表,莫得办法
close_endstop: close_menci
stop_action:
- switch.turn_off: relay1
- switch.turn_off: relay2
binary_sensor: #新建按钮,可同步状态
- platform: gpio #按钮1,关闭
name: "cover_close"
internal: true
pin:
number: GPIO14
mode: INPUT_PULLUP
inverted: yes
on_click:
min_length: 50ms
max_length: 1000ms
then:
- cover.close: cover_1
- platform: gpio #按钮2,打开
name: "cover_open"
internal: true
pin:
number: GPIO1
mode: INPUT_PULLUP
inverted: yes
on_click:
min_length: 50ms
max_length: 1000ms
then:
- cover.open: cover_1
- platform: gpio #按钮3,停止
name: "cover_stop"
internal: true
pin:
number: GPIO3
mode: INPUT_PULLUP
inverted: yes
on_click:
min_length: 50ms
max_length: 1000ms
then:
- cover.stop: cover_1
- platform: gpio #全开,位置校准
name: "open_menci"
id: close_menci
internal: true
pin:
number: GPIO5
mode: INPUT_PULLUP
inverted: yes
- platform: gpio #全关位置校准
name: "close_menci"
id: open_menci
internal: true
pin:
number: GPIO4
mode: INPUT_PULLUP
inverted: yes
效果:
1、窗帘
2、开窗由于手头工具有限无法排出理想的视频。顾以此文字说明
链条:自行车
齿轮
图中的十字架表示固定点,左边的圆圈是齿轮,右边的是带电机的齿轮,这样可以实现开关窗,控制同上
综上所述:买成品多好
代码附件
cover.zip
(1.04 KB, 下载次数: 19)
|