自制简易电箱控制器,ESP8266芯片,Esphome固件,接入Home Assistanty 16输出16输入源码

大爱ESP8266,功耗低,支持ESPhome编程写入固件,接入Home Assistant非常方便

有朋友说需要一个多IO的控制器

有空就搞了一个,电源采用的是工业标准24V,用的MP4462芯片耐压到36V!

用的ESP07S 模块,外接天线,保证信号强度!

输出用的是工业IDC牛角座,输出定义抄三菱PLC的,排线接继电器模组非常便捷。

考滤到如果没有接继电器模组,这个控制器没有存在的意义,所以将输出和电源输入做在一齐了

输入用的是网线RJ45标准,一根网线接四个输入,四根网线刚好16个输入

电源来自自带的24V,确保电源功率足够的话,可以接入有源感应器,

PNP型24V的,24V接黄白,绿白。 GND接蓝白,棕白。输出接对应的色线

还可以接入无源的开关,就是说可以接普通的86型开关哦!

黄白,绿白跟对应的色线短接为通电

实物如图:

输入RJ45针脚定义

四根网线的花色线都是一样的,

黄白,绿白 24V

蓝白,棕白 GND

四根网线的色线从上到下就是X0,X1,X2。。。。。到X17

具体如下

黄线 第一根是X0,第二根是X4,第三根X10,第四根X14

绿线 分别是X1,X5,X11,X15

蓝线 分别是X2,X6,X12,X16

棕线 分别是X3,X7,X13,X17

输出针脚定义图 

上源码

substitutions:
  device_name: esp86yx16    #设备名称
  friendly_name: esp86yx16

esphome:
  name: esp86yx16

esp8266:
  board: esp01_1m


#external_components:
#  - source: my_components
# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "q0twOtfQ/o+t4wCFVzquXSCCdjLOgiZyi5uRrBmZhEw="
  reboot_timeout: 0s
ota:
  password: "6650d2896e8b0597519892316e798985"

wifi:
  ssid: AP530-2.4G
  password: zzc198456
  manual_ip:
    static_ip: 192.168.0.112    ##固定此设备IP地址为192.168.1.100;
    gateway: 192.168.0.1        ##路由器、网关地址;
    subnet: 255.255.255.0         ##子网掩码;

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: '${friendly_name}_wifi '
    password: "RRCy9cAcDh8G"

captive_portal:
  

  
sn74hc595:
  - id: 'sn74hc595_hub'
    data_pin: 14
    clock_pin: 15
    latch_pin: 0
    sr_count: 2

    # Individual outputs
switch:
  - platform: gpio
    name: "${friendly_name}_Y17"
    pin:
      sn74hc595: sn74hc595_hub
      # Use pin number 0
      number: 0
  - platform: gpio
    name: "${friendly_name}_Y06"
    pin:
      sn74hc595: sn74hc595_hub
      # Use pin number 0
      number: 1
  - platform: gpio
    name: "${friendly_name}_Y05"
    pin:
      sn74hc595: sn74hc595_hub
      # Use pin number 0
      number: 2
  - platform: gpio
    name: "${friendly_name}_Y04"
    pin:
      sn74hc595: sn74hc595_hub
      # Use pin number 0
      number: 3
  - platform: gpio
    name: "${friendly_name}_Y03"
    pin:
      sn74hc595: sn74hc595_hub
      # Use pin number 0
      number: 4
  - platform: gpio
    name: "${friendly_name}_Y02"
    pin:
      sn74hc595: sn74hc595_hub
      # Use pin number 0
      number: 5 
  - platform: gpio
    name: "${friendly_name}_Y01"
    pin:
      sn74hc595: sn74hc595_hub
      # Use pin number 0
      number: 6
  - platform: gpio
    name: "${friendly_name}_Y00"
    pin:
      sn74hc595: sn74hc595_hub
      # Use pin number 0
      number: 7
  - platform: gpio
    name: "${friendly_name}_Y07"
    pin:
      sn74hc595: sn74hc595_hub
      # Use pin number 0
      number: 8
  - platform: gpio
    name: "${friendly_name}_Y10"
    pin:
      sn74hc595: sn74hc595_hub
      # Use pin number 0
      number: 9
  - platform: gpio
    name: "${friendly_name}_Y11"
    pin:
      sn74hc595: sn74hc595_hub
      # Use pin number 0
      number: 10
  - platform: gpio
    name: "${friendly_name}_Y12"
    pin:
      sn74hc595: sn74hc595_hub
      # Use pin number 0
      number: 11  
  - platform: gpio
    name: "${friendly_name}_Y13"
    pin:
      sn74hc595: sn74hc595_hub
      # Use pin number 0
      number: 12
  - platform: gpio
    name: "${friendly_name}_Y14"
    pin:
      sn74hc595: sn74hc595_hub
      # Use pin number 0
      number: 13
  - platform: gpio
    name: "${friendly_name}_Y15"
    pin:
      sn74hc595: sn74hc595_hub
      # Use pin number 0
      number: 14
  - platform: gpio
    name: "${friendly_name}_Y16"
    pin:
      sn74hc595: sn74hc595_hub
      # Use pin number 0
      number: 15

# Example configuration entry
sn74hc165:
  - id: sn74hc165_hub
    clock_pin: GPIO04
    data_pin: GPIO13
    load_pin: GPIO05
    clock_inhibit_pin: GPIO16
    sr_count: 2

# Individual inputs
binary_sensor:
  - platform: gpio
    name: "${friendly_name}_X14"
    pin:
      sn74hc165: sn74hc165_hub
      # Use pin number 0
      number: 0
      inverted: true 
  - platform: gpio
    name: "${friendly_name}_X16"
    pin:
      sn74hc165: sn74hc165_hub
      # Use pin number 1
      number: 1
      inverted: true
  - platform: gpio
    name: "${friendly_name}_X15"
    pin:
      sn74hc165: sn74hc165_hub
      # Use pin number 0
      number: 2
      inverted: true
  - platform: gpio
    name: "${friendly_name}_X17"
    pin:
      sn74hc165: sn74hc165_hub
      # Use pin number 1
      number: 3
      inverted: true
  - platform: gpio
    name: "${friendly_name}_X10"
    pin:
      sn74hc165: sn74hc165_hub
      # Use pin number 0
      number: 4
      inverted: true
  - platform: gpio
    name: "${friendly_name}_X12"
    pin:
      sn74hc165: sn74hc165_hub
      # Use pin number 1
      number: 5
      inverted: true
  - platform: gpio
    name: "${friendly_name}_X11"
    pin:
      sn74hc165: sn74hc165_hub
      # Use pin number 0
      number: 6
      inverted: true
  - platform: gpio
    name: "${friendly_name}_X13"
    pin:
      sn74hc165: sn74hc165_hub
      # Use pin number 1
      number: 7
      inverted: true
  - platform: gpio
    name: "${friendly_name}_X04"
    pin:
      sn74hc165: sn74hc165_hub
      # Use pin number 0
      number: 8
      inverted: true
  - platform: gpio
    name: "${friendly_name}_X06"
    pin:
      sn74hc165: sn74hc165_hub
      # Use pin number 1
      number: 9
      inverted: true
  - platform: gpio
    name: "${friendly_name}_X05"
    pin:
      sn74hc165: sn74hc165_hub
      # Use pin number 0
      number: 10
      inverted: true
  - platform: gpio
    name: "${friendly_name}_X07"
    pin:
      sn74hc165: sn74hc165_hub
      # Use pin number 1
      number: 11
      inverted: true
  - platform: gpio
    name: "${friendly_name}_X00"
    pin:
      sn74hc165: sn74hc165_hub
      # Use pin number 0
      number: 12
      inverted: true
  - platform: gpio
    name: "${friendly_name}_X02"
    pin:
      sn74hc165: sn74hc165_hub
      # Use pin number 1
      number: 13
      inverted: true
  - platform: gpio
    name: "${friendly_name}_X01"
    pin:
      sn74hc165: sn74hc165_hub
      # Use pin number 0
      number: 14
      inverted: true
  - platform: gpio
    name: "${friendly_name}_X03"
    pin:
      sn74hc165: sn74hc165_hub
      # Use pin number 1
      number: 15
      inverted: true
















最后放一张完全体,从左到右为 主控 + 继电器模组 + 24V开关电源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值