Impossible d'actionner un relai

Mon problème

Hello
Je n’arrive pas à actionner un relai 5v relié à un wemos d1 mini sur le pin d1.
Quand ‹ Relay #1 › passe sur on ou off rien ne se passe au niveau du relai(pas de lumière, pas de clic…)
Le relai est correctement branché et fonctionnel puisqu’il est tous neuf et il marche avec une carte arduino uno classique.
Voici le code esphome:

esphome:
  name: buzzer
  
esp8266:
  board: d1_mini

wifi:
  ssid: !secret ssid_répéteur
  password: !secret password_wifi_répéteur
  manual_ip:
    # Set this to the IP of the ESP
    static_ip: 192.168.1.98
    # Set this to the IP address of the router. Often ends with .1
    gateway: 192.168.1.1
    # The subnet of the network. 255.255.255.0 works for most home networks.
    subnet: 255.255.255.0
  # Enable fallback hotspot (captive portal) in case wifi connection fails

# Enable logging
logger:
  level: DEBUG
# Enable Home Assistant API
api:

ota:

captive_portal:

switch:
  - platform: gpio
    pin: D1
    inverted: true
    name: "Relay #1"

sensor:
  - platform: wifi_signal
    name: "Relai Signal WiFi"
    update_interval: 60s

Voici les logs :

INFO Reading configuration /config/esphome/relai.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing buzzer (board: d1_mini; framework: arduino; platform: platformio/espressif8266 @ 3.2.0)
--------------------------------------------------------------------------------
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
Dependency Graph
|-- <ESPAsyncTCP-esphome> 1.2.3
|-- <ESPAsyncWebServer-esphome> 2.1.0
|   |-- <ESPAsyncTCP-esphome> 1.2.3
|   |-- <Hash> 1.0
|   |-- <ESP8266WiFi> 1.0
|-- <DNSServer> 1.1.1
|-- <ESP8266WiFi> 1.0
|-- <ESP8266mDNS> 1.2
Compiling /data/buzzer/.pioenvs/buzzer/src/main.cpp.o
Linking /data/buzzer/.pioenvs/buzzer/firmware.elf
RAM:   [====      ]  39.9% (used 32652 bytes from 81920 bytes)
Flash: [====      ]  39.0% (used 407677 bytes from 1044464 bytes)
Building /data/buzzer/.pioenvs/buzzer/firmware.bin
esp8266_copy_factory_bin(["/data/buzzer/.pioenvs/buzzer/firmware.bin"], ["/data/buzzer/.pioenvs/buzzer/firmware.elf"])
========================= [SUCCESS] Took 18.96 seconds =========================
INFO Successfully compiled program.
INFO Connecting to 192.168.1.98
INFO Uploading /data/buzzer/.pioenvs/buzzer/firmware.bin (411824 bytes)
INFO Compressed to 287084 bytes
Uploading: [============================================================] 100% Done...

INFO Waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
INFO Starting log output from 192.168.1.98 using esphome API
INFO Successfully connected to 192.168.1.98
[10:43:53][I][app:102]: ESPHome version 2022.6.2 compiled on Jul 31 2022, 10:43:16
[10:43:53][C][wifi:491]: WiFi:
[10:43:53][C][wifi:353]:   Local MAC: 48:3F:DA:77:91:24
[10:43:53][C][wifi:354]:   SSID: 'WIFI_4BC8'[redacted]
[10:43:53][C][wifi:355]:   IP Address: 192.168.1.98
[10:43:53][C][wifi:356]:   BSSID: 5C:02:14:FA:8A:0E[redacted]
[10:43:53][C][wifi:358]:   Hostname: 'buzzer'
[10:43:53][C][wifi:360]:   Signal strength: -65 dB ▂▄▆█
[10:43:53][C][wifi:364]:   Channel: 2
[10:43:53][C][wifi:365]:   Subnet: 255.255.255.0
[10:43:53][C][wifi:366]:   Gateway: 192.168.1.1
[10:43:53][C][wifi:367]:   DNS1: 0.0.0.0
[10:43:53][C][wifi:368]:   DNS2: 0.0.0.0
[10:43:53][C][logger:275]: Logger:
[10:43:53][C][logger:276]:   Level: DEBUG
[10:43:53][C][logger:277]:   Log Baud Rate: 115200
[10:43:53][C][logger:278]:   Hardware UART: UART0
[10:43:53][C][switch.gpio:050]: GPIO Switch 'Relay #1'
[10:43:53][C][switch.gpio:050]:   Inverted: YES
[10:43:53][C][switch.gpio:051]:   Pin: GPIO5
[10:43:53][C][switch.gpio:073]:   Restore Mode: Restore (Defaults to OFF)
[10:43:53][C][captive_portal:088]: Captive Portal:
[10:43:53][C][mdns:084]: mDNS:
[10:43:53][C][mdns:085]:   Hostname: buzzer
[10:43:53][C][ota:085]: Over-The-Air Updates:
[10:43:53][C][ota:086]:   Address: 192.168.1.98:8266
[10:43:53][C][api:138]: API Server:
[10:43:53][C][api:139]:   Address: 192.168.1.98:6053
[10:43:53][C][api:143]:   Using noise encryption: NO
[10:43:53][C][wifi_signal.sensor:009]: WiFi Signal 'Relai Signal WiFi'
[10:43:53][C][wifi_signal.sensor:009]:   Device Class: 'signal_strength'
[10:43:53][C][wifi_signal.sensor:009]:   State Class: 'measurement'
[10:43:53][C][wifi_signal.sensor:009]:   Unit of Measurement: 'dBm'
[10:43:53][C][wifi_signal.sensor:009]:   Accuracy Decimals: 0
[10:44:24][D][sensor:124]: 'Relai Signal WiFi': Sending state -65.00000 dBm with 0 decimals of accuracy
[10:45:16][D][switch:013]: 'Relay #1' Turning ON.
[10:45:16][D][switch:037]: 'Relay #1': Sending state ON
[10:45:24][D][sensor:124]: 'Relai Signal WiFi': Sending state -67.00000 dBm with 0 decimals of accuracy
[10:46:24][D][sensor:124]: 'Relai Signal WiFi': Sending state -62.00000 dBm with 0 decimals of accuracy
[10:47:03][D][switch:017]: 'Relay #1' Turning OFF.
[10:47:03][D][switch:037]: 'Relay #1': Sending state OFF

Merci d’avance pour votre aide

Sauf erreur de ma part, les ports du wemos sont en en 3.3V. Donc, je ne sais pas comment tu connectes le relai, mais, si c’est un relai 5V, ça risque d’être un peu court…

Un Arduino « classique », c’est du 5V…

Il y a un port 5v sur le wemos d1 mini et les lumieres et contact fonctionne avec le d1 mini
J’ai le même problème avec un esp32 wroom

la sortie d’un gpio c’est du 3.3V il faut intercaler un élévateur de tension pour passer de 3.3v à 5v ou mettre un relais 3.3v (je ne sais pas si ca existe)
les convertisseurs de tension ont 4 ou 6 canaux disponibles, certains sont même bidirectionnels.
par exemple (trouvé via google sans recherche spécifique)

Voici le cablage
relai wemos
VCC<--------5V
GND------->GND
IN---------->D1
Il n’y a pas besoin d’élévateur de tension car la carte alimente bien en 5v le relai et j’ai vérifié.

c’est de cette connexion que je parlais. elle est bien à 5V quand le port est actif ???

1 « J'aime »

Effectivement

Sur https://www.wemos.cc/en/latest/d1/d1_mini.html:

Même alimenté par le 5V, le GPIO n’envoie que du 3.3V.

Pour avoir eu le problème récemment, il faut allumer le relay en 3.3V et non en 5V. En 5V il reste en position ouverte.

1 « J'aime »

Oui mais pour le fermer il faut du 5v et aucune carte de type esp fais du 5V

Il n’y a aucun souci à contrôler un relais 5V avec les GPIO.
Seul l’alim à besoin de 5V. Le contrôle de l’état marche avec 3.3V.
Un Raspberry ou un Arduino le font bien avec 3.3v sur leurs GPIO.

Je pense que ton souci @Gubu , c’est uniquement la config du « pin » dans ton switch.
La config dans ESP home demande un numéro de pin GPIO, pas le nom du pin sur la carte.
Donc D1 c’est GPIO5. pin: 5

image

1 « J'aime »

Merci mais rien ne change
voici le code et le branchement

switch:
  - platform: gpio
    pin: GPIO13
    inverted: true
    name: "Relai 1"

ESP32-> Relai
VIN-> VCC
GND->GND
D13->IN

Je pense que le probléme es plustôt software et non hardware car avec cette config les led s’allume correctement.
Je suis pas sur que le gpio 13 (D13) de mon esp32 s’arrête(ouvre le courant).

D13?
Tu n’étais pas sur le D1.
Y’a pas de D13… Gpio13 correspond au D7

J’étais sur le d1mini mais il y avais encore plus de problème donc j’ai essayé sur mon esp32
Si sur l’ESP32-CH340C le D13 correspond au GPIO13

Voilà ce que j’ai sur un ESPHome avec un 8266 que je viens juste de brancher, ça tombe bien j’avais une truc similaire à faire…
Dans mon yaml j’ai ça:

switch:
  - platform: gpio
    pin: GPIO4
    name: "Door Action"
    id: door_switch
    internal: true

GPIO4 c’est le pin D2.

ESP8266-> Relai
VIN-> VCC
GND->GND
D2->IN

Et ça a marché directement…

Dans les logs y’a ça:
image

Si chez toi ça ne marche pas c’est surement soit le un mauvais pin sélectionné, soit un souci s’alimentation.

J’ai aussi ca dans mes logs

[19:15:36][D][switch:037]: 'Relai 1': Sending state OFF
[19:15:51][D][switch:013]: 'Relai 1' Turning ON.
[19:15:51][D][switch:037]: 'Relai 1': Sending state ON

Mais ca ne fonctionne pas

Oui c’est pour ça que je t’ai mis mes logs, pour te montrer que ce que ça fait chez toi c’est ok.
Donc côté ESPHome c’est bien pris en compte.

Pour être honnête, a mon premier essai aujourd’hui ca n’a pas marché… mais j’avais branché sur le D1 au lieue du D2, dès que j’ai changé ça marchait. :rofl:

Je parlais d’alimentation aussi, au cas ou il est alimenté par un hub usb ou le port usb du pc, l’esp peut potentiellement ne pas avoir assez de jus pour alimenter le relai…ça consomme pas grd chose, mais tout de même c’est possible si ta source est faiblarde.

je suis ce shéma de gpio
image

Bonjour,
Je déterre le sujet mais je n’arrive pas à activer mon relais 5V (enfin si mais il reste toujours ouvert) ce qui ne m’arrange pas!! Je souhaite alimenter une mini pompe pour l’arrosage.
J’ai tenté les pins 25;26;27; 12;13;14;15 mais le relais reste toujours enclenché.

La carte est une esp32-vroom-32 AZ-Delivery et un simple relais 5v.

SAlut

quel code ESPHOME utilises tu ?

PS n’oublie pas le formatage en utilisant les balises qui vont bien…

image

mais normalement et cela a été signalé plus haut…
par @bentou

la sortie d’un gpio c’est du 3.3V il faut intercaler un élévateur de tension pour passer de 3.3v à 5v ou mettre un relais 3.3v (je ne sais pas si ca existe)
les convertisseurs de tension ont 4 ou 6 canaux disponibles, certains sont même bidirectionnels.
par exemple (trouvé via google sans recherche spécifique)

duinoedu.com

Convertisseur de niveaux bidirectionnel 5V/3.3V 3.3V/5V 4 canaux - DuinoEDU

ADAPTEZ FACILEMENT VOS NIVEAUX LOGIQUES 3.3V EN 5V ET 5V EN3.3V ! Ce petit module permet de raccorder 2 cartes électroniques fonctionnant avec des niveaux logiques différents (généralement 5V et 3.3V). Attention cependant, il s’agit ici de passer de…