Étiquettes :

Lorsqu’on développe un système domotique, il est courant d’utiliser un module relais multicanal. Ces modules comportent plusieurs sorties relais (2,4,8 ou 16) et propose un branchement facilité. Cela permet de piloter plusieurs appareils à l’aide d’un seul microcontrôleur.

Matériel

  • Ordinateur
  • Arduino UNO
  • Module relais multicanal (module relais 2,4 ou 8 voies)

Principe de fonctionnement

Le relais est constitué d’un électroaimant et d’un contacteur mécanique. Lorsque le courant est suffisamment important sur la bornes d’entrée, le solénoïde se magnétise ce qui force le contacteur à fermer le circuit de puissance. Les modules multicanaux, comme son nom l’indique, possèdent plusieurs relais ce qui permet simplement de piloter différents appareils électriques.

module-relay-4-channel-overview Utilisation d'un module relais multicanal avec Arduino
module-relay-8-channel-overview Utilisation d'un module relais multicanal avec Arduino

Schéma

Le module relais 4 canaux présente une rangée de broches en entrée. La broche GND se branche à la masse de l’alimentation et à la masse du microcontrôleur. Si les masses ne sont pas reliées correctement, les signaux de commande ne seront pas pris en compte. La broche VCC se branche au 5V de l’alimentation et les broches INx sont reliées aux sorties du microcontrôleur.

arduino-module-relay-4-channel_bb Utilisation d'un module relais multicanal avec Arduino

Les branchements sont similaires pour des modules à 2 ou 8 canaux.

arduino-module-relay-8-channel_bb Utilisation d'un module relais multicanal avec Arduino

Code

Pour piloter le module relais multicanal, nous allons créer une boucle sur les sorties du microcontrôleur afin d’activer ou désactiver le relais. Le code est très similaires pour les modules relais 2, 4 ou 8 canaux.

//Constants
#define NUM_DO 4 //8

//Parameters
const int digPin[NUM_DO] = {2, 3, 4, 5}; //{2, 3, 4, 5, 6, 7, 8, 9};

void setup() {
  //Init Serial USB
  Serial.begin(9600);
  Serial.println(F(" Initialize System "));
  //Init pwm output
  for (int i = 0; i < NUM_DO; i++) pinMode(digPin[i], OUTPUT);
}

void loop() {
  for (int i = 0; i < NUM_DO; i++) {
    digitalWrite(digPin[i], HIGH);
    delay(500);
    digitalWrite(digPin[i], LOW);
    delay(500);
  }
}

Résultat

Une fois le module relais branché et le code téléversé, les LEDs et les relais devraient s’activer et se désactiver les uns à la suite des autres.

Applications

  • Créer un système domotique

Sources

Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie