Arduino-Code für ein 4-zu-16-Kanal-5V-Relaismodul

Arduino-Code für ein 4-zu-16-Kanal-5V-Relaismodul

In diesem Tutorial lernen wir, wie man ein 4-Kanal-Relaismodul mit einem Arduino steuert. Dadurch können Sie Wechselstromlasten wie Lampen, Ventilatoren oder Heizungen sicher und effektiv steuern. Der bereitgestellte Code kann für Module mit mehr Kanälen angepasst werden, wodurch er vielseitig für verschiedene Anwendungen einsetzbar ist.

Bevor wir ins Detail gehen, ist es wichtig, die in diesem Projekt beteiligten Komponenten zu verstehen. Das Relaismodul dient als Schalter, der Hochspannungsgeräte steuern kann, während es selbst von Niederspannungssignalen des Arduino gesteuert wird. Jedes Relais kann entweder normalerweise offen oder normalerweise geschlossen sein, was Flexibilität bei der Funktionsweise der angeschlossenen Geräte ermöglicht. Bitte beachten Sie das Video für visuelle Hinweise (im Video bei 02:15).

Hardware erklärt

Die Hauptkomponenten dieses Projekts sind das Arduino-Board und das Relaismodul. Das Arduino-Board fungiert als Steuergerät und sendet entsprechend dem von uns geschriebenen Code Signale an das Relaismodul. Das Relaismodul enthält mehrere Relais, die Wechselstromlasten ein- und ausschalten können. Jedes Relais hat drei Anschlüsse: normalerweise geschlossen (NC), normalerweise offen (NO) und einen gemeinsamen Anschluss (COM).

Wenn das Relais aktiviert wird, verbindet der gemeinsame Kontakt den normalerweise offenen Kontakt, wodurch Strom durch die Last fließen kann. Dies ist ein niederpegelgesteuertes Relais, das heißt, es schaltet bei einem niedrigen Spannungssignal (0V) ein und bei einem hohen Spannungssignal (5V) wieder aus. Das Verständnis dieses Mechanismus ist entscheidend, um Wechselstromgeräte sicher zu steuern.

Datenblatt-Details

HerstellerGenerisch
Teilenummer4-Kanal-Relaismodul
Logik-/I/O-Spannung5 V
Versorgungsspannung5 V
Ausgangsstrom (pro Kanal)max. 10 A
Spitzenstrom (pro Kanal)15 A
Hinweise zur PWM-FrequenzNicht zutreffend
Eingangslogik-SchwellenwerteNiedrig: 0 V; Hoch: 5 V
Spannungsabfall / RDS(on)/ Sättigungnicht zutreffend
Thermische Grenzwerte85 °C
PaketStandard-Relaismodul
Notizen / VariantenErhältlich in 2-, 4-, 8- und 16-Kanal-Varianten

  • Stellen Sie sicher, dass der Nennstrom des Relais nicht überschritten wird, um Schäden zu vermeiden.
  • Verwenden Sie für Anwendungen mit hohem Strombedarf separate Stromversorgungen, um das Arduino zu isolieren.
  • Sorgen Sie während des Betriebs für eine ordnungsgemäße Wärmeabfuhr der Relais.
  • Überprüfen Sie die Verkabelung sorgfältig, um Kurzschlüsse zu vermeiden.
  • Verwenden Sie bei Bedarf Optokoppler für zusätzlichen Schutz.

Verdrahtungsanleitung

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

Um das Relaismodul an Ihren Arduino anzuschließen, beginnen Sie damit, den GND-Pin des Relaismoduls mit dem GND-Pin des Arduinos zu verbinden. Verbinden Sie als Nächstes den VCC-Pin des Relaismoduls mit dem 5V-Pin des Arduinos. Für die Steuerpins verbinden Sie die IN1-, IN2-, IN3- und IN4-Pins des Relaismoduls jeweils mit den digitalen Pins 2, 3, 4 und 5 des Arduinos. Diese Konfiguration ermöglicht es dem Arduino, den Zustand jedes Relais zu steuern.

Stellen Sie sicher, dass das Relaismodul auf einer isolierten Oberfläche positioniert ist, da es mit Wechselstromlasten arbeitet. Wenn Sie ein externes Netzteil für die Relais verwenden, verbinden Sie dessen Masse (GND) mit der Arduino-Masse, um eine gemeinsame Referenz sicherzustellen. Dies ist entscheidend für den ordnungsgemäßen Betrieb und die Sicherheit.

Codebeispiele & Schritt-für-Schritt-Anleitung

Der folgende Codeausschnitt initialisiert die Anzahl der Relais und setzt die Steuerpins:

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

Dies definiert die Anzahl der Relais und die jeweils zugehörigen Arduino-Pin-Verbindungen. Das Arrayrelayenthält die zur Steuerung jedes Relais verwendeten Pin-Nummern.

Wirig relay module to AC load

Als Nächstes richten wir die Pins in dersetup()Funktion:

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

Dieser Code initialisiert den seriellen Monitor und setzt jeden Relais-Pin als Ausgang, wobei sie standardmäßig ausgeschaltet sind. Die serielle Print-Anweisung bestätigt, dass die Einrichtung abgeschlossen ist.

Die Hauptschleife des Programms steuert die 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 ==");
}

Diese Schleife schaltet zuerst jedes Relais nacheinander ein, wartet eine festgelegte Zeit und schaltet sie dann in derselben Reihenfolge wieder aus. Die serielle Ausgabe hilft, den Relaiszustand in Echtzeit zu überwachen.

Demonstration / Was Sie erwartet

Wenn Sie das Programm ausführen, sollten Sie sehen, wie die Relais nacheinander schalten und sich alle zwei Sekunden ein- und ausschalten. Wenn alles korrekt verdrahtet ist, werden die an die Relais angeschlossenen Wechselstromlasten entsprechend reagieren. Achten Sie auf die Stromaufnahme des Arduino; wenn zu viele Relais gleichzeitig aktiviert werden, kann dies die Kapazität des Boards überschreiten (im Video bei 13:45).

Video-Zeitstempel

  • 00:00Einleitung
  • 02:15Erläuterung der Hardware
  • 05:30Verdrahtungsanleitung
  • 08:45Code-Durchsicht
  • 13:45Demonstration

Bilder

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

Dinge, die Sie vielleicht brauchen

Ressourcen & Referenzen

Noch keine Ressourcen vorhanden.

Dateien📁

Fritzing-Datei