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

 找回密码
 立即注册
查看: 2617|回复: 17

老婆再也不用叫我帮忙晒衣服,自制电动晾衣杆

[复制链接]

43

主题

325

帖子

2730

积分

论坛DIY达人

积分
2730
金钱
2400
HASS币
50
发表于 2023-6-1 13:14:36 | 显示全部楼层 |阅读模式
本帖最后由 shadowba 于 2023-6-1 14:04 编辑

准备材料:
1.电机总成
微信图片_20230601130037.jpg
2.esp8266开发板,继电器,万能板,接线端子,按钮,A0引脚的接入是为了检测电机工作后电阻的分压值,用以确定是够过载,如果过载就停止工作,这部分正在调试,等哪天多洗点衣服看一下值,然后在配置过载停机保护。
原电机总成遇阻限位需要安装时调整电机总成在钢丝两侧的角度才能起效,我没装好,只能折中用来检测杆上是否有衣服,自动化判断有衣服晾衣杆就在洗衣机完成洗衣后不降下晾衣杆。
微信图片_20230601130808.png
微信图片_20230601130813.png
微信图片_20230601130820.png
微信图片_20230601130827.png
微信图片_20230601130837.png
微信图片_20230601130842.png
制作国产省略,成品如下:
微信图片_20230601125539.jpg
微信图片_20230601125532.jpg
微信图片_20230601125522.jpg
基本8266引脚能用的都用了,gpio16用的时候记得上拉,gpio2控制灯做继电器时要接光耦负极,光耦正极接3.3v,已接入小爱
微信图片_20230601134401.png

代码如下:
esphome:
  name: "clothes-hanger"
  friendly_name: "clothes-hanger"
esp8266:
  board: esp01_1m
# Enable logging
#logger:
# Enable Home Assistant API
api:
ota:
  password: "xxxxxxxxxxxxxxx"
web_server:
  port: 80
wifi:
  networks:
     - ssid: xxxxx
       password: xxxxxxx
  ap:
    ssid: "zf-edf Fallback Hotspot"
    password: "xxxxxxxxxxxx"
captive_portal:
sensor:
  - platform: adc
    pin: A0
    name: "alarm V"
    update_interval: 2s
binary_sensor:
#上升限位
  - platform: gpio
    id: bup
    name: bup D12
    pin:
      number: GPIO12
      mode:
        input: true
        pullup: true
      inverted: false
    filters:
      - delayed_on: 50ms
    on_press:
      then:
        - switch.turn_on: relay2 
        - switch.turn_off: relay
#下降限位
  - platform: gpio
    id: bdown
    name: bdown D13
    pin:
      number: GPIO13
      mode:
        input: true
        pullup: true
      inverted: false
    filters:
      - delayed_on: 50ms
    on_press:
      then:
        - switch.turn_on: relay2 
        - switch.turn_off: relay1
#衣物检测限位
  - platform: gpio
    id: yzxq
    name: alarm D14
    pin:
      number: GPIO14
      mode:
        input: true
        pullup: true
      inverted: true
    filters:
      - delayed_on: 50ms
  #  on_press:
  #      - switch.turn_off: relay
  #      - switch.turn_off: relay1
  #      - switch.turn_on: relay2
  #      - delay: 200ms
  #      - switch.turn_on: relay2
  #      - delay: 200ms
  #      - switch.turn_on: relay2
#上升按钮
  - platform: gpio
    id: up
    name: up D0
    pin:
      number: GPIO0
      mode:
        input: true
        pullup: true
      inverted: true
    filters:
      - delayed_on: 20ms
    on_press:
      - cover.close: hanger
      - switch.turn_on: relay2 
#下降按钮
  - platform: gpio
    id: down
    name: down D5
    pin:
      number: GPIO5
      mode:
        input: true
        pullup: true
      inverted: true
    filters:
      - delayed_on: 20ms
    on_press:
      - cover.open: hanger
      - switch.turn_on: relay2 
#暂停按钮
  - platform: gpio
    id: stop
    name: stop D16
    pin:
      number: GPIO16
      mode:
        input: true
      inverted: true
    filters:
      - delayed_on: 20ms
    on_press:
      - cover.stop: hanger
      - switch.turn_on: relay2 
      - delay: 100ms
      - switch.turn_on: relay2       
#灯按钮
  - platform: gpio
    id: blight
    name: blight D3
    pin:
      number: GPIO3
      mode:
        input: true
        pullup: true
      inverted: true
    filters:
      - delayed_on: 20ms
    on_press:
      - light.toggle: lamp
switch:
# 上升继电器控制
  - platform: gpio                 
    pin: GPIO15
    id: relay
#    name: "Up D15"
    restore_mode: RESTORE_DEFAULT_OFF
    interlock: &interlock_group [relay, relay1]
    interlock_wait_time: 200ms
#  下降继电器控制
  - platform: gpio                 
    pin: GPIO4
    id: relay1
#    name: "Down D4"
    restore_mode: RESTORE_DEFAULT_OFF
    interlock: *interlock_group
    interlock_wait_time: 200ms
#  蜂鸣器控制
  - platform: gpio                 
    pin: GPIO1
    id: relay2
    name: "Buzzer D1"
    inverted: true
    on_turn_on: 
      - delay: 100ms
      - switch.turn_off: relay2  
cover:
  - platform: template
    name: "Clothes hanger"
    id: hanger
    open_action:
        then:
          - if:
              condition:
                - binary_sensor.is_on: bdown 
              then:
                - switch.turn_on: relay2 
                - delay: 100ms 
                - switch.turn_on: relay2 
              else:
                - switch.turn_on: relay2     
                - switch.turn_off: relay
                - switch.turn_on: relay1
                - delay: 19s
                - switch.turn_off: relay1
    close_action:      
       then:
          - if:
              condition:
                - binary_sensor.is_on: bup 
              then:
                - switch.turn_on: relay2 
                - delay: 100ms 
                - switch.turn_on: relay2 
              else:
                - switch.turn_on: relay2       
                - switch.turn_off: relay1
                - switch.turn_on: relay
                - delay: 17s
                - switch.turn_off: relay 
    stop_action:
       - switch.turn_off: relay
       - switch.turn_off: relay1
       - switch.turn_on: relay2 
       - delay: 100ms
       - switch.turn_on: relay2  
    optimistic: true
    assumed_state: true
light:
  - platform: binary
    id: lamp
    name: "Lamp"
    output: light_output
output:
  - id: light_output
    platform: gpio
    inverted: true
    pin: GPIO2





评分

参与人数 6金钱 +55 HASS币 +10 收起 理由
simonliu009 + 2 高手,这是高手!
Jerrylee + 10 高手,这是高手!
隔壁的王叔叔 + 10 厉害了word楼主!
zelotoj + 8 高手,这是高手!
centurion2009 + 5 就佩服楼主这种有想法有动手能力的.
+ 20 + 10 高手,这是高手!

查看全部评分

回复

使用道具 举报

0

主题

52

帖子

875

积分

高级会员

Rank: 4

积分
875
金钱
823
HASS币
0
发表于 2023-6-1 13:53:38 | 显示全部楼层
太厉害了,大佬666
回复

使用道具 举报

0

主题

608

帖子

2516

积分

金牌会员

Rank: 6Rank: 6

积分
2516
金钱
1908
HASS币
0
发表于 2023-6-1 14:05:32 | 显示全部楼层
本帖最后由 Ari 于 2023-6-1 14:06 编辑

哇,这个可以啊,喜欢,更新点制作过程呀,电机多少钱能买到嘛
回复

使用道具 举报

43

主题

325

帖子

2730

积分

论坛DIY达人

积分
2730
金钱
2400
HASS币
50
 楼主| 发表于 2023-6-1 14:07:51 | 显示全部楼层
Ari 发表于 2023-6-1 14:05
哇,这个可以啊,喜欢,更新点制作过程呀,电机多少钱能买到嘛

110,pdd,有省钱卡还能省10块
回复

使用道具 举报

3

主题

65

帖子

484

积分

中级会员

Rank: 3Rank: 3

积分
484
金钱
419
HASS币
0
发表于 2023-6-3 09:34:49 | 显示全部楼层
大佬,代码怎么学?我想弄个平推的(我家做了平改坡,简单说就是有屋檐)下雨风大的时候自动缩回屋檐下面,有太阳的时候放出去,两边有那种滑轨加电机实现。不知道有没有代码可以抄作业
回复

使用道具 举报

0

主题

35

帖子

132

积分

注册会员

Rank: 2

积分
132
金钱
97
HASS币
0
发表于 2023-6-3 15:38:39 | 显示全部楼层
很好、很强大,这个一定得支持!!!
回复

使用道具 举报

11

主题

185

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
金钱
1404
HASS币
0
发表于 2023-6-3 16:23:11 | 显示全部楼层
学习
等房子装修搞一下
回复

使用道具 举报

43

主题

325

帖子

2730

积分

论坛DIY达人

积分
2730
金钱
2400
HASS币
50
 楼主| 发表于 2023-6-3 20:42:03 | 显示全部楼层
落花萧然 发表于 2023-6-3 16:23
学习
等房子装修搞一下

真心建议,早用早方便
回复

使用道具 举报

43

主题

325

帖子

2730

积分

论坛DIY达人

积分
2730
金钱
2400
HASS币
50
 楼主| 发表于 2023-6-3 20:42:48 | 显示全部楼层
0rw 发表于 2023-6-3 09:34
大佬,代码怎么学?我想弄个平推的(我家做了平改坡,简单说就是有屋檐)下雨风大的时候自动缩回屋檐下面, ...

你还是从简单的开关/传感器开始吧,没有电子基础是不行滴
回复

使用道具 举报

2

主题

178

帖子

709

积分

高级会员

Rank: 4

积分
709
金钱
531
HASS币
0
发表于 2023-6-14 09:25:54 | 显示全部楼层
高手是高手,厉害,算上人工和成本价格差不多了吧,哈哈 不过就是折腾
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 09:55 , Processed in 1.229904 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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