Search Code

Kod Arduino dla modułu przekaźnikowego 4-do-16 kanałów 5V

Kod Arduino dla modułu przekaźnikowego 4-do-16 kanałów 5V

W tym samouczku nauczymy się, jak sterować modułem przekaźnika 4-kanałowego za pomocą Arduino. Pozwoli Ci to bezpiecznie i skutecznie zarządzać obciążeniami prądu przemiennego, takimi jak światła, wentylatory czy grzejniki. Dostarczony kod można dostosować do modułów z większą liczbą kanałów, co czyni go uniwersalnym dla różnych zastosowań.

Zanim przejdziemy do szczegółów, ważne jest zrozumienie elementów zaangażowanych w ten projekt. Moduł przekaźnika działa jak przełącznik, który może sterować urządzeniami wysokiego napięcia, będąc jednocześnie sterowanym sygnałami niskiego napięcia z Arduino. Każdy przekaźnik może być normalnie otwarty lub normalnie zamknięty, co pozwala na elastyczność w sposobie działania podłączonych urządzeń. Zapoznaj się z filmem w celu uzyskania wskazówek wizualnych (na filmie o 02:15).

Wyjaśnienie Sprzętu

Główne elementy tego projektu obejmują płytkę Arduino i moduł przekaźnika. Arduino działa jako kontroler, wysyłając sygnały do modułu przekaźnika na podstawie napisanego przez nas kodu. Moduł przekaźnika zawiera wiele przekaźników, które mogą włączać i wyłączać obciążenia prądu przemiennego. Każdy przekaźnik ma trzy zaciski: normalnie zamknięty (NC), normalnie otwarty (NO) oraz wspólny zacisk (COM).

Gdy przekaźnik jest aktywowany, wspólny zacisk łączy się z zaciskiem normalnie otwartym, umożliwiając przepływ prądu przez obciążenie. Jest to przekaźnik wyzwalany niskim stanem, co oznacza, że aktywuje się, gdy otrzyma sygnał niskiego napięcia (0V), a dezaktywuje się przy sygnale wysokiego napięcia (5V). Zrozumienie tego mechanizmu jest kluczowe dla bezpiecznego sterowania urządzeniami prądu przemiennego.

Szczegóły z Karty Katalogowej

ProducentGeneric
Numer częściModuł przekaźnika 4-kanałowego
Napięcie logiki/IO5 V
Napięcie zasilania5 V
Prąd wyjściowy (na kanał)Maks. 10 A
Prąd szczytowy (na kanał)15 A
Zalecenia dotyczące częstotliwości PWMNie dotyczy
Progi logiczne wejściaNiski: 0 V; Wysoki: 5 V
Spadek napięcia / RDS(on) / nasycenieNie dotyczy
Limity termiczne85 °C
ObudowaStandardowy moduł przekaźnika
Uwagi / wariantyDostępny w wariantach 2, 4, 8 i 16 kanałowych

  • Upewnij się, że wartość prądu przekaźnika nie jest przekroczona, aby zapobiec uszkodzeniom.
  • Używaj oddzielnych zasilaczy do zastosowań o wysokim prądzie, aby odizolować Arduino.
  • Zapewnij odpowiednie odprowadzanie ciepła z przekaźników podczas pracy.
  • Dokładnie sprawdź okablowanie, aby uniknąć zwarć.
  • W razie potrzeby użyj izolatorów optycznych dla dodatkowej ochrony.

Instrukcje Okablowania

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

Aby podłączyć moduł przekaźnika do Arduino, zacznij od połączenia pinu masy modułu przekaźnika z pinem masy na Arduino. Następnie podłącz pin VCC na module przekaźnika do pinu 5V na Arduino. Dla pinów sterujących podłącz piny IN1, IN2, IN3 i IN4 modułu przekaźnika odpowiednio do pinów cyfrowych 2, 3, 4 i 5 na Arduino. Ta konfiguracja pozwala Arduino kontrolować stan każdego przekaźnika.

Upewnij się, że moduł przekaźnika jest umieszczony na izolowanej powierzchni, ponieważ ma do czynienia z obciążeniami prądu przemiennego. Jeśli używasz zewnętrznego zasilacza dla przekaźników, podłącz jego masę do masy Arduino, aby zapewnić wspólne odniesienie. Jest to kluczowe dla prawidłowego działania i bezpieczeństwa.

Przykłady Kodu i Omówienie

Poniższy fragment kodu inicjalizuje liczbę przekaźników i ustawia piny sterujące:

int ch = 4; // liczba posiadanych przekaźników
int relay[]={2,3,4,5}; // numery pinów Arduino dla przekaźników

To definiuje liczbę przekaźników i ich odpowiednie połączenia z pinami Arduino. Tablica relay przechowuje numery pinów używanych do sterowania każdym przekaźnikiem.

Wirig relay module to AC load

Następnie konfigurujemy piny w funkcji setup():

void setup() {
    Serial.begin(9600); // przygotowanie monitora szeregowego
    for(i=0; i < ch; i++) {
        pinMode(relay[i], OUTPUT); // ustawienie i-tego pinu jako wyjście
        digitalWrite(relay[i], HIGH); // Wyłączenie przekaźnika  
    }
    Serial.println("Robojax 4 Relay Test");
}

Ten kod inicjalizuje monitor szeregowy i ustawia każdy pin przekaźnika jako wyjście, wyłączając je domyślnie. Instrukcja serial print potwierdza, że konfiguracja jest zakończona.

Główna pętla programu steruje przekaźnikami:

void loop() {
    for(int i=0; i < ch; i++) {
        Serial.print("Relay "); Serial.print(i+1); Serial.println(" ON");
        digitalWrite(relay[i], LOW); // Włączenie przekaźnika    
        delay(wait);  
    }
    for(int i=0; i < ch; i++) {
        Serial.print("Relay "); Serial.print(i+1); Serial.println(" OFF");
        digitalWrite(relay[i], HIGH); // Wyłączenie przekaźnika    
        delay(wait);  
    }
    Serial.println("====== loop done ==");
}

Ta pętla najpierw włącza każdy przekaźnik jeden po drugim, czeka przez określony czas, a następnie wyłącza je w tej samej kolejności. Wyjście szeregowe pomaga monitorować stan przekaźników w czasie rzeczywistym.

Demonstracja / Czego się spodziewać

Po uruchomieniu programu powinieneś zobaczyć, jak przekaźniki aktywują się sekwencyjnie, włączając się i wyłączając co dwie sekundy. Jeśli wszystko jest poprawnie podłączone, obciążenia AC podłączone do przekaźników będą odpowiednio reagować. Zachowaj ostrożność co do poboru prądu z Arduino; jeśli zbyt wiele przekaźników zostanie aktywowanych jednocześnie, może to przekroczyć wydajność płyty (w filmie o 13:45).

Znaczniki czasu wideo

  • 00:00 Wprowadzenie
  • 02:15 Wyjaśnienie sprzętu
  • 05:30 Instrukcje podłączania
  • 08:45 Omówienie kodu
  • 13:45 Demonstracja

Obrazy

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.
Język: C++
++
/*
This is code to control 4 to 16 channel 5V relay modules using Arduino.
 * Watch the video on how to use 4 to unlimited relay channels: https://youtu.be/Wbm3MCMgM_s
 
 */
/*
 *  This code was written by Ahmad Shamshiri for Robojax.com.
// Written March 26, 2018, at 12:14 in Ajax, Ontario, Canada.

 *  
 */

int ch = 4;// number of relays you have
int relay[]={2,3,4,5}; // Arduino pin numbers. The same number of relays should be defined here as input pins


int wait = 2000;// delay time
int i=0;

void setup() {
    Serial.begin(9600);// prepare Serial monitor
    // set pins as output
 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");
}

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 loop


 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);  
 }// for loop

    Serial.println("====== loop done ==");

}// loop
89-If you want to replace the loop inside setup(), then use this as shown in the video.
Język: C++
pinMode(relay[0], OUTPUT);// connected to relay 1
    digitalWrite(relay[0], HIGH); // Turn the relay OFF  


    pinMode(relay[1], OUTPUT);// connected to relay 2
    digitalWrite(relay[1], HIGH); // Turn the relay OFF  

    pinMode(relay[2], OUTPUT);// connected to relay 3
    digitalWrite(relay[2], HIGH); // Turn the relay OFF  

    pinMode(relay[3], OUTPUT);// connected to relay 4
    digitalWrite(relay[3], HIGH); // Turn the relay OFF

Rzeczy, których możesz potrzebować

Zasoby i odniesienia

Brak zasobów.

Pliki📁

Plik Fritzing