Ce n'est qu'une partie du sujet, c'est le coté microcontroleur.
Ce que je dis c'est qu'il faut vérifier ce qu'il se passe quand :
- l'électronique de commande n'est pas alimentée
- le module relais est alimenté
ou :
- l'électronique de commande est alimentée avec tous les modules raccordés
- le relais n'est pas alimenté
Que se passe-t-il ?
Tu sais que, naturellement, assez nombreux sont ceux qui souhaitent que le lancement une action se fasse avec un état Haut sur le gpio.
C'est le plus logique pour le cerveau.
Avec un relais, dont l'électronique de commande inverse, et des inverseurs, il est possible de faire ce que l'on veut.
Selon comment est réalisé le câblage du relais et ce qui est connecté sur son contact, il peut y avoir une période transitoire dont il ne faut pas ignorer l'existence.
Pour éviter le transitoire entre la commande pinMode et la commande digitalWrite, on peut prépositionner l'état logique d'un gpio, faire un digitalWrite avant le pinMode.
Cela marche bien avec des micro avr où les blocs d'électroniques du choix du mode de sortie et ceux du choix du niveau haut ou bas sont indépendants.
Je n'ai jamais pu le faire avec un ESP32, justement parce qu'une bonne partie du fonctionnement de l'ESP32 n'est pas basé sur des blocs d'électronique, mais sur de la programmation.
L'ESP32 est un microcontrôleur fabriqué par Cadence et qui est "à terminer" par le client (Espressif).
Il ne semble pas qu'Espressif a les compétences pour faire de l'électronique pure, soit il achète (très cher) des blocs complémentaires à Cadence, soit pour obtenir de prix de vente très bas, il fait le maximum en programmation.
En programmation, on ne fait pas ce que l'on peut faire, plus difficilement, mais plus efficacement, en électronique.