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"
}
}
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...
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"
}
}
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...
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.
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?
@ 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.