Piloter des appareils électriques avec un relais, une Pi Pico et MicroPython
(Mis à jour le 06/01/2023)

Si vous voulez faire de la domotique, le relais est l’élément indispensable pour contrôler divers appareils. La version récente du Raspberry Pi Pico W intègre un module Wi-Fi.
Avertissement
Manipuler des tensions secteurs est extrêmement dangereux, vous devez donc procéder avec une extrême prudence. Je recommande fortement d’utiliser des modules relais de qualité professionnelle pour une utilisation durable et de faire inspecter votre montage par un professionnel avant de l’utiliser.
Prendre en main un relais
Un relais est très facile à utiliser, surtout lorsqu’il est vendu sous forme de module avec un circuit élémentaire intégré.
Note
Je vous conseille vivement de choisir un module complet qui inclut un relais et son circuit minimal, plutôt que d’utiliser le relais seul et de créer vous-même le circuit pour la partie logique (le relais lui-même ne peut pas être posé sur une breadboard et ne doit pas l’être pour des raisons de sécurité évidentes).
Présentation et fonctionnement d’un relais
Si vous n’avez jamais utilisé de relais auparavant ou si vous souhaitez simplement comprendre comment cela fonctionne, son utilisation et ses limites, je vous recommande vivement de lire l’article plus théorique sur le fonctionnement d’un relais .
Très brièvement, un relais est un interrupteur mécanique que l’on peut contrôler avec la Raspberry Pi Pico pour allumer et éteindre un circuit électrique adjacent soit en courant continu (bandes de LED RGB, pompes), soit des appareils connectés au secteur 220V.
Branchement avec le relais SRD-05VDC-SL-C
La plupart des kits Arduino utilisent le relais SRD-05VDC-SL-C du fabricant Songle. Ces modules se divisent en 2 catégories : un module avec un seul relais ou multirelais. Si vous avez besoin de piloter séparément plusieurs circuits de puissance, il est intéressant d’opter pour un module à plusieurs canaux.
Note
Ce relais est fait pour être alimenté en 5V (le modèle SRD-03VDC- SL-C en 3.3V).

Avertissement
Contrairement à un schéma avec un transistor, la masse de la partie logique et de la partie puissance est complètement séparée. Il est donc très important de ne pas les connecter, surtout pour des tensions à 220V alternatif qui n’ont pas de masse !
Module Relais |
Raspberry Pi Pico |
---|---|
|
|
|
|
|
|
Le modèle SRD-05VDC-SL-C présente 3 broches pour commander le relais :
La broche
S
à gauche doit être connectée à une broche GPIO de la Pi Pico (iciGP0
) pour envoyer un signal pour contrôler le relais.La broche du milieu représente l’alimentation qui doit être reliée au
5V
(ou au3V3
pour le modèle SRD-03VDC-SL-C) de la Pi Pico.La dernière broche, affichée par
-
, est la masse qui doit être connectée à une brocheGND
.
Le module dispose d’un bornier à 3 plots, les contacts du relais côté puissance :
NC
: Contact Normalement Fermé.COM
: Contact COMmun.NO
: Contact Normallement Ouvert.

L’appareil doit être connecté aux bornes COM
et NO
ou NC
du relais selon votre application. Lorsque NO
est choisi, le circuit est ouvert par défaut. Le courant ne circulera que lorsqu’un signal est envoyé au relais.
Par ailleurs, la combinaison COM
et NC
veulent dire que le circuit est fermé par défaut : l’appareil sera alimenté. Quand le relais est enclenché, le circuit s’ouvre et l’appareil sera éteint.
Il est plus prudent de sélectionner le mode le moins risqué en cas de défaillance. Par exemple, si l’appareil est utilisé pour alimenter une résistance chauffante, il est préférable que le circuit soit ouvert en cas de dysfonctionnement du relais, pour éviter de provoquer un incendie…
Note
C’est pour cela, que je vous recommande d’utiliser COM
et NO
si l’objectif est d’allumer ponctuellement un appareil (lampe, moteur, pompe).
Voici un exemple avec un relais qui allume un ventilateur d’ordinateur :

Les bornes NO et COM sont utilisées pour cette configuration
Contrôler le relais avec du code Arduino sur la Pi Pico
Le script MicroPython est très simple, c’est comme allumer ou éteindre une LED. Le code est identique au fameux script blink
.
from machine import Pin
import time
pin_relay = Pin(0, mode=Pin.OUT)
while True:
pin_relay.on()
time.sleep_ms(200)
pin_relay.off()
time.sleep_ms(5000)
Et voici ce que cela donne pour allumer le ventilateur en 12V :

Note
Un montage avec transistor serait plus approprié si on voulait contrôler la vitesse du ventilateur.
Des modules relais avancés multicanaux

Une variété de modules relais est disponible, avec des options allant de 1 à 8 canaux. Chaque module peut contrôler indépendamment les relais. Les modules DIY utilisent généralement encore le relais SRD-05VDC-SL-C bleu. Cela peut être intéressant de prendre un gros module avec plusieurs relais que plusieurs petits relais pour une installation domotique.
Séparer complètement la Pi Pico du relais avec des optocoupleurs
Il est fréquent que les modules aient un optocoupleur intégré, qui est utilisé pour une isolation complète entre le relais et votre Pi Pico.
Cette section est réservée aux abonnés. Il vous reste 79% à découvrir.
Devenir membre premiumDéjà abonné ? Connectez-vous