Guide du module relais avec Arduino

Guide du module relais avec Arduino

Cet article montre comment contrôler la tension secteur avec l’Arduino à l’aide d’un module relais. Nous faisons une brève introduction au module relais et construisons un exemple de projet simple avec l’Arduino. L’exemple que nous allons construire montre comment contrôler un module de relais avec un Arduino et un capteur de mouvement PIR.

Guide du module relais avec Arduino

À la fin de ce didacticiel, vous devriez être capable de contrôler tous les appareils électroniques avec votre Arduino à l’aide d’un module de relais.

Présentation du module relais

Un relais est un interrupteur à commande électrique qui peut être allumé ou éteint, laissant passer le courant ou non, et peut être contrôlé avec des basses tensions, comme le 5V fourni par les broches Arduino.

Contrôler un module relais avec l’Arduino est aussi simple que contrôler n’importe quelle autre sortie comme nous le verrons plus tard.

module-relais

Ce module relais a deux canaux (ces cubes bleus). Il existe d’autres modèles avec un, quatre et huit canaux. Ce module doit être alimenté en 5V, ce qui est approprié pour une utilisation avec un Arduino. Il existe d’autres modules de relais alimentés en 3,3 V, ce qui est idéal pour ESP32, ESP8266 et autres microcontrôleurs.

Obtenir un module relais:

Brochage du relais

La figure suivante montre le brochage du module relais.

1641623765 634 Guide du module relais avec Arduino

Les six broches sur le côté gauche du module de relais connectent la haute tension et les broches sur le côté droit connectent le composant qui nécessite une basse tension, les broches Arduino.

Connexions de tension secteur

Le côté haute tension a deux connecteurs, chacun avec trois prises : commun (COM), normalement fermé (NC) et normalement ouvert (NO).

relais-étiqueté

  • COM: broche commune
  • NC (Normalement Fermé) : la configuration normalement fermée est utilisée lorsque vous souhaitez que le relais soit fermé par défaut, ce qui signifie que le courant circule à moins que vous n’envoyiez un signal de l’Arduino au module relais pour ouvrir le circuit et arrêter le courant.
  • NON (normalement ouvert) : la configuration normalement ouverte fonctionne dans l’autre sens : le relais est toujours ouvert, donc le circuit est interrompu à moins que vous n’envoyiez un signal de l’Arduino pour fermer le circuit.

Si vous souhaitez simplement allumer une lampe occasionnellement, il est préférable d’utiliser une configuration en circuit normalement ouvert.

Câblage des broches

Le côté basse tension a un jeu de quatre broches et un jeu de trois broches.

img_6361

L’ensemble à droite se compose de VCC et GND pour mettre le module sous tension, et l’entrée 1 (EN 1) et l’entrée 2 (EN 2) pour contrôler respectivement les relais inférieur et supérieur.

Le deuxième jeu de broches se compose de GND, VCC, et JD-VCC épingles. La broche JD-VCC alimente l’électroaimant du relais.

Noter: notez que le module a un capuchon de cavalier reliant les broches VCC et JD-VCC ; celui montré ici est bleu, mais le vôtre peut être d’une couleur différente. Le capuchon du cavalier vous permet de choisir si le circuit est physiquement connecté au circuit Arduino ou non, et vous pouvez choisir de l’activer ou non. Avec le capuchon du cavalier activé, les broches VCC et JD-VCC sont connectées. Cela signifie que l’électroaimant du relais est directement alimenté par la broche d’alimentation de l’Arduino, de sorte que le module de relais et les circuits Arduino ne sont pas physiquement isolés les uns des autres (c’est la configuration que nous utiliserons). Sans le capuchon du cavalier, vous devez fournir une source d’alimentation indépendante pour alimenter l’électro-aimant du relais via la broche JD-VCC. Cette configuration isole physiquement les relais de l’Arduino avec l’optocoupleur intégré au module.

Les connexions entre le module relais et l’Arduino sont vraiment simples :

  • GND: va au sol
  • EN 1: contrôle le premier relais (il sera connecté à une broche numérique Arduino)
  • EN 2: contrôle le deuxième relais (il doit être connecté à une broche numérique Arduino si vous utilisez ce deuxième relais. Sinon, vous n’avez pas besoin de le connecter)
  • VCC: passe à 5V

Exemple : contrôle d’une lampe avec un module de relais et un capteur de mouvement PIR

dsc09897

Dans cet exemple, nous créons une lampe sensible au mouvement. Une lampe s’allume pendant 10 secondes à chaque détection de mouvement.

Le mouvement sera détecté à l’aide d’un Détecteur de mouvement PIR. Si vous n’êtes pas familier avec le capteur de mouvement PIR, vous pouvez lire le post suivant :

Pour contrôler la lampe avec la tension du secteur, nous utiliserons un module relais en configuration normalement ouverte.

Alerte de sécurité

Avant de poursuivre ce projet, je tiens à vous informer que vous avez affaire à une tension secteur. Veuillez lire attentivement l’avertissement de sécurité ci-dessous.

Avertissement: lorsque vous réalisez des projets connectés au secteur, vous devez vraiment savoir ce que vous faites, sinon vous risquez de vous choquer. C’est un sujet sérieux, et nous voulons que vous soyez en sécurité. Si vous n’êtes pas sûr à 100 % de ce que vous faites, faites-vous plaisir et ne touchez à rien. Demandez à quelqu’un qui sait !

Pièces requises

Voici les pièces nécessaires pour cet exemple :

Vous pouvez utiliser les liens précédents ou aller directement sur MakerAdvisor.com/tools pour trouver toutes les pièces pour vos projets au meilleur prix !

Guide du module relais avec Arduino

Code

Copiez le code suivant sur votre IDE Arduino et téléchargez-le sur votre carte Arduino.

Avertissement: vous ne devez pas télécharger de nouveau code pendant que votre Arduino est connecté au relais.

/*********
  Rui Santos
  Complete project details at https://www.raspberryme.com  
*********/

// Relay pin is controlled with D8. The active wire is connected to Normally Closed and common
int relay = 8;
volatile byte relayState = LOW;

// PIR Motion Sensor is connected to D2.
int PIRInterrupt = 2;

// Timer Variables
long lastDebounceTime = 0;  
long debounceDelay = 10000;

void setup() {
  // Pin for relay module set as output
  pinMode(relay, OUTPUT);
  digitalWrite(relay, HIGH);
  // PIR motion sensor set as an input
  pinMode(PIRInterrupt, INPUT);
  // Triggers detectMotion function on rising mode to turn the relay on, if the condition is met
  attachInterrupt(digitalPinToInterrupt(PIRInterrupt), detectMotion, RISING);
  // Serial communication for debugging purposes
  Serial.begin(9600);
}

void loop() {
  // If 10 seconds have passed, the relay is turned off
  if((millis() - lastDebounceTime) > debounceDelay && relayState == HIGH){
    digitalWrite(relay, HIGH);
    relayState = LOW;
    Serial.println("OFF");
  }
  delay(50);
}

void detectMotion() {
  Serial.println("Motion");
  if(relayState == LOW){
    digitalWrite(relay, LOW);
  }
  relayState = HIGH;  
  Serial.println("ON");
  lastDebounceTime = millis();
}

Afficher le code brut

Comment fonctionne le code

Tout d’abord, nous créons des variables pour maintenir la broche à laquelle la broche du relais IN1 est connectée et pour enregistrer l’état du relais :

int relay = 8;
volatile byte relayState = LOW;

Le capteur de mouvement PIR est connecté à broche 2:

int PIRInterrupt = 2;

Nous devons créer des variables auxiliaires pour gérer les minuteries avec le capteur de mouvement PIR. le lastDebounceTime La variable enregistre la dernière fois qu’un mouvement a été détecté. le debounceDélai enregistre combien de temps la lampe doit rester allumée après la détection d’un mouvement (ici, nous définissons 10 secondes = 10000 millisecondes)

long lastDebounceTime = 0;
long debounceDelay = 10000;

Dans le mettre en place(), nous définissons le relais comme SORTIE et le désactivons par défaut :

pinMode(relay, OUTPUT);
digitalWrite(relay, HIGH);

Parce que nous utilisons une configuration normalement ouverte, il n’y a pas de contact entre les prises COM et NO à moins que vous ne déclenchiez le relais. Le relais est déclenché lorsque l’entrée passe en dessous d’environ 2 V. Cela signifie que si vous envoyez un signal BAS depuis l’Arduino, le relais s’allume et si vous envoyez un signal HAUT, le relais s’éteint ; cela fonctionne avec une logique inversée.

Réglez le capteur de mouvement PIR comme une interruption :

pinMode(PIRInterrupt, INPUT);
// Triggers detectMotion function on rising mode to turn the relay on, if the condition is met
attachInterrupt(digitalPinToInterrupt(PIRInterrupt), detectMotion, RISING);

Chaque fois que le capteur de mouvement PIR est déclenché, il appelle le détecterMotion() fonction déclarée en fin de code pour allumer le relais :

void detectMotion() {
    Serial.println("Motion");
    if(relayState == LOW){
        digitalWrite(relay, LOW);
    }
    relayState = HIGH;
    Serial.println("ON");
    lastDebounceTime = millis();
}

Dans le boucler(), on vérifie si 10 secondes se sont écoulées depuis que le relais est allumé. Si cette condition est vraie, nous pouvons désactiver le relais.

if((millis() - lastDebounceTime) > debounceDelay && relayState == HIGH){
    digitalWrite(relay, HIGH);
    relayState = LOW;
    Serial.println("OFF");
}

Schématique

Assemblez toutes les pièces comme indiqué sur le schéma de principe.

Avertissement: ne touchez aucun fil connecté à la tension secteur. Assurez-vous également d’avoir bien serré toutes les vis du module relais.

schémas

La lampe est connectée au relais en utilisant une configuration normalement ouverte. L’Arduino contrôle le relais via broche 8 (broche 8 est connecté à la broche du relais IN1). Enfin, le capteur de mouvement PIR est connecté à broche 2.

Manifestation

Après avoir téléchargé le code et câblé le circuit, vous pouvez tester votre configuration.

Lorsqu’un mouvement est détecté, votre lampe s’allume. S’il n’y a pas de mouvement pendant 10 secondes, la lampe s’éteint.

relais-module-gif

Conclusion

Contrôler un module relais avec l’Arduino est aussi simple que contrôler une sortie – il vous suffit d’envoyer des signaux HAUT ou BAS à l’aide d’une broche numérique Arduino. Avec le module relais, vous pouvez contrôler presque tous les appareils électroniques AC (pas seulement les lampes).

Nous espérons que vous avez trouvé ce guide utile. Si vous aimez ce projet, vous aimerez peut-être aussi notre cours premium Arduino :

Nous avons plus de 60 tutoriels et projets gratuits avec l’Arduino. Si vous cherchez un guide pour un module spécifique, nous avons probablement ce que vous cherchez.

Enfin, vous pouvez également accéder à nos ressources GRATUITES ici.

Merci d’avoir lu.

15 janvier 2019

  • ICQUANZX ARCELI 5 PCS 5 V Un Canal Relais Module Bouclier pour PIC AVR DSP Arm pour arduino Relais
    Nom: Module de kits Arduino Module de relais 5V Module de relais 1 voie ARDUINO Nouveau module de relais 5V Ce produit contient 5 modules 100% nouveau
  • AZDelivery 3 x 4 Canaux Module Relais 5V avec Optocoupleur Low-Level-Trigger Compatible avec Arduino et Raspberry Pi incluant Un E-Book!
    ✅ Obtenez maintenant 3 x 4 Canaux Module Relais 5V avec optocoupleur Low-Level-Trigger à un prix spécial avec remise sur quantité ! ✅ Cette carte 4 relais compatible avec différents microcontrôleurs comporte pour 50V AC / 5A max. ou 30V DC / 5A chacun ✅ Le module est également équipé de relais généreusement dimensionnés pour pouvoir effectuer de nombreuses opérations de commutation. ✅ Chaque canal du module est en outre relié à une LED, qui indique l'état de commutation du relais. Le module peut être monté en toute sécurité dans des boîtiers grâce aux trous de perçage pratiques. ✅ Ce produit inclut un E-Book qui fournit des informations utiles sur la façon de commencer votre projet. Il permet une installation rapide et fait gagner du temps sur le processus de configuration. On y trouve une série d'exemples d'applications, des guides d'installation complets et des bibliothèques.
  • VooGenzek 5 Pièces 5V 1-Canal Relais Module Bouclier Déclencheur de Haut Niveau pour PIC AVR DSP ARM Compatible avec Arduino et Raspberry Pi
    Fonction du produit : Le module de relais est utilisé pour contrôler les circuits AC et les allumer ou éteindre. C'est un interrupteur électrique qui répond au signal reçu du microcontrôleur (comme dans Arduino ou Raspberry Pi). Capacité du lecteur de sortie : 10A 250V AC, 10A 125V AC, 10A 30V DC, 10A 28V DC. Ovltage de fonctionnement: 5V. Avantage de conception : 8050 Triodes pour augmenter la bobine de relais. La broche de commande a un circuit de rappel pour empêcher la fausse action du relais suspendu. Le relais peut être utilisé non seulement comme module de carte de développement à puce unique, mais également comme contrôleur d'appareil ménager. Applications larges : il est souvent utilisé dans les projets IoT pour contrôler les lumières et autres appareils électroniques, tels que les télécommandes, la communication, les appareils mécatroniques, les appareils électroniques puissants, etc.