Probleme mit 433MHz Modul

Hallo Leute,

ich bin neu in dem Thema 433MHz Funkübertragung und bin mit meinem
Latein am Ende. Ich Versuche ein Signal per 433MHz zwischen einem
Arduino Nano und einem Arduino Uno mittels RCSwitch zu versenden. Der
Empfänger scheint wunderbar zu funktionieren, da ich auf dem seriellen
Monitor Werte angezeigt bekomme sobald ich die Fernbedienung meiner
Funksteckdosen schalte. Dies gelingt auch mindestens aus 10m Entfernung.
Allerdings empfange ich kein Signal ausgehend von meinem 433MHz
Sendemodul. Ich verwede folgende Module:

Wahrscheinlich der Klassiker unter den Funkmodulen. Am Raspberry Pi
hatte ich bislang nie Probleme damit und konnte ohne Probleme
Funksteckdosen usw. schalten. Ich mache sicherlich einen total einfachen
Fehler, aber ich komme einfach nicht darauf. Ich habe auhc schon 5
verschiedene Sender ausprobiert. Könnte mir eventuell jemand helfen?

Ich verwende folgende Sketches (gefunden unter funduino):

Sender:

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();
void setup() {
  mySwitch.enableTransmit(10);  // Der Sender wird an Pin 10 
angeschlossen
}
void loop() {
  mySwitch.send(1234, 24); // Der 433mhz Sender versendet die 
Dezimalzahl „1234“
  delay(1000);  // Eine Sekunde Pause, danach startet der Sketch von 
vorne
}

Empfänger:

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

void setup()
{
  Serial.begin(9600);
  mySwitch.enableReceive(0);  // Empfänger ist an Interrupt-Pin "0" - 
Das ist am UNO der Pin2
}

void loop() {
  if (mySwitch.available()) // Wenn ein Code Empfangen wird...
  {
    int value = mySwitch.getReceivedValue(); // Empfangene Daten werden 
unter der Variable "value" gespeichert.

    if (value == 0) // Wenn die Empfangenen Daten "0" sind, wird 
"Unbekannter Code" angezeigt.
    {
      Serial.println("Unbekannter Code");
    }

    else // Wenn der Empfangene Code brauchbar ist, wird er hier an den 
Serial Monitor gesendet.
    {
      Serial.print("Empfangen: ");
      Serial.println( mySwitch.getReceivedValue() );
    }

    mySwitch.resetAvailable(); // Hier wird der Empfänger "resettet"
  }
}

Bitte helft einem Unwissenden :slight_smile:
Vielen Dank!

du solltest auch am Empfänger eine Antenne (17,4 cm Draht) anlöten.

Hallo ardubu,

erstmal vielen Dank für die Antwort. Ich habe es soeben getan (siehe Anhang). Leider keine Besserung...

Und du solltest die Anschlüsse des Senders anlöten oder richtig stecken.
So wie du die Verbindung zum Sender herstellst, gibt es keinen guten Kontakt.

Sketch vom Sender ist soweit ok, da kann ich nichts dran aussetzen.

Hallo HotSystems,

auch dir vielen Dank für die Antwort! Die Jumper Wires sind angelötet, ich kann gerade irgendwie keine Bilder hochladen. Ich habe es auch bereits andersherum versucht, sprich den Empfänger an den Arduino Nano und den Sender an den Arduino Uno. Auch dabei arbeitet der Empfänger (Test mit Fernbedienung) wunderbar, vom Sender wird allerdings nichts empfangen... Habe es mittlerweile auch schon mit der Bibliothek von Virtual Wire versucht, auch das funktioniert leider nicht. Aber du sagtest ja auch bereits das auch mein geposteter Sketch soweit in Ordnung ist.

Hat jemand noch eine Idee? Ich würde ungerne das Projekt zu den Akten legen...

Vielen Dank vorab.

So simpel wie der Sketch des Senders ist, kann man fast keine Fehler machen.

Poste mal einen Link der Library "RCSwitch" die du einsetzt. Aber bitte einen Hyperlink, keine URL.

Wenn du Signale deiner Fernbedienung empfängst, ist dann der Aufbau des Empfängers identisch zu jetzt ?

Das ist der Link zur Bibliothek die ich eingebunden habe:

Der Aufbau mit Fernbedienung ist exakt der Gleiche. Danke für die Hilfe...

Flow1984:
Das ist der Link zur Bibliothek die ich eingebunden habe:

GitHub - sui77/rc-switch: Arduino lib to operate 433/315Mhz devices like power outlet sockets.

Der Aufbau mit Fernbedienung ist exakt der Gleiche. Danke für die Hilfe...

OK...die Lib verwende ich auch. Die ist ok.

Dann setze mal das delay beim Senden hoch. Gehe mal auf 10000.
Ich glaube nicht, das hier das Problem ist, aber ein Versuch ist es Wert.

Eine Sekunde, wird gemacht :slight_smile:

Leider alles unverändert...

Ich werd verrückt, es klappt!!!!

Ich habe nun folgenden Beispielsketch am Empfänger verwendet:

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

void setup()
{
  Serial.begin(9600);
  mySwitch.enableReceive(0);  // Empfänger ist an Interrupt-Pin "0" -
}

void loop() {
  if (mySwitch.available()) // Wenn ein Code Empfangen wird...
  {
    int value = mySwitch.getReceivedValue(); // Empfangene Daten werden

    if (value == 0) // Wenn die Empfangenen Daten "0" sind, wird
    {
      Serial.println("Unbekannter Code");
    }

    else // Wenn der Empfangene Code brauchbar ist, wird er hier an den
    {
      Serial.print("Empfangen: ");
      Serial.println( mySwitch.getReceivedValue() );
    }

    mySwitch.resetAvailable(); // Hier wird der Empfänger "resettet"
  }
}

Kann mir jemand bitte erklären warum?

Vermutlich war irgendwo ein Wackler oder....oder...

Die Empfängersketche sind identisch.

Hey Leute,

sorry, ich muß den Thread leider nochmal aufleben lassen. Der Erfolg war nur von kurzer Dauer...
Ich habe nachdem es kurzzeitig lief (Empfänger und Sender waren ca. 30 cm entfernt) den Sender getrennt um die Entfernung zu testen. Es passierte nix... keine Signale wurden übertragen...
Selbst im Ausgangszustand passiert nun nichts mehr. Nur ab und zu wenn ich die beiden Antennen direkt aneinander halte wird kurz ein Signal übertragen...

Kann mir bitte nochmal jemand helfen?

Vielen Dank mal wieder!

Was verstehst Du unter "getrennt"? Nur eine räumliche Änderung oder auch in der Verschaltung?

Evtl. wieder ein Kontaktproblem durch die Bewegung?

Gruß Tommy

Hallo Tommy,

vielen Dank für die Antwort. Unter "getrennt" verstehe ich nur das ich in meinem Fall die Stromversorgung getrennt und mit einem anderen 5V Netzteil an der anderen Ecke des Raumes wieder verbunden habe. Demnach keine Änderung in der Schaltung.

Und wie hast du die 5Volt angeschlossen ?

Prüfe mal die GND-Verbindungen, nicht das da was offenes zurück geblieben ist.

Gruß Tommy

Und der Empfänger arbeitet in diesem Fall noch und empfängt auch das Signal von der Fernbedienung ?

Also ich habe nun nochmal hin und her getestet. Es funktioniert wirklich nur zuverlässig wenn ich mit dem roten gedrehten Draht des Senders direkt an die Antenne des Empfängers gehe. Von mir ein paar Gedanken:

-Der Empfänger läuft einwandfrei, daher kann es daran nicht liegen
-Die Antenne des Senders, sowie alle anderen Kontakte sind vernünftig angelötet oder gesteckt, habe gerade alles mit einem Multimeter gemessen
-In allen Beispielen die ich finde wird der Sender über den 5V Output des Arduinos versorgt, daher sollten diese doch für den Sender ausreichen, oder?
-Der Sketch ist scheinbar in Ordnung, sonst würde gar nichts gesendet werden
-Kann es sein das das Signal einfach zu schwach ist? Und wenn ja aus welchen Gründen?

Vielen Dank für Eure Antworten.

Danke für Eure Antworten, ihr seid super!

@ Tommy: Was genau meinst du mit "was offenes"? Entschuldige bitte diese bestimmt saublöde Frage...
@ HotSystems: Der Empfänger arbeitet nach wie vor super mit der Fernbedienung. Die 5V habe ich einfach über ein externes Netzteil angeschlossen.