Ersatz einer RF Fernbedienung

Hi Leuchte,

gleich mal vorweg ich bin kompletter Arduino neuling, außer ein paar wenige 20 Zeilen Codes hab ich noch nichts für ein Arduino geschrieben.

Nun zu meinem Anliegen, ich möchte mit einem MKR1000 den Rolladenmotor meiner Motorleinwand über Funk ansteuern. Der RF Sender ist von Dooya (DC1600), ich habe mittels einem Empfängers und eines Oszilloskope auch schon die über Funk übertragenen Signale abgegriffen und ausgewertet.
Pro Taste werden 9 auf einander folgende "Blöcke" zu jeweils 40 bit ausgesendet, zur veranschaulichung ist ein Foto im Anhang.

Mein Problem ist jetzt dass ich nicht weis ich ich mein Arduino dazu bekommen genau diese Signale auszusenden und welche library ich am besten verwenden soll.
Kann mir von euch jemand mittels Quellen zum nachlesen auf den richtigen Weg bringen?

Gruß, Max

Schau dir mal RC-Switch an

cryze:
Mein Problem ist jetzt dass ich nicht weis ich ich mein Arduino dazu bekommen genau diese Signale auszusenden und welche library ich am besten verwenden soll.

Du wirst aber mit dem MKR1000 nicht direkt deinen Rolladenmotor steuern können.
Vermutlich brauchst du dazu noch weitere Funkmodule, die das entsprechende Signal sende/empfangen.

Beschreibe bitte noch etwas genauer, wie du da vorgehen möchtest.

RC-Switch schau ich mir gleich mal an, vielen Dank.

Du wirst aber mit dem MKR1000 nicht direkt deinen Rolladenmotor steuern können.

Ja schon klar die entsprechenden Module mit passender frequenz und Modulation habe ich natürlich :slight_smile:

Das vorhaben ist einfach gesagt das anstatt meiner Funkfernbedienung das Arduino mit dem 433MHz Sender verwenden möchte.

Das ganze Vorhaben sieht wie folgt aus:
Logitech harmony Ultimate One, sendet über IR Signal an ein Arduino das als IR RF Wandler dient, diese Arduino Sendet an mein MKR1000 welches zum einen die Leinwand auf und abfahren lässt und zum zweiten noch einen Schrittmotor (natürlich mit extra Endstop) ansteuert, welcher eine Leinwandmaskierung bewegt. Zweck davon ist eine Multiformat-Leinwand---> Format umstellung von 16:9 auf 21:9 heißt die Leinwand fährt einstück nach oben und die Maskierung nach unten. Das Arduino soll dabei die Leinwand über einen eingebauten Timer an der richtigen stelle stoppen, heißt Signal für aufwärts bewegung senden, Timer laufen lassen und Signal für stopp senden.
Ich könnte die Leinwand auch ganz einfach über 3 Relais ansteuern anstatt über RF mit ist RF aber lieber und man will ja auch was lernen dabei :slight_smile:

Gruß, Max

Ok, da ist dann die von ardubu genannte RC-Switch die richtige Library.
Ob die zu deinem Funksystem passt, ist schwer zu sagen, einfach ausprobieren.

Die RC Switch Lib, sieht schon mal sehr gut aus, konnte schon erfolgreich ein paar bits übertragen :slight_smile:
Aber kann es sein das 40 bit´s zu viel für das Board sind?
Wollte test weise mal auf die schnell die von der Fernbedienung aufgenommene Reihnfolge übertragen, es werden zwar 40bit´s übertragen, doch die stimmen nicht mit meinem String überein, bei 24bit hat noch alles gepasst.

Gruß, Max

Das sollte eigentlich funktionieren, ich habe es allerdings bisher auch nur bis 24 Bit getestet.

Edit:
LT. agmues Post geht es nicht!

Okay, ich werds einfach weiter probieren :slight_smile:

cryze:
Aber kann es sein das 40 bit´s zu viel für das Board sind?

Möglicherweise für die Bibliothek, aus RCSwitch.h:

// Number of maximum high/Low changes per packet.
// We can handle up to (unsigned long) => 32 bit * 2 H/L changes per bit + 2 for sync
#define RCSWITCH_MAX_CHANGES 67

Ob man den Wert einfach so erhöhen darf, kannst Du probieren.

agmue:
Möglicherweise für die Bibliothek, aus RCSwitch.h:

// Number of maximum high/Low changes per packet.

// We can handle up to (unsigned long) => 32 bit * 2 H/L changes per bit + 2 for sync
#define RCSWITCH_MAX_CHANGES 67



Ob man den Wert einfach so erhöhen darf, kannst Du probieren.

Ok, also dann wohl nicht, bzw. mal testen.

Habs jz mal mit 32 bit probiert, das geht noch obwohl am ende eine 0 angehängt wird (sind also 33bit) keine Ahnung warum das so ist, ist im moment aber auch mal egal.
Den wert in der Libary hab ich mal erhöht, hat beim Compelieren zwar keinen Fehler gemeldet genützt hat es aber auch nichts :confused:

Gruß, Max