Ignorer et passer au contenu

Livraison offerte à partir de 50€ d'achats, livrée sous 48h !

Livraison à partir de seulement 2.50€ !

Contents Menu Expand Light mode Dark mode Auto light/dark mode

Piloter des appareils électriques avec un relais et l’ESP32 avec du code Arduino

(Mis à jour le 06/01/2023)

relay SRD-03VDC-SL-C Songle

Si vous voulez faire de la domotique, le relais est le module incontournable. En effet, couplé avec une ESP32 vous pouvez contrôler directement des appareils ménagers aussi bien sur votre téléphone, que sur votre ordinateur, voir depuis partout dans le monde depuis Internet si vous le souhaitez.

Avertissement

Manipuler des tensions secteurs est dangereux. Si vous amenez à en utiliser, cela doit être fait avec la plus grande prudence. Pour une utilisation permanente, je vous conseille fortement d’utiliser des modules relais de bonnes qualités professionnels et de faire vérifier votre installation par un professionnel avant tout usage.

Prendre en main un relais

Un relais est très facile à utiliser, surtout quand ils sont vendus sous la forme d’un module qui contient un circuit élémentaire pour l’utiliser.

Note

Je vous encourage fortement à prendre un module tout fait qui intègre relais avec son circuit minimal, plutôt qu’utiliser le relais seul et de faire vous-même le circuit pour la partie logique (le relais en lui-même, ne rentre pas sur une breadboard et ne doit pas être mis dessus de toute façon).

Présentation et fonctionnement d’un relais

Si vous n’avez jamais utilisé un relais avant ou que par curiosité vous voulez comprendre comment il fonctionne, ses cas d’usage et ses limitations, je vous encourage fortement à consulter l’article plus théorique sur le fonctionnement d’un relais .

Très brièvement, c’est un interrupteur mécanique que l’on contrôle via l’ESP32 pour allumer/éteindre un circuit électrique costaud en courant continu (des rubans de leds RGB, des pompes) ou un appareil relié au secteur 220V (ventilateurs, lumières, appareil de chauffage, moteur…).

Branchement avec le relais SRD-05VDC-SL-C

Dans la plupart des kits Arduino, les modules utilisent le relais SRD-05VDC-SL-C du fabricant Songle. En général, ils se déclinent en 2 catégories : un module avec un unique relais et un autre avec plusieurs relais en même temps. Donc si vous prévoyez de piloter séparément plusieurs circuits de puissance dans un même projet, c’est plus intéressant de prendre un module multirelais.

Note

Ce relais est fait pour être alimenté en 5V : SRD-05VDC -SL-C. Si vous utilisez une ESP32 qui fonctionne sur batterie LiPo, alors la tension disponible sera plutôt entre 3.3V et 4.2V. Il serait donc judicieux de prendre dans ce cas, un module SRD-03VDC -SL-C qui s’alimente en 3.3V.

schéma circuit relais esp32 code Arduino

Circuit électrique à réaliser

Avertissement

Contrairement au schéma avec un transistor, la masse de la partie logique et de la partie puissance est complètement séparée. Il ne faut surtout pas les relier, surtout si c’est du 220V alternatif, ou il n’y a pas de masse !

Correspondance des broches

Module Relais

ESP32

S

32

VCC

5V

GND

GND

Sur le modèle SRD-05VDC-SL-C , il y a 3 broches pour piloter le relais :

  • La broche S , tout à gauche que l’on relie à une broche de l’ESP32 (ici GPIO32 ) . Elle permet d’envoyer un signal pour piloter le relais.

  • La broche du milieu est l’alimentation que l’on relie au 5V de l’ESP32. (3V3 si c’est le module SRD-03VDC -SL-C).

  • La dernière broche, représenté par - est la masse, que l’on relie à une broche GND .

Le relais dispose d’un bornier à 3 plots en sortie côté puissance :

  • NC : Normally Closed, en français Contact Normalement Fermé.

  • COM : La broche du milieu, appelé commun (COM).

  • NO : Normally Open : Contact Normallement Ouvert

schéma interne relais

Bornes en sortie du relais

L’appareil en circuit sera relié à la borne COM et NO ou NC en fonction de votre application. En choisissant NO , le relais sera ouvert par défaut (le circuit électrique ne serait pas fermé). Le circuit sera fermé uniquement quand un signal sera envoyé au relais.

A contrario, en choisissant les bornes COM et NC , le circuit sera fermé par défaut : l’appareil est allumé. Quand le relais sera activé, le circuit deviendra ouvert, et l’appareil branché ne sera plus alimenté.

C’est plus prudent, de choisir le mode le moins dangereux en cas de défaut de commande (ou si le relais est HS). Par exemple, si c’est pour alimenter une résistance chauffante, il vaut mieux que le circuit soit ouvert si le relais ne fonctionne plus correctement.

Note

Je vous recommande donc d’utiliser la combinaison COM et NO si c’est pour allumer ponctuellement un appareil (lampe, moteur, pompe).

Voici un exemple avec un relais qui allume un gros ventilateur d’ordinateur :

pilotage d’un ventilateur via un relais depuis un esp32

Les bornes NO et COM sont utilisées pour cette configuration

Contrôler le relais avec du code Arduino sur l’ESP32

Pour le coup, le code Arduino est ultra-simple, c’est un comme si on voulait allumer et éteindre une LED. Le code est identique au fameux sketch blink . Il n’y a pas besoin d’installer de librairies tierces.

#define RELAIS 32

void setup() {
  pinMode(RELAIS,OUTPUT);
}

void loop() {
  digitalWrite(RELAIS, HIGH); // Le circuit est fermé pendant 200ms
  delay(200);
  digitalWrite(RELAIS,LOW); // Le circuit est ouvert pendant 5s
  delay(5000);
}

Note

Le relais se contrôle en tout ou rien (0V ou 5V) et non pas avec un signal PWM à tension variable.

Et voici ce que cela donne avec le circuit proposé :

pilotage d’un ventilateur via un relais depuis un esp32

Note

Si c’est pour allumer/éteindre très fréquemment un moteur, un montage avec transistor serait plus approprié.

Des modules relais avancés multicanaux

module relai multicanaux

Il existe une variété de modules relais disponibles, qui vont de 1 à 8 canaux. Pour un système de domotique, c’est très pratique. Chacun d’entre eux peut contrôler un nombre correspondant de sorties. Ils utilisent en général le même relais bleu SRD-05VDC-SL-C.

Séparer complètement l’ESP32 du relais avec les optocoupleurs

Sur les modèles avec au moins de canaux, il y a en général un optocoupleur intégré qui permet d’isoler complètement le relais de votre ESP32.

Cette section est réservée aux abonnés. Il vous reste 81% à découvrir.

Devenir membre premium

Déjà abonné ? Connectez-vous