Hallo Zusammen,
Ich weiß dieses Thema gab es schon 1000x, jedoch konnte ich bis jetzt noch keinen thread finden der mir helfen konnte daher sehe ich mich leider gezwungen einen eigenen zu eröffnen.
Ich habe folgendes vor:
Ich will ganz klassisch über einen 433 MHz transmitter (2008-8 FS1000A/XLC-FST FS1000A) ein Einschalt-/Ausschaltsignal senden und damit die zum Signal zugehörige Funksteckdose ansteuern.
Dafür habe ich zunächst zwei verschiedene Empfänger (MX-RM-5V und RF-5V) an den Arduino Uno R3 angeschlossen und bei beiden Empfängern habe ich die selben dezimal-Codes erhalten. Deshalb gehe ich davon aus, das diese Werte die richtigen sind.
Code:
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2
}
void loop() {
if (mySwitch.available()) {
Serial.print("Received ");
Serial.print( mySwitch.getReceivedValue() );
Serial.print(" / ");
Serial.print( mySwitch.getReceivedBitlength() );
Serial.print("bit ");
Serial.print("Protocol: ");
Serial.println( mySwitch.getReceivedProtocol() );
mySwitch.resetAvailable();
}
}
Die ausgelesenen Codes habe ich dann genommen und im Sender-Sketch eingefügt.
Code:
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
mySwitch.enableTransmit(14); // Connect To GPIO0 (D5)
mySwitch.setProtocol(3);
}
void loop() {
// Steckdose A einschalten
mySwitch.send(14033008, 24); //Für A: 14591040,13811248,14033008,14501552
//Für B: 14033012, 14591044, 13811252, 14501556,
//Für C: 13811260, 14501564, 14033020, 14591052
Serial.print("Steckdose A EIN durch 14033008\n");
delay(5000);
//___________________________________________________________________________________________
// Steckdose A ausschalten
mySwitch.send(14157072, 24); //Für A: 14157072, 14129296, 14641568, 13726240
//Für B: 14129300, 14157076, 13726244, 14641572
//Für C: 14641580, 14129308, 14157084, 13726252
Serial.print("Steckdose A AUS durch 14157072\n");
delay(5000);
}
Wie man sehen kann habe ich an beide Sender eine Antenne angelötet, am einen eine 17,4 cm Antenne (Von einem alten Radio) und bei dem anderen die Mitgelieferte. (Leider macht das alles keinen Unterschied bei meinem Problem ob mit oder ohne Antenne) Den Sender habe ich übrigens an einem ESP6288 angeschlossen ist aber eigentlich meines Wissens nach nicht relevant, auch da ich es mit beiden (Arduino und ESP) ausprobiert habe und das selbe Ergebnis resultierte.
Hier kommt das Problem:
Die Funksteckdose wird in den meisten Fällen nicht angesteuert, sondern nur sehr selten und nach keinem bestimmten Muster, also zufällig. Es ist auch egal welche der drei Steckdosen ich verwende alle werden mit der gleichen Unzuverlässigkeit angesteuert.
Meine Schlussfolgerungen bis jetzt:
- Da die Steckdosen allerdings ab und zu doch angesteuert werden, schließe ich ein Fehler im Programm aus.
- Auch die vom Sender ausgehenden dezimal-Codes sind korrekt (Hab ich getestet in dem ich den Empfänger-Sketch auf den Arduino geladen habe und mit dem ESP den Sender-Sketch abspielte
- Ich habe das ganze auch, möglichst weit weg von möglichen Störquellen, in einem Raum in dem außer Lampen keine elektrischen Geräte angeschlossen sind, ausprobiert. Auch hier konnte keine Verbesserung festgestellt werden.
Und jetzt nach dem ich etliche Beiträge gelesen habe, die mir alle nicht helfen konnten und ich mit meinem technischen Wissen am Ende bin, hoffe ich dass jemand schonmal ein selbes Problem hatte und eine zuverlässige Lösung finden konnte. Ich freue mich auch über neue Versuche die ich unternehmen könnte, falls ich eine Fehlerquelle noch nicht abgedeckt haben sollte.
Liebe Grüße Hannes