Rc-Switch: Tipps

Guten Abend zusammen

Für mein Aquarium wollte ich via 433Mhz-Funksender eine Funksteckdose bei Bedarf an- und abschalten. Die Signale meiner Fernbedienung habe ich nun mehrere Male ausgewertet und mir alle Angaben dazu notiert. Nur mit der Steckdose will's nicht klappen, diese will meine erzeugten Signale einfach nicht empfangen. Bis auf die Raw Data sind jedoch die Signale meines Senders sowie die der Fernbedienung exakt identisch (Pulslänge, Protocol...).
Die folgenden zwei Links sind noch Visualisierungen der Raw Data, einmal die Originalsignale und einmal meine Imitate (hoffe der Links funktioniert eine Weile)

Hat jemand dazu vielleicht Tipps oder weiterführende Literatur?

Liebe Grüsse und vielen Dank

Benjamin

benireloop:
.....
Hat jemand dazu vielleicht Tipps oder weiterführende Literatur?

Warum so umständlich.

Mache es mit der Library RC-Switch, damit kannst du es auslesen und auch entsprechend zum Senden verwenden. Die Beispiele darin solltest du unbedingt verwenden.

Ich habe die Rc-Switch auch verwendet, siehe Titel. Sende und empfange mithilfe dieser Library

benireloop:
Ich habe die Rc-Switch auch verwendet, siehe Titel. Sende und empfange mithilfe dieser Library

Und wenn du den Fernsteuer-Code sauber empfangen kannst, sollte das mit dem Senden auch funktionieren.

Es sei denn, du hast einen Fehler im Aufbau.
Verwendest du Antennen an den Modulen ?
Zeige ein Foto deines Aufbaus, in dem alles sauber zu erkennen ist.

Durch die Antenne hat sich die Reichweite stark erhöht, bei gewissen Einstellungen empfange ich jedoch einfach nichts mehr. Das Bild im Anhang zeigt das Sendemodul APF03, sollte bestimmt korrekt verkabelt sein. Beispielsweise führt folgende Implementierung von Protocol und PulseLength gleichzeitig zu keinem Signal mehr.

  // Optional set protocol (default is 1, will work for most outlets)
  mySwitch.setProtocol(3);

  // Optional set pulse length.
  mySwitch.setPulseLength(300);

Ich hatte noch keine Zeit genau herauszufinden, unter welchen Bedingungen ich Signale empfange und wann nicht mehr. Selbst wenn ich eine Modifikation wähle, die zu Signalen führt, stimmen die Signale in PulseLength und im Protocol nicht mit meiner Implementierung überein. Im Anhang habe ich noch einen Screenshot der Signale, die ich beispielsweise mit folgender Modifikation erhalte:

/*
  Example for different sending methods
  
  https://github.com/sui77/rc-switch/
  
*/

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

void setup() {

  pinMode(LED_BUILTIN, OUTPUT);

  Serial.begin(9600);
  
  // Transmitter is connected to Arduino Pin #10  
  mySwitch.enableTransmit(10);
  
  // Optional set protocol (default is 1, will work for most outlets)
  mySwitch.setProtocol(3);

  // Optional set pulse length.
  //mySwitch.setPulseLength(300);
  
  // Optional set number of transmission repetitions.
  // mySwitch.setRepeatTransmit(15);
  
}

void loop() {


  digitalWrite(LED_BUILTIN, LOW);
  
  mySwitch.send(10324912, 24);
  
  delay(1000);
  
  digitalWrite(LED_BUILTIN, HIGH);

  delay(10000);
}

Nun meine Fragen:

  1. Was bewirkt PulseLength und Protocol? Ist es normal, dass beide nicht unabhängig von einander gewählt werden können?

  2. Weshalb empfange ich ein Signal mit falschem Protocol?

  3. Gibt es Sender, welche nicht in der Lage sind, gewisse Modifikationen zu senden? Meine Steckdose sendet mit einer PulseLength von 100 und mit Protocol 3. Momentan kriege ich dies jedoch nicht hin, wie oben bereits erwähnt

Um ähnliche Erfahrungen/Tipps wie ich das Problem beheben könnte wäre ich sehr dankbar

Besten Dank

Benjamin