D1 mini WiFi ESP8266 połączony z modułem 4 przekaźników HW-316

Proszę powiedzcie, czy sposób połączenia wymyśliłem dobry:


Chciałbym aby była opcja 4 przełączników i wyjście na 4 przekażniki (i możliwość wpięcie tego do HA ale to później).
I pytanie drugie - czy jak dałbym zasilanie po USB to poszło by też na płytke przekaźników czy raczej nie?

Możesz zasilić przez usb (z ładowarki). Przyciski podłącz do -5V, będzie odwrotna logika ale działać będzie lepiej.

Ok. Super dzięki - powiedzmy, że to pierwszy krok, drugi to Stworzyłem coś takiego:

substitutions:
  device_name_lower: "wiatrak"

esphome:
  name: ${device_name_lower}
  platform: ESP8266
  board: nodemcuv2

wifi:
  ssid: "ssid"
  password: "haslo123456"
  fast_connect: true
  ap:
    ssid: "wiatrak"
    password: "haslo"

logger:
  # level: VERBOSE
api:
ota:
captive_portal:
web_server:
  port: 80



switch:
  # wyjscie na przekazniki
  - platform: gpio
    pin: GPIO5 #D1
    id: p1
    name: "${device_name_lower}_p1"
    icon: "mdi:light-switch"

  - platform: gpio
    pin: GPIO4 #D2
    id: p2
    name: "${device_name_lower}_p2"
    icon: "mdi:light-switch"

  - platform: gpio
    pin: GPIO0 #D3
    id: p3
    name: "${device_name_lower}_p3"
    icon: "mdi:light-switch"

  - platform: gpio
    pin: GPIO2 #D4
    id: p4
    name: "${device_name_lower}_p4"
    icon: "mdi:light-switch"



# wejscie z przelacznikow

binary_sensor:
  - platform: gpio
      on_GPIO14: #D5
        if:
          condition:
            binary_sensor.is_on: WL_1_on #wlacznik 1
      off_GPIO14: #D5
        if:
          condition:
            binary_sensor.is_off: WL_1_off #wlacznik 1
            
      on_GPIO12: #D6
        if:
          condition:
            binary_sensor.is_on: WL_2_on #wlacznik 2
      off_GPIO12: #D6
        if:
          condition:
            binary_sensor.is_off: WL_2_off  #wlacznik 2

      on_GPIO13: #D7
        if:
          condition:
            binary_sensor.is_on: WL_3_on #wlacznik 3
      off_GPIO13: #D7
        if:
          condition:
            binary_sensor.is_off: WL_3_off #wlacznik 3
            
      on_GPIO15: #D8
        if:
          condition:
            binary_sensor.is_on: WL_4_on #wlacznik 4
      off_GPIO15: #D8
        if:
          condition:
            binary_sensor.is_off: WL_4_off #wlacznik 4

Czy ktoś jest w stanie powiedzieć czy to będzie gadać z HA i czy dobrze jest napisane?

Czy długie będą przewody do przycisków?

Myślę, że nie więcej niż 15 cm.
A co jak by miały być dłuższe? Np 15 metrów?

Przy połączeniu do +5V mógłbyś mieć “duchy”.
Mogłyby łapać zakłócenia i same się przełączać.

Przeoczyłem… GPIO0 GPIO2 lepiej nie używaj a szczególnie jako wyjście!!!
Zamiast tego Rx,Tx
Nie wiem co jest na płytce przekaźników i po resecie zasilania może prowadzać w tryb FLASH

1 D3? Czyli co zamiast niego? D0?
2 co z długimi przewodami?

Wyżej odpowiedziałem na piny
Z przyciskami tak jak pisałem wyżej. Wspólny do przycisków do -5V, odwrotna logika wejścia w trybie “input pullup”
Nie znam ESPHome więc nie wiem jak ma wyglądać szablon.

edit… tu jest napisane o czym mówiłem


ok czyli teraz będzie ok?
I co z tymi długimi przewodami? do jaiej długości może być?

I odrazu kod zmieniłem - czy to będzie grało?

substitutions:
  device_name_lower: "wiatrak"

esphome:
  name: ${device_name_lower}
  platform: ESP8266
  board: nodemcuv2

wifi:
  ssid: "ssid"
  password: "haslo123456"
  fast_connect: true
  ap:
    ssid: "wiatrak"
    password: "haslo"

logger:
  # level: VERBOSE
api:
ota:
captive_portal:
web_server:
  port: 80



switch:
  # wyjscie na przekazniki
  - platform: gpio
    pin: GPIO5 #D1
    id: p1
    name: "${device_name_lower}_p1"
    icon: "mdi:light-switch"

  - platform: gpio
    pin: GPIO4 #D2
    id: p2
    name: "${device_name_lower}_p2"
    icon: "mdi:light-switch"

  - platform: gpio
    pin: GPIO1 #TX
    id: p3
    name: "${device_name_lower}_p3"
    icon: "mdi:light-switch"

  - platform: gpio
    pin: GPIO3 #RX
    id: p4
    name: "${device_name_lower}_p4"
    icon: "mdi:light-switch"



# wejscie z przelacznikow

binary_sensor:
  - platform: gpio
      on_GPIO14: #D5
        if:
          condition:
            binary_sensor.is_on: WL_1_on #wlacznik 1
      off_GPIO14: #D5
        if:
          condition:
            binary_sensor.is_off: WL_1_off #wlacznik 1
            
      on_GPIO12: #D6
        if:
          condition:
            binary_sensor.is_on: WL_2_on #wlacznik 2
      off_GPIO12: #D6
        if:
          condition:
            binary_sensor.is_off: WL_2_off  #wlacznik 2

      on_GPIO13: #D7
        if:
          condition:
            binary_sensor.is_on: WL_3_on #wlacznik 3
      off_GPIO13: #D7
        if:
          condition:
            binary_sensor.is_off: WL_3_off #wlacznik 3
            
      on_GPIO15: #D8
        if:
          condition:
            binary_sensor.is_on: WL_4_on #wlacznik 4
      off_GPIO15: #D8
        if:
          condition:
            binary_sensor.is_off: WL_4_off #wlacznik 4

Z tymi pinami to poczekaj - muszę się zastanowić Rx Tx na tej płytce zajęty jest przez USB konwerter.
Znajdę schemat to odpowiem.
Co do długości to nie ma jednoznacznej odpowiedzi, zależy od środowiska. Lepiej więc od razu zrobić lepiej.

A może D0,A0? Czy one też nie bardzo?

@marcinwojciesz - sprawdziłeś czy 3,3 wolta z GPIO wysterują te optoizolatory na płytce z przekaźnikami? Dla wejść dałbym rezystor podciągający.

A może zmień płytkę na np. NodeMcu, będzie więcej pinów na pokładzie.
Albo taką - gotowca:

obraz

Niestety nie znam się za mocno - wszystko to z internetów patrzyłem, a zasilanie jest 5V.

rozpiska pinów:

TX	TXD	Linia danych interfejsu UART - nadajnik.
RX	RXD	Linia danych interfejsu UART - odbiornik.
A0	A0	Wejście analogowe, maksymalne napięcie 3,3 V
D0	GPIO16	Linia cyfrowa I/O.
D1	GPIO5	
Linia cyfrowa I/O.

Linia zegarowa magistrali I2C - SCL.

D2	GPIO4	
Linia cyfrowa I/O.

Linia danych magistrali I2C - SDA.
D3	GPIO0	Linia cyfrowa I/O z rezystorem podciągającym do VCC 10 kΩ.
D4	GPIO2	Linia cyfrowa I/O z rezystorem podciągającym do VCC 10 kΩ. Dołączona, wbudowana dioda LED.

D5	GPIO14	Linia cyfrowa I/O.Linia zegarowa magistrali SPI - SCK.
D6	GPIO12	Linia cyfrowa I/O.Linia danych magistrali SPI - MISO.
D7	GPIO13	Linia cyfrowa I/O.Linia danych magistrali SPI - MOSI.
D8	GPIO15	Linia cyfrowa I/O z rezystorem podciągającym do GND 10 kΩ

Linia magistrali SPI - SS.
G	GND	Masa
5V	-	Napięcie wyjściowe z regulatora 5 V.
3V3	3,3V	Napięcie wyjściowe z regulatora 3,3 V.
RST	RST	Reset modułu.

Wyboru dużego nie ma.
Przyciski podłącz GIO0 GPIO2 GPiO15 GPIO14 i sterowane -5V
Przekaźniki na pozostałe wolne.

Moduł przekaźnikowy sterowany jest stanem niski

IN1, IN2, IN3, IN4 - wejścia sterujące przekaźników, załączone staniem niskim

Sterowany jest jak napisałem stanem niskim, pullup nie jest potrzebny.
Nic nie kupuj, będzie działać - podłącz jak napisałem

AAA to dla tego @angler powiedział o 3,3 V.
Ok czyli przekaźnik podłącze pod - GPIO4, GPIO5, GPIO12, GPIO13?

mam takie coś. Ale kompletnie nie potrafie się zabrać. Tzn mam programator ale najpierw chciałem tamto wykorzystać, bo jest mniejsce o 2 mm i mieści się w dzierke :slight_smile:

Te graty to masz czy dopiero będziesz kupował?
Jak masz to podłączaj jak napisałem, dokupić zawsze zdążysz

Mam wszystko - jak był lockdown to nakupiłem pierdółek z myślą zabawy i jakoś zostało.
@RobinI30 Czyli to co powiedziałem “przekaźnik podłącze pod - GPIO4, GPIO5, GPIO12, GPIO13” to się zgadza?

Zgadza się
przyciski
GIO0 GPIO2 GPiO15 - odwrotna logika, GPIO14 odwrotna logika + input pullup

Ten WIFI IOT ESP8266 12V 4 kanałowy to ma osobny procek do sterowania przekaźnikami i na razie z nim sobie nie poradzisz :wink:
Ma to taką wadę, żeby nie naciskać przycisków podczas włączania zasilania 5V.

@admin Umyślnie pisze post pod postem bo jest to ważne- żeby nie przeoczył

JD-VCC - zasilanie cewki przekaźnika, domyślnie połączone z VCC za pomocą zworki. W celu sterowania napięciem 3,3 V należy rozłączyć zworkę do pinu JD podłączyć zasilanie cewki 5 V, a do VCC podpiąć napięcie 3,3 V.

Więc 5V podłącz do JD-VCC i wyjmij zworę
3,3V podłącz do VCC płyki przekaźnikowej.
Narysuj schemat do sprawdzenia.
Teraz chyba wszystko. :slight_smile: