Schaltungsproblem Relais

Hallo, ich hab das Problem das ich Folgendes Relais Modul nicht schalten kann egal was ich mache. Zum Testen habe ich folgenden Code verwendet

#define RELAY_PIN 7

void setup() {
  pinMode(RELAY_PIN, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  Serial.println("Relais EIN");
  digitalWrite(RELAY_PIN, LOW);
  delay(2000);
  Serial.println("Relais AUS");
  digitalWrite(RELAY_PIN, HIGH);
  delay(2000);
}

Leider schaltet das Relais beim Booten des Arduino Uno einmal ein und bleibt dann dauerhaft aktiv. Die Verkabelung sieht wie folgt aus: Es ist etwas mehr, da eigentlich eine LĂĽftersteuerung anhand von Temperatursensoren gebaut wird.

`

Dann ist in deiner Schaltung etwas falsch.
Nimm doch mal die Steuerleitung des Relais vom Pin 7 ab.
Was passiert dann ?

Wenn die Steuerleitung entfernt wird schaltet das Relais in den aus zustand.

Ändere mal im Skecth den PIN 7 auf PIN 13
Stecke die grĂĽne Steuerleitung auf 13.

Jetzt muss mit dem neu eingespielten Sketch die ONBoard-LED blinken und mit dem blinken das Relais schalten.

Wenn nicht, mach mal bitte ein Foto vom Aufbau von oben, dass man alle Verbindungen lĂĽckenlos sieht.

Tipp:
Solltest du ein Breadboard benutzen, dann achte drauf, dass einige eine BrĂĽcke auf den Sammelschienen brauchen...

Genau das zeigt uns und dir, dass du da einen Fehler eingebaut hast, den wir nicht sehen können.

Besser:
constexpr byte relayPin = 7;
Weil Typisiert
Weil man nicht den Präprozessor bemühen muss, wenn C++ das auch selber kann.

Evtl sinnvoll, damit das Relais nicht sofort anzieht

void setup() {
  digitalWrite(RELAY_PIN,HIGH);
  pinMode(RELAY_PIN, OUTPUT);
  Serial.begin(9600);
}

Die Leitungsfarben sind unterschiedlich. Ich habe die Zeichnung oben nur fĂĽr den Post erstellt und nicht genau gewusst, welche Farben beim Projekt selber genutzt wurden.

Nur um ganz sicher zu gehen....

Berichtige das bitte!
Und wenn es dann noch immer nicht funktioniert bitte nochmal in #4 nachsehen, was ich möchte....

war auf 7 wurde aufgrund deines Vorschlages auf 13 geändert leider keine Veränderung (Code wurde auf entsprechenden Pin Angepasst). Auch die änderungen von combie haben nichts verändert

Nein.
Da war 6 - aber gut, soll mir egal sein.

mach den ganzen Kram rund rum ab.
Das Klemmding runter und bau das nur mit Relais und Controller und 3 Kabel zusammen.

Wenn es dann geht, dann kannst Du das Klemmboard aufsetzen und wieder loslegen.

Wenn das in der Minimalkonfig nicht geht, dann ist was faul.

Auch wenn ich mit dem minimal Aufbau teste bleibt das Ergebnis das selbe.
Egal welcher Code Benutzt wird.
OPT1

constexpr byte RELAY_PIN = 13;

void setup() {
  digitalWrite(RELAY_PIN,HIGH);
  pinMode(RELAY_PIN, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  Serial.println("Relais EIN");
  digitalWrite(RELAY_PIN, LOW);   // Active LOW → Relais EIN
  delay(2000);
  Serial.println("Relais AUS");
  digitalWrite(RELAY_PIN, HIGH);  // Active LOW → Relais AUS
  delay(2000);
}

OPT2

#define RELAY_PIN 13

void setup() {
  pinMode(RELAY_PIN, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  Serial.println("Relais EIN");
  digitalWrite(RELAY_PIN, LOW);
  delay(2000);
  Serial.println("Relais AUS");
  digitalWrite(RELAY_PIN, HIGH);
  delay(2000);
}

Ok, dann mach mal bitte folgendes:

Das Relay-Modul wird mit +5V und GND ganz normal mit dem ARDUINO verbunden.

Der DATA-PIN des Relay-Modul, in Deinem Bild Orange, direkt einmal mit GND auf dem ARDUINO und dann einmal mit +5V im Wechsel verbinden.

Tut sich da nix, dann mach mir mal bitte ein Bild von dem Modul von oben und unten OHNE Kabel.

DATApin -> GRND Durschalten einmalig (so wie immer)
DATAPIN -> 5V Kein Durchschalten (Gleich wie wenn Pin nicht verbunden)



Das ist richtig.
Das Relais-Modul ist LOW aktiv.
Die LED ist zwar sch... eingelötet, aber ist egal. der Rest sieht erstmal nicht falsch aus.

Mich interessiert:
Blinkt die LED des ARDUINO die mit L bezeichnet ist und die grĂĽne LED auf dem relaismodul im gleichen Takt wenn Du das insgesamt auf PIN 13 gesetzt hast?

(Die können auch beide gegeneinander an und aus sein - sie müssen nur blinken!)

Relais LED (GrĂĽn) blinkt nicht, bleibt dauerhaft aktiv. LED funktioniert, weil, wie oben beschrieben, sobald das Relais nicht schaltet, ist auch die LED aus.

Ich werd aus Deinem Text nicht ganz schlau, aber ich werd das GefĂĽhl nicht los, dass das Modul einen Schuss hat.
Wenn die Led L auf dem Board blinkt, aber die grĂĽne LED dauerhaft ON und der IN-Pin des Relais-Modul auf 13 am ARDUINO steckt, dann passt das nicht.

Habe es vielleicht etwas blöd geschrieben. Die Grüne LED Am Modul bleibt dauerhaft aktiv unabhängig der L LED des Arduinos. So ist glaub ich leichter :smiley:
20251112_224357 (2)

Dann geh ich davon aus, dass das Teil kaputt ist.

Aber wenn man das Relais-Modul ohne Arduino mit GND, 5V und einem StĂĽck Draht zwischen IN und GND steuern kann, lebt es noch...

In dem gif-Bild sieht man deutlich, dass der Arduino selbst auch lebt.

Soviel ist ja jetzt nicht zwischen den beiden Teilen. Und langsam genug für ein Messgerät ist das Ganze auch.

Ich hätte von Anfang an gemessen was der Ausgang ohne Relais macht. :grinning_face:

cu