Code Arduino pour un module relais 4 vers 16 canaux 5V

Code Arduino pour un module relais 4 vers 16 canaux 5V

Dans ce tutoriel, nous apprendrons comment contrôler un module relais 4 canaux à l'aide d'un Arduino. Cela vous permettra de gérer des charges en courant alternatif (AC) telles que des lumières, des ventilateurs ou des chauffages de manière sûre et efficace. Le code fourni peut être adapté à des modules comportant davantage de canaux, ce qui le rend polyvalent pour diverses applications.

Avant d'entrer dans les détails, il est essentiel de comprendre les composants impliqués dans ce projet. Le module de relais sert d'interrupteur capable de commander des appareils à haute tension tout en étant piloté par des signaux de basse tension provenant de l'Arduino. Chaque relais peut être normalement ouvert ou normalement fermé, offrant une flexibilité quant au mode de fonctionnement des appareils connectés. Veuillez vous référer à la vidéo pour une aide visuelle (dans la vidéo à 02:15).

Le matériel expliqué

Les principaux composants de ce projet comprennent la carte Arduino et le module de relais. L'Arduino joue le rôle de contrôleur, envoyant des signaux au module de relais en fonction du code que nous écrivons. Le module de relais contient plusieurs relais capables d'activer ou de couper des charges en courant alternatif (AC). Chaque relais possède trois bornes : normalement fermée (NC), normalement ouverte (NO) et une borne commune (COM).

Lorsque le relais est activé, la borne commune se connecte à la borne normalement ouverte, permettant au courant de traverser la charge. Il s'agit d'un relais activé par un niveau bas, ce qui signifie qu'il s'active lorsqu'il reçoit un signal de niveau bas (0 V) et se désactive avec un signal de niveau haut (5 V). Comprendre ce mécanisme est crucial pour contrôler en toute sécurité des appareils à courant alternatif.

Détails de la fiche technique

FabricantGénérique
Numéro de piècemodule relais 4 canaux
Tension logique/E/S5 V
Tension d'alimentation5 V
Courant de sortie (par canal)10 A maximum
Courant de crête (par canal)15 A
Recommandations de fréquence PWMSans objet
Seuils logiques d'entréeBas : 0 V ; Haut : 5 V
Chute de tension / RDS(on)/ saturationSans objet
Limites thermiques85 °C
PaquetModule relais standard
Notes / variantesDisponible en versions à 2, 4, 8 et 16 canaux

  • Veillez à ne pas dépasser le courant nominal du relais afin d'éviter tout dommage.
  • Utilisez des alimentations séparées pour les applications à fort courant afin d'isoler l'Arduino.
  • Veiller à une dissipation thermique adéquate des relais pendant leur fonctionnement.
  • Vérifiez soigneusement le câblage pour éviter les courts-circuits.
  • Utilisez des opto-isolateurs si nécessaire pour une protection supplémentaire.

Instructions de câblage

Arduino wirign for 4 channel relay to control 4 AC load
Arduino wirign for 4 channel relay to control 4 AC load

Pour câbler le module de relais à votre Arduino, commencez par connecter la broche de masse (GND) du module de relais à la broche de masse (GND) de l'Arduino. Ensuite, connectez la broche VCC du module de relais à la broche 5V de l'Arduino. Pour les broches de commande, connectez les broches IN1, IN2, IN3 et IN4 du module de relais aux broches numériques 2, 3, 4 et 5 de l'Arduino, respectivement. Cette configuration permet à l'Arduino de contrôler l'état de chaque relais.

Assurez-vous de positionner le module de relais sur une surface isolante, car il gère des charges en courant alternatif. Si vous utilisez une alimentation externe pour les relais, reliez sa masse à la masse de l'Arduino afin d'assurer une référence commune. Ceci est crucial pour le bon fonctionnement et la sécurité.

Exemples de code et guide pas à pas

L'extrait de code suivant initialise le nombre de relais et configure les broches de commande :

int ch = 4; // number of relays you have
int relay[]={2,3,4,5}; // Arduino pin numbers for relays

Ceci définit le nombre de relais et leurs connexions aux broches correspondantes de l'Arduino. Le tableaurelaycontient les numéros de broches utilisés pour contrôler chaque relais.

Wirig relay module to AC load

Ensuite, nous configurons les broches dans lesetup()fonction :

void setup() {
    Serial.begin(9600); // prepare Serial monitor
    for(i=0; i < ch; i++) {
        pinMode(relay[i], OUTPUT); // set i(th) pin as output
        digitalWrite(relay[i], HIGH); // Turn the relay OFF  
    }
    Serial.println("Robojax 4 Relay Test");
}

Ce code initialise le moniteur série et configure chaque broche de relais en sortie, les désactivant par défaut. L'appel à Serial.print confirme que la configuration est terminée.

La boucle principale du programme contrôle les relais :

void loop() {
    for(int i=0; i < ch; i++) {
        Serial.print("Relay "); Serial.print(i+1); Serial.println(" ON");
        digitalWrite(relay[i], LOW); // Turn the relay ON    
        delay(wait);  
    }
    for(int i=0; i < ch; i++) {
        Serial.print("Relay "); Serial.print(i+1); Serial.println(" OFF");
        digitalWrite(relay[i], HIGH); // Turn the relay OFF    
        delay(wait);  
    }
    Serial.println("====== loop done ==");
}

Cette boucle allume d'abord chaque relais un par un, attend pendant un temps spécifié, puis les éteint dans le même ordre. La sortie série permet de surveiller l'état des relais en temps réel.

Démonstration / À quoi s'attendre

Lorsque vous lancez le programme, vous devriez voir les relais s'activer successivement, s'allumant et s'éteignant toutes les deux secondes. Si tout est correctement câblé, les charges en courant alternatif (AC) connectées aux relais réagiront en conséquence. Méfiez-vous de l'intensité prélevée par l'Arduino : si trop de relais sont activés simultanément, cela peut dépasser la capacité de la carte (dans la vidéo à 13:45).

Horodatages vidéo

  • 00:00Introduction
  • 02:15Explication du matériel
  • 05:30Instructions de câblage
  • 08:45Présentation du code
  • 13:45Démonstration

Images

Wirig relay module to AC load
Wirig relay module to AC load
Arduino wirign for 4 channel relay to control 4 AC load
Arduino wirign for 4 channel relay to control 4 AC load
88-This is code for a 4- to 16-channel 5V relay module for Arduino.
Langue: C++
89-If you want to replace the loop inside setup(), then use this as shown in the video.
Langue: C++
Copié !

Ce dont vous pourriez avoir besoin

Ressources et références

Aucune ressource pour le moment.

Fichiers📁

Fichier Fritzing