Codice Arduino per un modulo relè 5V da 4 a 16 canali

Codice Arduino per un modulo relè 5V da 4 a 16 canali

In questo tutorial impareremo come controllare un modulo relè a 4 canali utilizzando un Arduino. Questo ti permetterà di gestire carichi in corrente alternata (AC) come luci, ventole o riscaldatori in modo sicuro ed efficace. Il codice fornito può essere adattato per moduli con più canali, rendendolo versatile per varie applicazioni.

Prima di entrare nei dettagli, è essenziale comprendere i componenti coinvolti in questo progetto. Il modulo relè funge da interruttore che può controllare dispositivi ad alta tensione pur essendo comandato da segnali a bassa tensione dall'Arduino. Ogni relè può essere normalmente aperto o normalmente chiuso, consentendo flessibilità nel modo in cui i dispositivi collegati funzionano. Si prega di fare riferimento al video per una guida visiva (nel video a 02:15).

L'hardware spiegato

I componenti principali di questo progetto sono la scheda Arduino e il modulo relè. Arduino funge da unità di controllo, inviando segnali al modulo relè in base al codice che scriviamo. Il modulo relè contiene più relè che possono commutare carichi in corrente alternata (AC), accendendoli e spegnendoli. Ogni relè ha tre terminali: normalmente chiuso (NC), normalmente aperto (NO) e un terminale comune (COM).

Quando il relè è attivato, il terminale comune si collega al terminale normalmente aperto, permettendo alla corrente di fluire attraverso il carico. Questo è un relè attivato a livello basso, il che significa che si attiva quando riceve un segnale a bassa tensione (0V) e si disattiva con un segnale ad alta tensione (5V). Comprendere questo meccanismo è cruciale per controllare in sicurezza i dispositivi in corrente alternata.

Dettagli della scheda tecnica

ProduttoreGenerico
Numero di parteModulo relè a 4 canali
Tensione logica/I/O5 V
Tensione di alimentazione5 V
Corrente di uscita (per canale)Massimo 10 A
Corrente di picco (per canale)15 A
Guida alla frequenza PWMN/D
Soglie logiche d'ingressoBasso: 0 V; Alto: 5 V
Caduta di tensione su RDS(on)/ saturazioneNon applicabile
Limiti termici85 °C
PacchettoModulo relè standard
Note / variantiDisponibile in varianti da 2, 4, 8 e 16 canali

  • Assicurarsi che la corrente nominale del relè non venga superata per evitare danni.
  • Usare alimentatori separati nelle applicazioni ad alto assorbimento di corrente per isolare l'Arduino.
  • Garantire un'adeguata dissipazione del calore per i relè durante il funzionamento.
  • Controllare attentamente il cablaggio per evitare cortocircuiti.
  • Utilizzare optoisolatori, se necessario, per una protezione aggiuntiva.

Istruzioni di cablaggio

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

Per collegare il modulo relè al tuo Arduino, inizia collegando il pin GND del modulo relè al pin GND dell'Arduino. Successivamente, collega il pin VCC del modulo relè al pin 5V dell'Arduino. Per i pin di controllo, collega i pin IN1, IN2, IN3 e IN4 del modulo relè ai pin digitali 2, 3, 4 e 5 dell'Arduino, rispettivamente. Questa configurazione permette all'Arduino di controllare lo stato di ciascun relè.

Assicurati di posizionare il modulo relè su una superficie isolata, poiché gestisce carichi in corrente alternata. Se usi un’alimentazione esterna per i relè, collega la massa di quest’ultima alla massa dell’Arduino per assicurare un riferimento comune. Questo è fondamentale per il corretto funzionamento e la sicurezza.

Esempi di codice e guida passo-passo

Il seguente frammento di codice inizializza il numero di relè e imposta i pin di controllo:

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

Questo definisce il numero di relè e le corrispondenti connessioni dei pin Arduino. L'arrayrelaycontiene i numeri dei pin utilizzati per controllare ogni relè.

Wirig relay module to AC load

Successivamente configuriamo i pin insetup()funzione:

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");
}

Questo codice inizializza il monitor seriale e imposta ciascun pin dei relè come uscita, disattivandoli per impostazione predefinita. L'istruzione di stampa sulla seriale conferma che la configurazione è completa.

Il ciclo principale del programma controlla i relè:

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 ==");
}

Questo ciclo prima accende ogni relè uno alla volta, attende per un tempo specificato e poi li spegne nella stessa sequenza. L'output seriale aiuta a monitorare lo stato dei relè in tempo reale.

Dimostrazione / Cosa aspettarsi

Quando esegui il programma, dovresti vedere i relè attivarsi in sequenza, accendendosi e spegnendosi ogni due secondi. Se tutto è cablato correttamente, i carichi in AC collegati ai relè risponderanno di conseguenza. Fai attenzione all'assorbimento di corrente dall'Arduino; se vengono attivati troppi relè contemporaneamente, potrebbe superare la capacità della scheda (nel video a 13:45).

Marcatori temporali del video

  • 00:00Introduzione
  • 02:15Spiegazione dell'hardware
  • 05:30Istruzioni di cablaggio
  • 08:45Analisi passo-passo del codice
  • 13:45Dimostrazione

Immagini

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.
Lingua: C++
89-If you want to replace the loop inside setup(), then use this as shown in the video.
Lingua: C++
Copia!

Cose di cui potresti avere bisogno

Risorse e riferimenti

Nessuna risorsa ancora.

File📁

File Fritzing