Composants · 7 min de lecture

Qu'est-ce qu'un module relais ? Piloter lampes, prises et pompes avec Arduino

Qu'est-ce qu'un module relais et comment fonctionne-t-il ? Câblage Arduino, bornes NO, NC et COM, relais actifs à l'état bas, JD-VCC et optocoupleur, ESP32 et Pico, règles de sécurité avec le secteur.

Un relais est un interrupteur commandé électriquement : un petit signal suffit pour allumer et éteindre une charge bien plus importante. Une broche d'Arduino ne fournit que 5 V et quelques dizaines de milliampères, assez pour une LED mais pas pour une lampe, un ventilateur, une pompe à eau ou un appareil branché sur le secteur 230 V. Le module relais comble ce manque : l'Arduino envoie un petit signal et le relais ferme ses contacts pour laisser passer le courant fort dans la charge. C'est la pièce maîtresse des projets domotiques, d'arrosage automatique et de minuterie.

Module relais 5V à un canal
Module relais 5 V à un canal : le boîtier bleu est le relais, les borniers à vis à côté servent au côté charge.

Comment fonctionne un relais ?

Un relais contient une bobine (un électroaimant), une palette métallique mobile et des contacts. Quand le courant traverse la bobine, le champ magnétique attire la palette et ferme les contacts ; le « clic » que tu entends, c'est ce mouvement. Quand le courant s'arrête, un ressort ramène la palette et les contacts s'ouvrent.

Le point essentiel : il n'y a aucune liaison électrique entre le côté bobine (circuit de commande) et le côté contacts (circuit de charge). Ils ne sont reliés que magnétiquement. Ton circuit Arduino en 5 V reste ainsi isolé du secteur.

Que trouve-t-on sur un module relais ?

On ne peut pas brancher un relais nu directement sur une broche d'Arduino : la bobine consomme plus de courant que la broche ne peut en fournir et, en se coupant, elle produit une surtension capable de détruire la broche. La carte du module embarque les composants qui règlent ces problèmes :

  • Transistor de commande : commute les 70 à 80 mA dont la bobine a besoin à partir du petit signal de la broche.
  • Diode de roue libre : absorbe la tension inverse produite à la coupure de la bobine et protège le transistor et l'Arduino.
  • Optocoupleur (sur certains modèles) : transmet le signal de commande par la lumière et sépare complètement l'Arduino du circuit du relais.
  • LED d'état : s'allume quand le relais est collé ; très pratique pour vérifier que ton code fonctionne.
  • Borniers à vis : pour brancher les fils de la charge solidement, sans soudure.

Que signifient NO, NC et COM ?

Le côté charge du relais possède trois bornes. Celles que tu utilises déterminent si ton appareil est allumé ou éteint quand le relais n'est pas alimenté :

BorneSignificationQuand est-elle reliée à COM ?
COMCommun ; un des fils de la charge arrive iciToujours reliée à NO ou à NC
NONormalement ouvert (Normally Open)Seulement quand le relais est collé
NCNormalement fermé (Normally Closed)Quand le relais n'est pas collé
La plupart des projets utilisent COM et NO : si l'Arduino est éteint, redémarre ou si le code se bloque, l'appareil reste éteint lui aussi. Choisis NC pour un appareil qui doit fonctionner en permanence et n'être coupé qu'occasionnellement.

Caractéristiques techniques (module 5 V courant)

CaractéristiqueValeur
Tension de bobine5 V DC
Courant de bobineEnviron 70–80 mA (par canal)
Pouvoir de coupure10 A 250 V AC / 10 A 30 V DC (inscrit sur le relais)
DéclenchementActif à l'état bas ou haut (selon le module)
Broches de commandeVCC, GND, IN (IN1, IN2... sur les modules multicanaux)
Bornes de chargeCOM, NO, NC

Brancher un module relais sur Arduino

Le côté commande demande trois fils : VCC du module sur 5V, GND sur GND et IN sur la broche numérique 7. Côté charge, tu coupes un des fils de l'appareil à commander et tu relies ses deux extrémités aux bornes COM et NO. Le relais remplace tout simplement un interrupteur mural.

Arduino (C++)
1const int RELAY_PIN = 7;
2
3void setup() {
4  pinMode(RELAY_PIN, OUTPUT);
5  digitalWrite(RELAY_PIN, HIGH);  // aktif LOW modülde kapalı başla / start OFF on active-LOW modules
6}
7
8void loop() {
9  digitalWrite(RELAY_PIN, LOW);   // röle çeker, cihaz açılır / relay on
10  delay(3000);
11  digitalWrite(RELAY_PIN, HIGH);  // röle bırakır, cihaz kapanır / relay off
12  delay(3000);
13}
Beaucoup de modules relais sont actifs à l'état bas (active LOW) : le relais colle quand la broche IN est à LOW et relâche à HIGH. La LED d'état t'indique quel type tu as. Sur une carte active à l'état haut, inverse HIGH et LOW dans le code ci-dessus. Couper d'abord le relais dans setup() évite que l'appareil s'allume un instant au démarrage de l'Arduino.

Commander le relais avec un bouton : interrupteur marche-arrêt

Dans les vrais projets, on commande le plus souvent le relais avec un bouton, un capteur ou une heure. Le code ci-dessous inverse l'état du relais à chaque appui : tu peux ainsi piloter une lampe 230 V avec un petit bouton-poussoir. Pour le câblage du bouton et les rebonds, vois Comment brancher un bouton-poussoir sur Arduino.

Arduino (C++)
1const int RELAY_PIN = 7;
2const int BUTTON_PIN = 2;      // butonun diğer ucu GND'de / other leg to GND
3
4bool relayOn = false;
5bool lastButton = HIGH;
6
7void setup() {
8  pinMode(RELAY_PIN, OUTPUT);
9  pinMode(BUTTON_PIN, INPUT_PULLUP);
10  digitalWrite(RELAY_PIN, HIGH); // başta kapalı / start OFF (active LOW)
11}
12
13void loop() {
14  bool button = digitalRead(BUTTON_PIN);
15  if (lastButton == HIGH && button == LOW) {   // yeni basış / new press
16    relayOn = !relayOn;
17    digitalWrite(RELAY_PIN, relayOn ? LOW : HIGH);
18    delay(50);                                  // sıçrama önleme / debounce
19  }
20  lastButton = button;
21}

JD-VCC et optocoupleur : isolation complète

Sur les modules à optocoupleur, à côté des broches VCC, GND et IN, on trouve une broche JD-VCC avec un cavalier. Cavalier en place, la bobine du relais est elle aussi alimentée par le 5 V de l'Arduino. Si tu retires le cavalier et branches une alimentation 5 V séparée sur JD-VCC et sa propre masse, le courant de la bobine vient entièrement de cette alimentation, et l'Arduino n'allume plus que la LED de l'optocoupleur. Avec des charges parasites comme les moteurs et les pompes, cela évite en grande partie les blocages et redémarrages de l'Arduino.

Relais avec l'ESP32 et le Raspberry Pi Pico

Les broches de l'ESP32 et du Pico délivrent 3,3 V. La plupart des modules relais 5 V se déclenchent avec ce signal, mais sur un module actif à l'état bas, un HIGH de 3,3 V ne relâche pas toujours complètement le relais ; si ton relais reste collé en permanence, c'est la raison. La solution : prendre un module à déclenchement 3,3 V, une carte à optocoupleur avec séparation JD-VCC, ou ajouter un petit transistor NPN. Le module lui-même reste alimenté en 5 V. Piloter un relais avec un Pico en MicroPython est aussi simple que ceci :

MicroPython
1from machine import Pin
2import time
3
4relay = Pin(15, Pin.OUT, value=1)   # GP15, aktif LOW: 1 = kapalı / active LOW: 1 = off
5
6while True:
7    relay.value(0)    # röle çeker / relay on
8    time.sleep(3)
9    relay.value(1)    # röle bırakır / relay off
10    time.sleep(3)

Règles de sécurité avec la tension du secteur

La tension du secteur peut tuer. Fais toujours le câblage prise débranchée, ne laisse aucun bout de fil dénudé, place le circuit dans un boîtier fermé et isolant et, en cas de doute, entraîne-toi avec un ruban LED ou un ventilateur 12 V plutôt qu'avec le 230 V. Les enfants ne doivent jamais travailler côté secteur sans un adulte.
  • Respecte le courant maximal : ne dépasse jamais la valeur inscrite sur le relais (par exemple 10A 250VAC). Avec des appareils puissants comme les radiateurs, climatiseurs ou bouilloires, reste nettement en dessous.
  • Coupe la phase : pour une lampe ou une prise, fais passer la phase dans le relais, pas le neutre, pour qu'aucune tension ne reste sur l'appareil éteint.
  • Utilise un câble adapté : les fils de breadboard ne sont pas faits pour le secteur ; côté charge, utilise un câble isolé de section suffisante.
  • Isole le dessous de la carte : la face soudée du module porte la tension du secteur ; ne la laisse pas en contact avec du métal ou la main nue.
  • Ajoute un fusible : un fusible adapté sur la ligne de charge évite un incendie en cas de court-circuit.

Relais, transistor ou relais statique ?

CaractéristiqueRelais mécaniqueTransistor / MOSFETRelais statique (SSR)
CommuteAC et DCDC uniquementSurtout AC
VitesseLent (millisecondes)Très rapide, PWM possibleRapide
BruitClicSilencieuxSilencieux
Durée de vieLes contacts s'usentTrès longueTrès longue
Idéal pourLampes, prises, pompesVitesse de moteur, rubans LEDCharges AC commutées souvent

En bref : pour allumer et éteindre un appareil de temps en temps, le relais mécanique est la solution la moins chère et la plus simple. Pour régler la vitesse d'un moteur ou la luminosité d'un ruban LED, choisis un transistor ou un MOSFET, et pour des charges AC commutées de nombreuses fois par seconde, un relais statique. Pour choisir le bon transistor, jette un œil à l'outil Transistors.

Idées de projets avec un relais

  • Arrosage intelligent : mets en marche la pompe quand le capteur d'humidité du sol signale qu'il est sec.
  • Lumière au mouvement : allume une lampe quand un capteur PIR détecte quelqu'un, puis éteins-la après un moment.
  • Ventilateur piloté par l'humidité : démarre l'extracteur de la salle de bains quand l'humidité monte ; pour la mesure, vois Capteur de température et d'humidité DHT11.
  • Prise télécommandée : commande une prise avec un récepteur IR et la télécommande de la télé.
  • Minuterie : allume et éteins l'éclairage de l'aquarium à la même heure chaque jour.
  • Contrôle depuis le téléphone : pilote une lampe depuis une page web grâce au Wi-Fi de l'ESP32.

Erreurs fréquentes et solutions

  • Le relais fonctionne à l'envers : le module est actif à l'état bas ; inverse HIGH et LOW dans le code.
  • Le relais claque sans arrêt : l'alimentation est peut-être insuffisante ; utilise une alimentation 5 V externe, surtout avec plusieurs relais.
  • L'Arduino redémarre quand le moteur tourne : parasites et chute de tension ; alimente la bobine séparément via JD-VCC et ajoute un condensateur en parallèle sur le moteur.
  • La LED s'allume mais la charge ne marche pas : les fils de la charge sont peut-être sur NC, ou une vis de bornier est desserrée.
  • Avec l'ESP32, le relais ne relâche jamais : le HIGH de 3,3 V ne peut pas couper un module actif à l'état bas ; utilise un module compatible 3,3 V ou un transistor.
  • Brancher un relais nu directement sur une broche : le courant de la bobine et la tension inverse détruisent la broche ; utilise toujours un module, ou un transistor avec une diode.

Dès que tu associes un relais à un capteur, tu commences à créer des automatismes vraiment utiles. Pour savoir à quoi sert chaque capteur, consulte le Guide des capteurs Arduino ; dans l'application BlueGrays, tu trouveras des projets de lampe, d'arrosage et d'éclairage à relais, pas à pas avec schémas.

Questions fréquentes

Pourquoi mon module relais claque-t-il sans arrêt ?

La cause la plus fréquente est une alimentation trop faible : quand le relais colle, la tension chute, l'Arduino redémarre et le relais relâche. Avec plusieurs relais ou un Arduino alimenté en USB, utilise une alimentation 5 V externe. Vérifie aussi que ton code ne contient pas une boucle qui commute le relais en permanence.

Que veut dire relais actif à l'état bas ?

C'est un module relais qui colle quand sa broche IN est à LOW (0 V) et relâche à HIGH. La plupart des modules bon marché fonctionnent ainsi. Dans le code, tu écris digitalWrite(pin, LOW) pour l'allumer et HIGH pour l'éteindre ; le mettre d'abord à HIGH dans setup() pour qu'il démarre éteint est une bonne habitude.

Peut-on commander un moteur à courant continu avec un relais ?

Pour l'allumer et l'éteindre, oui, mais tu ne pourras ni régler sa vitesse ni changer facilement son sens de rotation. Pour la vitesse, on utilise un MOSFET ou un driver moteur PWM, et pour le sens un pont en H comme le L298N.

À quoi sert le cavalier JD-VCC ?

Sur les modules à optocoupleur, il sépare l'alimentation de la bobine du relais (JD-VCC) de l'alimentation de commande (VCC). Si tu retires le cavalier et fournis un 5 V séparé à JD-VCC, l'Arduino est totalement isolé du circuit du relais et les parasites des moteurs ne l'atteignent plus.

Faut-il acheter un relais 5 V ou 12 V ?

La tension de bobine doit correspondre à la tension qui alimente le module. Pour les projets Arduino, un module à bobine 5 V est le plus pratique, car le 5 V de l'Arduino ou un chargeur USB suffit. Un relais à bobine 12 V demande une alimentation 12 V ; cela n'a rien à voir avec la tension côté charge.

Combien de relais un Arduino peut-il commander ?

Chaque relais demande une broche numérique, et un Uno en offre jusqu'à 20. La vraie limite est le courant : chaque bobine consomme environ 70 à 80 mA, donc au-delà de 2 relais, alimente le module avec une alimentation 5 V externe plutôt que par l'Arduino. Il existe aussi des modules à 8 et 16 canaux.

Voir tous les projets
Ampoule 220V avec bouton poussoir (Push)
#19Avancé
Premium

Ampoule 220V avec bouton poussoir (Push)

Projet qui contrôle une ampoule de 220V avec un bouton poussoir en utilisant un module relais. Enseigne les bases de la commutation haute tension à l'aide d'un relais.

4.4(30)
38
Ampoule brûlante 220V avec bouton (marche-arrêt)
#20Avancé
Premium

Ampoule brûlante 220V avec bouton (marche-arrêt)

Un projet qui allume et éteint une ampoule de 220V (toggle) à chaque pression sur un bouton avec le module relais. Enseigne la logique de commutation permanente avec un relais et une variable d'état.

4.5(33)
44
Ampoule brûlante 220V avec télécommande
#21Avancé
Premium

Ampoule brûlante 220V avec télécommande

Projet qui permet d'allumer et d'éteindre une ampoule de 220 V par l'intermédiaire d'un relais avec les touches d'alimentation et de sourdine d'une télécommande infrarouge. Il combine la commande infr

4.4(22)
30
Station d'irrigation intelligente
#83Avancé
Premium

Station d'irrigation intelligente

Système autonome d'irrigation des plantes qui fonctionne 24/7 sans fatiguer Arduino avec deux batteries 18650 et un régulateur LM2596. Il gère automatiquement le moteur d'arrosage en mesurant en perma

5.0(42)
57
Système d'arrosage intelligent ESP 32
#139Avancé
Premium

Système d'arrosage intelligent ESP 32

Dans le cadre de ce projet, un système d'arrosage automatique des plantes a été mis au point à l'aide d'un ESP32 et d'un capteur d'humidité du sol. Le capteur mesure en permanence le niveau d'humidité du sol. Lorsque l'humidité descend en dessous du niveau défini, l'ESP32 active le relais pour mettre la pompe en marche et arroser la plante. Lorsque le sol est suffisamment humide, la pompe s'arrête automatiquement. Ce projet permet d'arroser les plantes régulièrement et de réaliser des économies

4.7(10)
14
Éclairage Intelligent ESP32 (PIR + LDR + Relais + OLED)
#141Avancé
Premium

Éclairage Intelligent ESP32 (PIR + LDR + Relais + OLED)

Transformez votre couloir, votre salle de bain ou votre garde-manger en éclairage intelligent avec l'ESP32 ! En utilisant un capteur de mouvement PIR, un capteur de lumière LDR et un module relais, nous construisons le scénario classique "la lumière s'allume lorsqu'un mouvement est détecté dans l'obscurité" — si l'environnement est déjà lumineux, le mouvement N'ACTIVE PAS la lumière, économisant ainsi de l'énergie pendant la journée. La lumière reste allumée pendant 30 secondes ; si le mouvement

4.3(6)
11
Éclairage automatique avec le capteur de mouvement PIR ESP32
#121Intermédiaire
Premium

Éclairage automatique avec le capteur de mouvement PIR ESP32

Dans ce projet, nous allons détecter toute personne entrant dans la pièce à l'aide du capteur de mouvement PIR HC-SR501 et allumer automatiquement la LED. Lorsqu'un mouvement sera détecté, la LED restera allumée pendant un certain temps et nous gérerons le temps à l'aide de la fonction `millis()` et d'un compteur, sans avoir recours à `delay()`. Nous obtiendrons ainsi un système d'éclairage à détecteur de mouvement qui ne bloque pas l'ESP32 et permet d'effectuer d'autres tâches. Dans la vie de t

4.4(24)
38
Sonnette et lumière avec détecteur de mouvement
#25Intermédiaire
Premium

Sonnette et lumière avec détecteur de mouvement

Projet qui allume la LED et joue la mélodie de la sonnette avec le buzzer lorsque le capteur PIR détecte un mouvement. Il combine la détection de mouvement avec la notification sonore et lumineuse.

4.7(54)
70

Apprends comment fonctionne un relais, ce que signifient les bornes NO, NC et COM, comment brancher le module sur un Arduino, le commander avec un bouton et travailler en sécurité avec la tension du secteur.

Qu'est-ce qu'un module relais ? Piloter lampes, prises et pompes avec Arduino | BlueGrays