Low cost Funksteckdosen + Arduino

[English version]

Für die billige Haus-Automatisierung möchte ich hier heute meine frisch geschriebene Arduino Libary für “433MHz Baumarkt Funksteckdosen” vorstellen. Weil Conrad aber näher als Max Bahr ist und ich auch lieber bei Conrad shoppe, habe ich für knapp 10 EUR die hier gekauft.

In der Fernbedienung schlummert ein SC5262 Chip (Datenblatt), welcher je nach gedrücktem Knopf ein digitales Datentelegram erzeugt und an den eigentlichen Funksender weitergibt. Nach intensivem Studium des Datenblatts und verschiedenen anderen Quellen (1) (2) (3) mit ähnlichen Projekten habe ich es auch tatsächlich auch wie folgt geschafft, die Steckdose mit einem einzigen Datenkabel am Arduino zu steuern.

Theorie
Wenn man weiss wie die Datentelegramme aussehen müssen, kann man die auch selbst mit dem Mikrocontroller erzeugen und somit auf den Encoderchip aus der Fernbedienung verzichten. Im Datenblatt steht folgendes:

Ein Code Bit besteht aus zwei An/Aus-Zuständen, wichtig ist hierbei die zeitliche Länge dieser Zustände, kann man sich so ähnlich vorstellen wie Morsezeichen. Es gibt insgesamt drei mögliche Code Bits, nämlich “0″, “1″ und “F”. Darüber hinaus gibt es noch ein Sync. Bit (ich nenn’ es mal “S”).

"0" Bit => 1/8 Taktlänge An, 3/8 Taktlängen Aus, 1/8 Taktlänge An, 3/8 Taktlängen Aus   -...-...
"1" Bit => 3/8 Taktlängen An, 1/8 Taktlänge Aus, 3/8 Taktlängen An, 1/8 Taktlänge Aus   ---.---.
"F" Bit => 1/8 Taktlänge An, 3/8 Taktlängen Aus, 3/8 Taktlängen An, 1/8 Taktlänge Aus   -...---.
"S" Bit => 1/8 Taktlänge An, 31/8 Taktlängen Aus -...............................

Ein Code Word besteht aus 9 Adress Code Bits, 3 Data Code Bits und einem Sync Bit und repräsentiert quasi den Befehl welche Steckdose (Adress Bits) was machen soll (Daten Bits).

Ein Code Frame besteht aus 4 Code Words, also im Grunde genommen wird jeder Befehl 4x wiederholt.

Die Conrad Steckdosen sind dabei folgendermaßen Codiert:
4 Bits Gruppenadresse + 4 Bits Steckdosenadresse + 1 ungenutzter Adress Bit + 1 ungenutzer Daten Bit + 2 Daten/Befehls Bits + 1 Sync Bit


Gruppenadresse I = "0FFF"
Gruppenadresse II = "F0FF"
Gruppenadresse III = "FF0F"
Gruppenadresse IV = "FFF0"

Steckdose 1 = “0FFF”
Steckdose 2 = “F0FF”
Steckdose 3 = “FF0F”
Steckdose 4 = “FFF0″

Ungenutze Datenbits = egal, also “F” oder “0″

Befehl An = “FF”
Befehl Aus = “F0″

Wenn ich also die 3. Steckdose aus der 4. Gruppe ausschalten möchte, muss ich ein “FF0FFFF0FFF0S” senden.

Hardware / Fernbedienung anzapfen

Fernbedienung öffnen, am DOUT Pin ein Kabel und zwei weitere für die Stromversorgung anlöten. DOUT kann an jeden beliebigen I/O Pin vom Arduino, den Strom kann man auch vom Arduino abzapfen (5V und GND), denn obwohl da eigentlich eine 12V Batterie drin war funktioniert das ganze auch wunderbar mit 5V.

Software
RCSwitch.zip runterladen und im Arduino/Libaries Verzeichnis entpacken. Der folgende Sketch ist eigentlich selbsterklärend :)

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch(11);  // Sender is connected to Pin #11

void setup() {
}

void loop() {
    mySwitch.switchOn(1, 1);         // Switch 1st socket on
    delay(1000);
    mySwitch.switchOff(1, 1);        // Switch 1st socket off
    delay(1000);
}

Updates

  • Die Libary liegt jetzt bei Google Code
  • Steckdosen mit DIP-Switches (in der Regel mt HX2262 oder PT2262 Encoder in der Original Fernbedienung) können auch angesteuert werden (Anleitung).
  • Billiger: Bei Praktiker gibt es 3er Sets mit etwas Glück für 6,99 EUR im Sonderangebot (thx @ Reinhard); ich persönlich habe inzwischen zur Erweiterung die Steckdosen von Pollin (9,99 EUR 3er Set)genommen.
  • Version 0.7 kann jetzt auch Codes einer Fernbedienung empfangen und decodieren
  • Einfacher: Wer nicht löten möchte, sollte sich ein fertiges Modul kaufen. Gibt es ab 5 EUR. Am billigsten inclusive Versand von Händlern aus Hong Kong/China bei eBay (Suche nach “433 Arduino” oder “RF Link”). Ansonsten hier eine Liste mit Bezugsquellen.
  • Unterstützung von Intertechno Steckdosen (thx @ Holger)


Flattr this

  1. Ich habe es versucht nachzubauen, weil ich die Idee genial finde und habe mir auch die gleichen Steckdosen im Conrad gekauft, die Kabel angelötet, und deine Klasse benutzt, jeddoch scheint es nicht zu funktionieren. Ich habe ein Arduino Uno.. Die LED auf der Fernbedienung fängt auch an zu blinken, jeddoch keine Reaktion von den Steckdosen.

      • sui77
      • May 2nd. 2011 1:53pm

      Oh, das ist blöd. Mögliche Ansätze:

      - Könnte ein Timingproblem sein. Die gesendeten Bits haben eine Länge von 8*469 Mikrosekunden, wobei ich die 469 bei mir gemessen und nur an einer einzigen Steckdose ausprobiert habe – vieleicht war das ja ein Messfehler und eine besonders tolerante Steckdose…

      Die Länge kann man optional im Konstruktor ändern. Kannst Du vieleicht mal folgendes durchtesten?

      RCSwitch mySwitch = RCSwitch(11, 300);
      RCSwitch mySwitch = RCSwitch(11, 320);
      RCSwitch mySwitch = RCSwitch(11, 330);
      [...]
      RCSwitch mySwitch = RCSwitch(11, 440);

      - Ich hatte bei mir im Laufe des Rumexperimentierens das Kabel nicht nur einfach rangelötet, sondern auch den Pin vom SC5262 tatsächlich getrennt (wobei ich mir ziemlich sicher bin, dass es auch verbunden ging).

  2. Also ich habe den Pin schon getrennt, weil ich mir vllt. dachte, dass es hätte daran liegen können. Hatte da schonmal rumprobiert, aber in anderen Schritten. Es werden auch Daten gesendet: wenn alles verbunden ist, dann blinkt die LED auch wie bei einem normalen Tastendruck. Feedback folgt.

    PS: geiles und wirklich nützliches Projekt :)

    • Also es funktioniert jetzt :) Waren 2 Fehler:
      1) ungenau gelötet => hab es jetzt an den out-Pin vom Chip direkt gelötet, da war mehr Platz ^^ und du hattest Recht, es geht auch mit verbundenem Chip
      2) bei mir springt die Steckdose bei ~680 Mikrosekunden auf das Signal an

      Danke :)

      LG Dennis

    • CaptainIffy
    • May 9th. 2011 4:01pm

    Hi,

    I’ve just completed a similar project – I had looked for other other solutions when I started, but I didn’t see yours.

    http://arduino.cc/forum/index.php/topic,60669.0.html

    • Reinhard
    • May 9th. 2011 6:20pm

    Hallo,
    habe nach deiner Anleitung eine Beschaltung für ein Funksteckdosenset vom Praktiker (im Sonderangebot für 6,99 !! für 3 Steckdosen mit Sender) vorgenommen. In der Fernbedienung ist ein HX2262 im Einsatz, der kompatibel mit dem SC5262 ist. In meiner Beschaltung musste ich den Ausgangspin des HX2262 vom Rest der Schaltung trennen. Da ich mit 5V statt 12V arbeite, habe ich den Serienwiderstand zwischen Chip und Oszillator von 20k auf 8,2k verkleinert. Die optimale Einstellung für die Delay ist in meinem Fall 320us.
    Nachdem alles mit meinem Arduino Mega lief, habe ich eine Variante mit einem Attiny13 aufgebaut als Temperaturregler. Die Temperatur wird gemessen über einen KTY81 und die Steckdose wird bei definierten Temperaturwerten aus- und mit Hysterese wieder eingeschaltet. Das Programm dafür ist keine 700 Byte groß.
    Vielen Dank für deine super Anleitung.
    Gruß aus Köln
    Reinhard

      • sui77
      • May 11th. 2011 7:38am

      Auf so elektrotechnische Details bin ich als Programmierer ja (noch) so gar nicht sensibilisiert :) Der neue Widerstand müsste nach dem Ohmschen Gesetz R(neu) = U(neu) * R(alt) / U(alt) berechnet werden, oder? Ich werd’ das bei Gelegenheit in die Anleitung aufnehmen. Danke :)

      • Michael
      • May 19th. 2011 8:37pm

      Hallo Reinhard,
      genau das Funksteckdosen-Set habe ich auch.
      Mein Problem ist die kurze Reichweite.
      Meine Elektronikkentnisse sind dermassen rudimentär bis nicht vorhanden, sodass ich gern wüsste, welchen Serienwiderstand du wo und wie verkleinert hast?
      Danke schomal!

      @sui: tolles Projekt und super Anleitung, danke dafür!

      Viele Grüße
      Michael

    • Michael
    • May 29th. 2011 9:46am

    Hallo Reinhard,
    danke für die ausführliche Beschreibung, ich werde schauen, ob ich das mit meinen Fähigkeiten gebacken bekomme :-)
    Gruß
    Michael

      • Reinhard
      • Jun 24th. 2011 10:39pm

      Inzwischen kann ich statt der Fernbedienung eine andere Variante empfehlen. Mit dem Schaltkreis http://www.watterott.com/de/RF-Link-Sender-434MHz direkt am Arduino Ausgang funktionierts hervorragend. So braucht man die Fernbedienung nicht umzubauen und kann sie weiter zusätzlich nutzen.

        • Michael
        • Jun 25th. 2011 7:51am

        Das wäre der oberhammer! Danke für den Tip!

    • Patrick
    • Jun 17th. 2011 6:52am

    Hallo,
    funktioniert die Variante von Reinhard jetzt? Wie gut ist die Reichweite? Habe auch einen HX 2262 aber kann nur über eine Entfernung von weniger als 2 cm senden…

      • Michael
      • Jun 17th. 2011 8:44am

      Hallo Patrick,
      geht mir genauso, reichweite < 2cm.
      Die lösung, die Reinhard oben gepostet hat, habe ich leider noch nicht probiert.
      Aber es wird ja auch gesagt, dass die fernbedienung ohne die modifikationen an der fernbedienung (widerstände raus/ leitungen brücken) ca. 3m reichweite hat.

        • Patrick
        • Jun 17th. 2011 5:39pm

        Sobald du die Variante von Reinhard probiert hast gib mir bitte bescheid….Ich bin mit meinem Latein am Ende, hab keinen Plan wie ich das lösen soll…
        Grüße

  3. Hi,

    ich habe die Variante von Reinhard mit der 10€ Baumarktschaltung und HX2262 gerade zum laufen gebracht. Funktioniert toll, übrigens auch mit einem 10k Widerstand, kleinere hatte ich gerade nicht da. Eine tolle Anleitung.

    • Holger
    • Aug 11th. 2011 3:51pm

    Hi,
    benutze die Steckdosen von von Intertechno samt Fernbedienung. Leider funktionieren diese nicht mit deiner Library. Hab keine Ahnung ob die ne andere Codierung der Signale verwenden, habe leider keinen Empfänger zur Hand. Vielleicht hat ja jemand Ahnung wie ich die Intertechno Dosen zum funktionieren überreden kann??

      • sui77
      • Aug 12th. 2011 4:07pm

      Ah, cool. Das Intertechno Protokoll ist wohl ziemlich ähnlich, aber da ich selber keine besitze, kann ich das auch nicht unter Garantie sagen. Sag’ bescheid wenn folgendes funktioniert, dann würde ich nämlich gerne noch eine einfach zu benutzende Methode für die Intertechno Steckdosen in die Libary packen.

      Aus Familiencode + Gerätegruppe + Gerätenummer + An/Aus-Befehl musst du einen 12 Bit String basteln, dann jeden einzelnen Bit doppelt schreiben (also statt 1 => 11, statt 0 => 00) und mit dem jetzt 24 Bit Code sollten die Dosen gesteuert werden können:

      [edit: war fehlerhaft, richtige codierung siehe etwas weiter unten]

        • Holger
        • Aug 15th. 2011 7:26pm

        Hmm,
        funktioniert leider nicht bei mir. Habe beide Möglichkeiten für An ausprobiert. Nichts. Was kann ich noch ausprobieren?

        • Holger
        • Aug 16th. 2011 7:36am

        Hab´s rausbekommen…

        Genau spiegelverkehrte binäre schreibweise (von rechts nach links schreiben) des Codes:

        Familiencode:
        a = 0000
        b = 1000
        c = 0100
        d = 1100
        e = 0010
        f = 1010
        g = 0110
        h = 1110
        i = 0001
        j = 1001
        k = 0101
        l = 1101
        m = 0011
        n = 1011
        o = 0111
        p = 1111

        Gruppe / Gerät:
        1 / 1 = 0000
        1 / 2 = 1000
        1 / 3 = 0100
        1 / 4 = 1100
        2 / 1 = 0010
        2 / 2 = 1010
        2 / 3 = 0110
        2 / 4 = 1110
        3 / 1 = 0001
        3 / 2 = 1001
        3 / 3 = 0101
        3 / 4 = 1101
        4 / 1 = 0011
        4 / 2 = 1011
        4 / 3 = 0111
        4 / 4 = 1111

        Befehl:
        An = 0111
        Aus = 0110

        Beispiel:
        Familie b (1000), Gruppe 3 / Gerät 2 (1001) / An (0111) = 100010010111
        Da die einzelnen Bits immer hinter einer 0 gesendet werden = 010000000100000100010101
        mySwitch.send(„010000000100000100010101″);

        • Holger
        • Aug 16th. 2011 7:49am

        Hier noch der link wo ich Informationen zur Codierung gefunden habe:
        http://www.mikrocontroller.net/topic/124084

        speziell die Beschreibung in der pdf:
        http://www.mikrocontroller.net/attachment/92084/avr.zip

        Grüße
        Holger

          • sui77
          • Aug 16th. 2011 8:57am

          Großartig :-) Werde das im laufe der naechsten Tage in eine eigene Funktion packen.

      • sui77
      • Aug 17th. 2011 10:40am

      Moin Holger,

      kannst Du das bitte mal mit der aktualisierten Library testen?

      http://code.google.com/p/rc-switch/downloads/detail?name=RCSwitch_rc1.zip

      Beispielaufruf: Familie b, Gruppe 3, Gerät 2:

      mySwitch.switchOn(‘b’, 3, 2);
      mySwitch.switchOff(‘b’, 3, 2);

        • Holger
        • Aug 17th. 2011 12:37pm

        Hi,
        gerade getestet, geht aber leider nicht. sicher, dass du die richtige codierung verwendest? Geschrieben jeweils von links nach rechts!

        Familiencode:
        a = 0000 =>gesendet werden muss 00000000
        b = 1000 =>01000000
        c = 0100 =>00010000
        d = 1100 =>01010000
        e = 0010 =>00000100
        f = 1010 =>01000100
        g = 0110 =>00010100
        h = 1110 =>01010100
        i = 0001 =>00000001
        j = 1001=>01000001
        k = 0101=> 00010001
        l = 1101=>01010001
        m = 0011=>00000101
        n = 1011=>01000101
        o = 0111=>00010101
        p = 1111=>01010101

        Gruppe / Gerät:
        1 / 1 = 0000 => entspricht 1 auf der Steckdose
        1 / 2 = 1000 => 2
        1 / 3 = 0100 => 3
        1 / 4 = 1100 => 4
        2 / 1 = 0010 => 5
        2 / 2 = 1010 => 6
        2 / 3 = 0110 => 7
        2 / 4 = 1110 => 8
        3 / 1 = 0001 => 9
        3 / 2 = 1001=> 10
        3 / 3 = 0101=> 11
        3 / 4 = 1101=> 12
        4 / 1 = 0011=> 13
        4 / 2 = 1011=> 14
        4 / 3 = 0111=> 15
        4 / 4 = 1111=> 16

        Gruppe / Gerät:
        1 / 1 = 0000 =>gesendet werden muss 00000000
        1 / 2 = 1000 =>01000000
        1 / 3 = 0100 =>00010000
        1 / 4 = 1100 =>01010000
        2 / 1 = 0010 =>00000100
        2 / 2 = 1010 =>01000100
        2 / 3 = 0110 =>00010100
        2 / 4 = 1110 =>01010100
        3 / 1 = 0001 =>00000001
        3 / 2 = 1001=>01000001
        3 / 3 = 0101=> 00010001
        3 / 4 = 1101=>01010001
        4 / 1 = 0011=>00000101
        4 / 2 = 1011=>01000101
        4 / 3 = 0111=>00010101
        4 / 4 = 1111=>01010101

        An:0111=> 00010101
        Aus:0101=> 00010001

        • sui77
        • Aug 17th. 2011 1:21pm

        Ah, hab für die 1en 11 statt 01 gemacht. Hier der nächste Versuch:

        http://code.google.com/p/rc-switch/downloads/detail?name=RCSwitch_rc1.1.zip

        • Holger
        • Aug 17th. 2011 6:18pm

        Jetzt geht es ohne Probleme, hab mal querdurch getestet! Super Arbeit.

        Vielen Dank
        Holger

        • sui77
        • Aug 17th. 2011 8:19pm

        Cool :)
        Danke Dir für Research + Testen :)

    • Christian M
    • Aug 16th. 2011 9:03pm

    Wo finde ich eigentlich den wiederstand in der Conrad Vernbedienung denn ich anpassen muss damit die Reichweit erhöht wird.
    Irgendwie blick ich das nicht so ganz.Hab hier noch einen der dann ja passende müsste mit 8,2kOhm rumliegen.

    Wäre sehr erfreut wenn mir jemand helfen könnte ?

      • sui77
      • Aug 16th. 2011 9:12pm

      Der DOut Pin am Chip ist der zweite von rechts oben (siehe Pfeil auf Foto im Blogeintrag). Folge der Leiterbahn an dem Pin, die sollte irgendwo an einem Widerstand enden (der andere Pfeil auf dem Foto, ich hab’ das Kabel an der Stelle angelötet weil ich nicht am Chip rumlöten wollte). Wenn Du den Widerstand ersetzen möchtest, musst Du den neuen natürlich am Lötpunkt auf der anderen Seite als abgebildet anlöten. Der neue Widerstand sollte folgenden Wert haben:

      R(neu) = U(neu) * R(alt) / U(alt)

    • Christian M
    • Aug 17th. 2011 10:45am

    Danke für deine Antwort.
    Nur zum verständniss WENN ich einen neuen Wiederstand einlöten würde könnte ich ihn hinter das element mit der nummer 334(auf dem foto oben zu sehen) löten, und vor diesen wiederstand das signal kael vom arduino richtig ?

    Deute ich deine antwort so das ich das kabel auch erst einfach mal an die selbe stelle wie du anlöten soll und es so testen kann?

      • sui77
      • Aug 17th. 2011 11:35am

      Ja, so ist das. Wobei ich zugeben muss, dass ich von Elektrotechnik nicht soo die Ahnung habe, weshalb ich das selbst tatsächlich ohne Austauschwiderstand einfach nur links rangelötet habe, was bei mir auch wunderbar funktioniert hat.

    • Christian M
    • Aug 17th. 2011 10:46am

    Edit: an meiner fernbedienung ist garkein weißes kabel dran ob wohl es die selbe von Conrad ist , hast du dieses Kabel dort angebracht ?

      • sui77
      • Aug 17th. 2011 11:37am

      Das war dran, eine Seite des Kabels hängt in der Luft => ist die Antenne.

    • Christian M
    • Aug 17th. 2011 12:47pm

    Ich werde es heute abend mal testen. Werde dann hier mal bescheid geben wie es mit reichweite und Co. aussieht.

    Übrings: Super Blog , gut geschrieben nette Software ^^ finde ich echt nicht schlecht weiter so !

    • Christian M
    • Aug 18th. 2011 6:28am

    Hab es gestern mal aufgebaut.
    Ohne den neuen Wiederstand geht gar nix ( max. reichweite <2cm) mit wieder stand war alles super :D

    Vielen dank noch mal

    • Stefan
    • Sep 2nd. 2011 5:06pm

    Mmh, kann das sein, dass bei neuen Modellen die Antenne fehlt?

    Ich habe auch kein weißes kabel. Die Platine sieht aber identisch aus.
    Könntest du freundlicherweise ein foto von der rückseite mit reinstellen, falls du eines zur verfügung hast?

      • sui77
      • Sep 2nd. 2011 9:17pm

      Die abgebildete Fernbedienung hat leider das Zeitliche gesegnet als ich sie auch praktisch in zwei Hälften sägen wollte… Bei anderen Sendern wird oft auch eine Leiterbahn mit entsprechender Länge auf dem PCB als Antenne verwendet.

    • Patrick
    • Sep 30th. 2011 4:30pm

    Hallo,

    wie funktioniert das den mit dem RF link Sender? Einfach an den Arduino anschließen und schon gehts? Wirklich so einfach?

    Gruß Patrick

    • Thomas Mühlhausen
    • Oct 8th. 2011 8:49pm

    Ich habe die gleiche Platiene wie Reinhard (https://picasaweb.google.com/lh/photo/4vHgDowxGfPgy3XJSWJn0OY8FFpXEnArDrXfgj7Zm44?feat=directlink). Da es nicht vor dem Widerstand ging bin ich ohne Widerstand an den gleichen Punkt gegangen. Funktionierte aber nur mit 12V Batterieversorgung.
    Reichweite ist gut (ca. 7m Plus 2 Wände ohne Problem)

    • Anonymous
    • Oct 19th. 2011 3:19pm

    Das mit dem RF link Sender funktioniert einwandfrei, auch mit 5 Volt ist die Rechweite > 20 Meter. einfach an den Arduino-Ausgang hängen und fertig.

    Grüße Patrick

    • gau
    • Mar 4th. 2012 7:34pm

    du glaubst gar nicht wie sehr du machinaex.de den arsch gerettet hast mit diesem tutorial und der library. dankeschön!!!

    • Tino
    • Mar 6th. 2012 6:34am

    Hallo, ich hab da nochmal ne Verständnisfrage:
    Ich bastel seit kurzen mit der Fernbedienung (Modell ganz oben wie sui77 (Conrad))rum.
    Ziel ist es die Fernbedinung wieder mit 12V zu betreiben (Batterie oder Netzteil), aber die Daten (grünes Kabel) vom Arduino zu senden. Kann ich einfach den Plus-u.Minuspol an 12V anstöpseln und die Daten weiterhin vom Arduino steuern (grünes Kabel an Arduino, rot u. schwarz an Batterie oder externes Netzteil)? Oder himmelt da irgendetwas?

      • sui77
      • Mar 7th. 2012 10:08am

      Ich würd’s nicht machen, das könnte unter Umständen Deinen Arduino schrotten.

        • Tino
        • Mar 8th. 2012 12:10pm

        Hi, ich hab’s tatsächlich hinbekommen. Der Widerstand an dem grünen Kabel hat 117k. Einfach wie oben beschrieben neu berechnet (48k) u. ersetzt. Schon stimmt die Reichweite wieder.
        Wirklich toller Blog, der auch Newbies wie mir hilft! Danke nochmal.

    • xconnected
    • Apr 5th. 2012 2:34pm

    Kann ich dieses Projekt auch mit einem RFM12b als Sender realisieren?

    • Anonymous
    • May 22nd. 2012 4:33pm

    xconnected :
    Kann ich dieses Projekt auch mit einem RFM12b als Sender realisieren?

    Würde mich auch interessieren, sind ja unheimlich günstig die Teile.

    • Günter
    • Jun 6th. 2012 2:36pm

    Hallo,
    erstmal ein fettes Lob für diese geniale Bastelanleitung!!
    Mit der RSL366T Fernbedienung von Conrad (oben im Bild) habe ich die Erfahrung emacht, daß dort ein 330K Widerstand zwischen DOUT und dem Oszillator verbaut war. Funktioniert hat es erst, nachdem ich einen 220K Widerstand parallel eingelötet hatte.

      • mathse
      • Jun 13th. 2012 9:37pm

      hallo guenter, ich glaub isch stell mich zu glatt an, kannst du mal nen foto posten wo du welchen widerstand eingeloetet hast?

    • probono
    • Jul 2nd. 2012 10:29pm

    Funktioniert hervorragend mit diesem Sender von eBay für 1,88 EUR inkl. Versand aus Hong Kong: http://www.ebay.de/itm/251074244515 (“1Pcs New 433Mhz RF transmitter and receiver link kit for ARM/MCU WL”)

    • probono
    • Jul 2nd. 2012 10:31pm

    Und ein 13 cm Draht als Antenne erhöht die Reichweite ungemein! Mit dem Hong Kong Modul reichen so 3,3V, um im ganzen Haus zu schalten.

    • Basti
    • Jul 13th. 2012 1:36pm

    Ich versteh es nicht. Bei mir funktioniert gar nichts. Habe es genauso gemacht, wie in dem Video hier: http://www.youtube.com/watch?v=KMdVuv3pGKc&feature=youtube_gdata_player

    Ich habe nämlich die selbe Fernbedienung.

    Die LED blinkt schön, aber es passiert gar nichts. Wenn ich wieder alles abstöppsel und die Batterie nehme, geht es per Hand.

    Lötstellen sind super in Ordnung, Dip-Einstellungen stimmen mit denen im Code überein… Passt alles.

    Habt ihr eine Ahnung, was das sein kann?

    • ingo
    • Jul 14th. 2012 5:06pm

    Basti, nimm am besten so ein Hongkongmodul, funktioniert geil und ist kein Gefummel. Der Originalfernbedienung reichen die 5V vom Arduino nicht, beim Hongkongmodul reichen sogar schon 3,3V …

    • Basti
    • Jul 16th. 2012 7:16am

    Klingt gut. Es war nämlich tatsächlich die Spannung, die für die Outdoor Variante des Steckdosen Sets nicht gereicht hatte … Wo bekomme ich denn diese Hongkongmodule?

    • Raven
    • Jul 16th. 2012 7:35pm

    Wo kommt denn die “Antenne” dran?

    Danke für den Blog.

    probono :
    Und ein 13 cm Draht als Antenne erhöht die Reichweite ungemein! Mit dem Hong Kong Modul reichen so 3,3V, um im ganzen Haus zu schalten.

      • Raven
      • Jul 16th. 2012 8:25pm

      Okay. Hab’ jetzt ein entsprechendes Foto gefunden für den Sender.
      Erledigt. ;-)

    • DevA
    • Jul 30th. 2012 10:24am

    Hi,

    I just read your post because i’m actually trying to send data over the SC5262 Chip, exactly as you did.

    But i currently only can receive data (with the ReceiveData_demo project for the Arduino IDE), i dunno how to send it to switch on a light.

    I used this code, using the informations that the receiveDemo_Advanced project gave me :

    #include

    RCSwitch mySwitch = RCSwitch();

    void setup () {

    Serial.begin(9600);

    mySwitch.enableTransmit(2);
    mySwitch.setRepeatTransmit(20);

    delay(700);

    }
    void loop () {

    mySwitch.send(5526871, 24); // i used the “decimal” output from the ReceiveDemo_Advanced project

    delay(1000);

    }

    What is wrong with this code ?

    I hope you could help me :-)

  4. By the way i connected the 2nd pin of my Arduino UNO to the DOUT pin, i dunno if it is correct.

    • Sven
    • Aug 3rd. 2012 8:28am

    Hallo,
    wenn ich die Version 0.7 überpfrüfe erscheinen beim kompilieren Fehlermeldungen. Ich bin noch recht neu in diesem Thema. Ich möchte mit einer Funksender über Arduino meine Rolladen steuern. Um die Fernbedienung auszulesen, habe ich eine Empfänger an dem Arduino angeschlossen. Folgende Meldungen werden ausgegebn:
    In file included from ReceiveDemo.cpp:1:
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:22:22: error: WProgram.h: No such file or directory
    In file included from ReceiveDemo.cpp:1:
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:35: error: ‘String’ has not been declared
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:35: error: ‘void RCSwitch::switchOn(int, int)’ cannot be overloaded
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:33: error: with ‘void RCSwitch::switchOn(int, int)’
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:36: error: ‘String’ has not been declared
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:36: error: ‘void RCSwitch::switchOff(int, int)’ cannot be overloaded
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:34: error: with ‘void RCSwitch::switchOff(int, int)’
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:38: error: ‘String’ has not been declared
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:47: error: ‘String’ does not name a type
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:48: error: ‘String’ does not name a type

    Ist dieser Sktech überhaupt für alle Fernbedienungen gedacht. Danke schon mal für deine Hilfe.

    • Sven
    • Aug 3rd. 2012 9:02am

    Sven :
    Hallo,
    wenn ich die Version 0.7 überpfrüfe erscheinen beim kompilieren Fehlermeldungen. Ich bin noch recht neu in diesem Thema. Ich möchte mit einer Funksender über Arduino meine Rolladen steuern. Um die Fernbedienung auszulesen, habe ich eine Empfänger an dem Arduino angeschlossen. Folgende Meldungen werden ausgegebn:
    In file included from ReceiveDemo.cpp:1:
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:22:22: error: WProgram.h: No such file or directory
    In file included from ReceiveDemo.cpp:1:
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:35: error: ‘String’ has not been declared
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:35: error: ‘void RCSwitch::switchOn(int, int)’ cannot be overloaded
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:33: error: with ‘void RCSwitch::switchOn(int, int)’
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:36: error: ‘String’ has not been declared
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:36: error: ‘void RCSwitch::switchOff(int, int)’ cannot be overloaded
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:34: error: with ‘void RCSwitch::switchOff(int, int)’
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:38: error: ‘String’ has not been declared
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:47: error: ‘String’ does not name a type
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:48: error: ‘String’ does not name a type
    Ist dieser Sktech überhaupt für alle Fernbedienungen gedacht. Danke schon mal für deine Hilfe.

    Den Fehler mit WProgram.h habe ich gelöst ;-)

    • Sven
    • Aug 3rd. 2012 9:04am

    Sven :

    Sven :
    Hallo,
    wenn ich die Version 0.7 überpfrüfe erscheinen beim kompilieren Fehlermeldungen. Ich bin noch recht neu in diesem Thema. Ich möchte mit einer Funksender über Arduino meine Rolladen steuern. Um die Fernbedienung auszulesen, habe ich eine Empfänger an dem Arduino angeschlossen. Folgende Meldungen werden ausgegebn:
    In file included from ReceiveDemo.cpp:1:
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:22:22: error: WProgram.h: No such file or directory
    In file included from ReceiveDemo.cpp:1:
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:35: error: ‘String’ has not been declared
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:35: error: ‘void RCSwitch::switchOn(int, int)’ cannot be overloaded
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:33: error: with ‘void RCSwitch::switchOn(int, int)’
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:36: error: ‘String’ has not been declared
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:36: error: ‘void RCSwitch::switchOff(int, int)’ cannot be overloaded
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:34: error: with ‘void RCSwitch::switchOff(int, int)’
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:38: error: ‘String’ has not been declared
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:47: error: ‘String’ does not name a type
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:48: error: ‘String’ does not name a type
    Ist dieser Sktech überhaupt für alle Fernbedienungen gedacht. Danke schon mal für deine Hilfe.

    Den Fehler mit WProgram.h habe ich gelöst

    Jetzt erscheint:

    core.a(main.cpp.o): In function `main’:
    D:arduino-1.0.1hardwarearduinocoresarduino/main.cpp:11: undefined reference to `setup’
    D:arduino-1.0.1hardwarearduinocoresarduino/main.cpp:14: undefined reference to `loop’

    • Sven
    • Aug 3rd. 2012 9:15am

    Sven :
    Dein Kommentar muss noch moderiert werden.

    Sven :

    Sven :
    Hallo,
    wenn ich die Version 0.7 überpfrüfe erscheinen beim kompilieren Fehlermeldungen. Ich bin noch recht neu in diesem Thema. Ich möchte mit einer Funksender über Arduino meine Rolladen steuern. Um die Fernbedienung auszulesen, habe ich eine Empfänger an dem Arduino angeschlossen. Folgende Meldungen werden ausgegebn:
    In file included from ReceiveDemo.cpp:1:
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:22:22: error: WProgram.h: No such file or directory
    In file included from ReceiveDemo.cpp:1:
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:35: error: ‘String’ has not been declared
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:35: error: ‘void RCSwitch::switchOn(int, int)’ cannot be overloaded
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:33: error: with ‘void RCSwitch::switchOn(int, int)’
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:36: error: ‘String’ has not been declared
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:36: error: ‘void RCSwitch::switchOff(int, int)’ cannot be overloaded
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:34: error: with ‘void RCSwitch::switchOff(int, int)’
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:38: error: ‘String’ has not been declared
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:47: error: ‘String’ does not name a type
    D:arduino-1.0.1librariesRCSwitchdecodier/RCSwitch.h:48: error: ‘String’ does not name a type
    Ist dieser Sktech überhaupt für alle Fernbedienungen gedacht. Danke schon mal für deine Hilfe.

    Den Fehler mit WProgram.h habe ich gelöst

    Jetzt erscheint:
    core.a(main.cpp.o): In function `main’:
    D:arduino-1.0.1hardwarearduinocoresarduino/main.cpp:11: undefined reference to `setup’
    D:arduino-1.0.1hardwarearduinocoresarduino/main.cpp:14: undefined reference to `loop’

    Entschuldige bitte falschen Sketch geladen. Die akutelle Ausgabe von RecieveDemo:

    sketch_aug03a:3: error: no matching function for call to ‘RCSwitch::RCSwitch(int)’
    D:arduino-1.0.1librariesRCSwitch/RCSwitch.h:42: note: candidates are: RCSwitch::RCSwitch()
    D:arduino-1.0.1librariesRCSwitch/RCSwitch.h:39: note: RCSwitch::RCSwitch(const RCSwitch&)
    sketch_aug03a.cpp: In function ‘void setup()’:
    sketch_aug03a:7: error: no matching function for call to ‘RCSwitch::enableReceive(int, void (&)(long unsigned int, unsigned int, unsigned int, unsigned int*))’
    D:arduino-1.0.1librariesRCSwitch/RCSwitch.h:55: note: candidates are: void RCSwitch::enableReceive(int)
    D:arduino-1.0.1librariesRCSwitch/RCSwitch.h:56: note: void RCSwitch::enableReceive()
    Schlechte Fehlerzeile: -1

    • Anonymous
    • Sep 12th. 2012 4:36pm

    hy leute erstmals gibts großen Respekt an euch alle, die so super Projekte ins Internet bringen und testen!!! So mein Problem hab auch den HX2262, ersten 5 Dipschalter (ON ON ON ON ON) die zweiten 5(ON OFF OFF OFF OFF) hab die Versorgung an die 9V des Arduinos gelegt und den Data-Pin auf die 11

    Quellcode:
    #include

    RCSwitch mySwitch = RCSwitch();

    void setup() {

    // Transmitter is connected to Arduino Pin #10
    mySwitch.enableTransmit(11);

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

    }

    void loop() {

    // Switch on:
    // The first parameter represents the setting of the first 5 DIP switches.
    // In this example it’s ON-ON-OFF-OFF-ON.
    //
    // The second parameter represents the setting of the last 5 DIP switches.
    // As only one of these must be ON, it’s the number of the DIP switch which
    // is ON. In this example the last 5 DIP switches are OFF-ON-OFF-OFF-OFF.
    mySwitch.switchOn(“11111″, 1);

    // Wait a second
    delay(1000);

    // Switch off
    mySwitch.switchOff(“11111″, 1);

    // Wait another second
    delay(1000);

    }
    was mach ich falsch bitte um eure Hilfe

    LG

    • Daniel
    • Oct 8th. 2012 7:45pm

    Hallo,
    Ich habe als Sender einen 433 von Ebay genommen und würde gerne jetzt mit dem Arduino und der Fernbedienung arbeiten, aber irgendwie geht die Fernbedienung nicht mehr wenn der Arduino Strom hat. Irgendeine Lösungsidee?

    • Stefan
    • Nov 13th. 2012 6:18pm

    probono :
    Funktioniert hervorragend mit diesem Sender von eBay für 1,88 EUR inkl. Versand aus Hong Kong: http://www.ebay.de/itm/251074244515 (“1Pcs New 433Mhz RF transmitter and receiver link kit for ARM/MCU WL”)

    Probiere schon ewig mit dem Modul aber leider ohne Erfolg. Könntest Du mal ein Beispiel posten?
    Danke,
    Stefan.

    • Franz
    • Dec 24th. 2012 12:46pm

    Hey super Sache dein Projekt!

    Eine Frage:
    Ich bin ein ziemlicher Elektrotechniknoob, will dieses Projekt aber unbedingt verwirklichen. Habe mir ein RF Link Set von Ebay gekauft.
    http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=110916849186

    Der Transmitter hat aber nur 3 Beinchen, wo muss ich diese im Unterschied zu den Transmittern mit 4 Beinen am Arduino anschließen?

    Zur Steigerung der Reichweite möchte ich außerdem eine Antenne anlöten. Weißt du, an welchem Punkt des Moduls dies möglich ist?

    VIelen Dank und frohe Weihnachten

    Franz

    • sui77
    • Dec 24th. 2012 12:51pm

    Bei den Sendern mit vier Beinchen ist noch einer für eine externe Antenne. Ich würde sagen:

    ATAD = Datenpin, also der Pin der im Sketch mit mySwitch.enableTransmit(10); definiert wird.

    VCC = 5V
    GND = GND

    • Franz
    • Dec 25th. 2012 12:59am

    Danke für die schnelle Antwort! :)

    • bjoern
    • Dec 25th. 2012 7:36pm

    Vielen Dank für diese super Library.
    Ich hab nur mal eine Frage, ich habe nämlich die Intertechno Steckdosen, die sind ja nicht mehr per Dip Switch einzustellen. Zumindest habe ich keinen gefunden.

    Geh ich recht in der Annahme das ich meine FB erst einmal mit einem Empfänger am Arduino “belauschen” muss um die Daten zu schalten meiner Steckdosen zu bekommen?

    • patrick
    • Dec 29th. 2012 9:00am

    hallo,

    möchte die intertechno itr-1500 per arduino steuern…

    wo zapfe ich fernbedinung dafür an (:

    hier ein bild :

    http://s7.directupload.net/images/121229/5otgs2w4.jpg

    http://s14.directupload.net/images/121229/h3r7sv9o.jpg

    • finn
    • Jan 2nd. 2013 12:59pm

    hallo,
    ich hab mir diese fernbedienung von conrad geholt ein kabel an den doutpin gelötet und den code auf das arduino geladen doch als ich es am arduino angeschlossen hatte passierte garnichts! danach hatte ich probiert ob die fernbedienug manuell noch bedienbar währe doch dies wahr auch nicht der fall.was kann ich falsch gemacht haben ich hab alles so wie auf dem bild gelötet.

    quellcode:

    /*
    Example for outlets which are configured with a 10 pole DIP switch.

    http://code.google.com/p/rc-switch/
    */

    #include

    RCSwitch mySwitch = RCSwitch();

    void setup() {

    // Transmitter is connected to Arduino Pin #10
    mySwitch.enableTransmit(10);

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

    }

    void loop() {

    // Switch on:
    // The first parameter represents the setting of the first 5 DIP switches.
    // In this example it’s ON-ON-OFF-OFF-ON.
    //
    // The second parameter represents the setting of the last 5 DIP switches.
    // In this example the last 5 DIP switches are OFF-ON-OFF-ON-OFF.
    mySwitch.switchOn(“11001″, “01010″);

    // Wait a second
    delay(1000);

    // Switch off
    mySwitch.switchOff(“11001″, “01010″);

    // Wait another second
    delay(1000);

    }

    • Valentin Schaller
    • Jan 2nd. 2013 1:54pm

    Hallo
    Ich habe ihr Programm nach dem herunterladen in arduino geöfnet.
    Wenn ich es nun kompelieren will Zeigt es folgene Fehlermeldung an :

    sketch_jan02a:4: error: ‘RCSwitch’ does not name a type
    sketch_jan02a.ino: In function ‘void setup()’:
    sketch_jan02a:10: error: ‘mySwitch’ was not declared in this scope
    sketch_jan02a.ino: In function ‘void loop()’:
    sketch_jan02a:16: error: ‘mySwitch’ was not declared in this scope

    Das ist das Programm:

    #include ;

    RCSwitch mySwitch = RCSwitch();

    void setup() {

    Serial.begin(9600);

    mySwitch.enableTransmit(10);

    }

    void loop() {

    mySwitch.switchOn(“11111″, “00010″);
    delay(1000);
    mySwitch.switchOn(“11111″, “00010″);
    delay(1000);

    mySwitch.send(5393, 24);
    delay(1000);
    mySwitch.send(5396, 24);
    delay(1000);

    mySwitch.send(“000000000001010100010001″);
    delay(1000);
    mySwitch.send(“000000000001010100010100″);
    delay(1000);

    mySwitch.sendTriState(“00000FFF0F0F”);
    delay(1000);
    mySwitch.sendTriState(“00000FFF0FF0″);
    delay(1000);

    delay(20000);
    }

    Ich würde mich über Hilfe sehr freuen

    • finn
    • Jan 5th. 2013 12:28pm

    kann mir irgendjemand helfen? die funksteckdosen springen nicht an aber die fernebdinug funktioniert! hat vieleicht jemand eine lösung?

    den code den ich verwende:

    /*
    Example for outlets which are configured with two rotary/sliding switches.

    http://code.google.com/p/rc-switch/
    */

    #include

    RCSwitch mySwitch = RCSwitch();

    void setup() {

    // Transmitter is connected to Arduino Pin #10
    mySwitch.enableTransmit(13);

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

    }

    void loop() {

    // Switch on:
    // The first parameter represents the setting of the first rotary switch.
    // In this example it’s switched to “1″ or “A” or “I”.
    //
    // The second parameter represents the setting of the second rotary switch.
    // In this example it’s switched to “4″ or “D” or “IV”.
    mySwitch.switchOn(1, 4);

    // Wait a second
    delay(1000);

    // Switch off
    mySwitch.switchOff(1, 4);

    // Wait another second
    delay(1000);

    }

    ich freue mich über jede hilfe! :D D

    • Chris M.
    • Feb 19th. 2013 10:50am

    Ich möchte ein “Conrad Funkschalter-Set RS 202 Nr. 613002″ schalten. Hat jemand Erfahrung mit dem Set?

    In der Fernbedienung ist der Chip unter einem Epoxy-Fleck versteckt.

    https://plus.google.com/u/0/107344171403657182162/posts/CAoBCftn66y

    Was mich vor allem irritiert, ist, dass man bei dem Modell an der Fernbedienung nach Einlegen der Batterie einen vierstelligen Code mit Ziffern von 1-4 einstellen muss und anschließend die Steckdose per Fernbedienung auf diesen Code und einen von vier “Kanälen” per Fernbedienung programmiert.

    Ist die Library mit so einem Set kompatibel?

    • Chris M.
    • Feb 20th. 2013 9:08am

    Danke für das tolle Projekt.

    Ich habe es mit einer ELRO Wireless Home Control für 8.95 EUR von OBI und einem Arduino Uno bzw. einem Diavolino hinbekommen.

    Die Versorgungsspannung für die Fernbedienung nehme ich vom 5V (Arduino Uno) bzw. Vcc (Diavolino). Ich gehe über einen 10k Ohm-Widerstand an den Sender, die Leitung zum PIN 17 des Chips auf der Fernbedienung habe ich mit einem Schraubenzieher durchgeschabt.

    Die Reichweite ist mehrere Meter, auch durch Mauerwerk.

    https://plus.google.com/u/0/107344171403657182162/posts/2U7FJWpRNmK

    • ASgar
    • Mar 26th. 2013 7:42pm

    Hi Leute,

    ich hab mir eine Funksteckdose von Polin einen Arduino UNO und einen RF Link 434 mhz bestellt. Nun hab ich alles daheim rumliegen und weiß irgendwie nichtmehr weiter. Software hab ich runtergeladen aber keine ahnung was ich machen muss. Wäre super wenn mir jemand helfen könnte. Lg Tom

    • marv
    • Apr 2nd. 2013 11:13pm

    Ich hab mir bei eBay jetzt mal nen 433Mhz Sender gekauft, weil ich mein HX2262 gegrillt habe und ungern eine neue Fernbedinung bestellen will. Wie steuer ich den Sender denn aber jetzt eigentlich an ? Die Steckdosen haben DIP Schalter 1-5 und A-E.

    Am Sender habe ich 4 Pins: Antenne, +, -, Daten

    Hast Du da Infos ? Danke!

    • malli
    • Apr 3rd. 2013 2:16pm

    hey s

    vielen dank für deine super library! funktioniert mit arduino + china rf433 sender hervorragend.

    ich will jetzt die library mal auf einem atmega ohne arduino ausprobieren. dazu habe ich einfach die RCSwitch:transmit funktion geändert:
    digitalWrite(…, HIGH) zu PORTB |= (1 << …)
    digitalWrite(…, LOW) zu PORTB &= ~(1 << …)

    sowie eine delayMicroseconds funktion implementiert:
    void delayMicroseconds(uint8_t x) {
    uint8_t i;

    for (i = 0; i<x; i++) {
    _delay_us(1);
    }
    }

    die receive funktionen benötige ich nicht, daher hab ich einfach RCSwitchDisbaleReceiving definiert.

    allerdings funktioniert es so leider nicht, hab ich irgendetwas übersehen?

    lg
    malli

    • Chris
    • May 7th. 2013 11:19pm

    Hallo Malli,

    Ich bin auch gerade dabei das ganze auf einem Atmega umzusetzen und heute hatte ich endlich die ersten Erfolge!

    Das Problem war bei mir das die Sache mit den Delays irgendwie zu ungenau war ich hatte im schnitt immer 200us Pulslänge mehr.

    Mit einem Logicanalyzer nachgeschaut waren es bei meiner Fernbedienung genau 495us wenn ich nun ein delay von 300us benutze funktioniert alles wie es soll :)

    Ich Benutze übrigens folgendes Modul: “RF Link Transmitter – 434MHz. WRL-08946″

    • Gerald
    • May 22nd. 2013 10:49am

    Hallo Leute, kann mir jemand helfen?
    Ich bekomme folgende Fehlermeldung

    RCSwitchTest:11: error: no matching function for call to ‘RCSwitch::RCSwitch(int)’
    G:\ArduinoProjekte\libraries\RCswitch/RCSwitch.h:61: note: candidates are: RCSwitch::RCSwitch()
    G:\ArduinoProjekte\libraries\RCswitch/RCSwitch.h:58: note: RCSwitch::RCSwitch(const RCSwitch&)

    wenn ich diesen Code compiliere:

    RCSwitchTest:11: error: no matching function for call to ‘RCSwitch::RCSwitch(int)’
    G:\ArduinoProjekte\libraries\RCswitch/RCSwitch.h:61: note: candidates are: RCSwitch::RCSwitch()
    G:\ArduinoProjekte\libraries\RCswitch/RCSwitch.h:58: note: RCSwitch::RCSwitch(const RCSwitch&)

    Was mache ich falsch?

    Gruß
    Gerald

    • Gerald
    • May 22nd. 2013 10:51am

    Sorry, hier der Code:

    /* RCSwitch-Test

    Code from: http://blog.sui.li/2011/04/12/low-cost-funksteckdosen-arduino/

    */

    #include

    RCSwitch mySwitch = RCSwitch(7); // Sender is connected to Pin #7

    void setup() {
    }

    void loop() {
    mySwitch.switchOn(2, 1); // Switch 1st socket on
    delay(1000);
    mySwitch.switchOff(2, 1); // Switch 1st socket off
    delay(1000);
    }

    • resi
    • Jun 2nd. 2013 4:23pm

    Hi,

    passt genau für das, was ich gesucht habe.
    Eine Frage noch zum Code:
    Ich bekomme einige Warnungen:

    Warning 3 deprecated conversion from string constant to ‘char*’ [-Wwrite-strings] C:\Users\daubi\Documents\Atmel Studio\6.1\Grill\RCSwitch\RCSwitch.cpp 189 74 RCSwitch

    ..ok ist vielleicht noch Ansichtsache ..

    der hier …Unterschied zwischen 0 und NULL sollte klar sein:
    Warning 21 converting to non-pointer type ‘unsigned int’ from NULL [-Wconversion-null] C:\Users\daubi\Documents\Atmel Studio\6.1\Grill\RCSwitch\RCSwitch.cpp 598 36 RCSwitch

    und das hier kann mal ins Auge gehen .. bzw. ist unsauber:

    Warning 27 control reaches end of non-void function [-Wreturn-type] C:\Users\daubi\Documents\Atmel Studio\6.1\Grill\RCSwitch\RCSwitch.cpp 754 1 RCSwitch

    bin noch am Anfang ..mal schauen wie lange es dauert bis es Klick macht.

    der link aufs Forum arduremote endet im Nichts.

    • resi
    • Jun 2nd. 2013 5:23pm

    works now also with 3.3V.
    I use a 100K for signal
    great (only mistake on my side: I used the example 4,2 where my
    plug was on 4,1 ..but shows also rubustness …)

    • Thorsten
    • Jul 5th. 2013 1:16pm

    Hi sui,
    Ist es möglich statt über einien digitalen Pin auch über i2c und dann mit einem Port Expander zb pcf8574 die funkmodule anzusteuern? Muss ich da deine Library bearbeiten oder nur die Ansteuerung des i2c Expanders anpassen.
    Viele Grüße

    • Kusi
    • Jan 4th. 2014 12:11am

    Hallo zusammen.

    Ich habe auf dem Büchergestell noch zwei “Thai Lampen”.
    Die bestehen aus einem quadratischen Holzrahmen und einem
    Papier überzug. Innen ist eine Simple Fassung und aussen ein
    Hässliches Kabel. Da ich das Kabel nur sichtbar verlegen könnte,
    habe ich sie nicht in gebrauch.

    Jetzt habe ich mir überlegt, ob ich nicht die Fassung und das Kabel
    ausbauen kann. Das ganze mit einem starken LED, einer 9V Batterie
    und einem Funkstecker ersetzen kann.

    Die Funkstecker haben ja ein eingebautes Netzteil für den
    Empfänger. Könnte man nicht einfach den Trafo rauslöten und eine
    9V Batterie anhängen? Theoretisch müsste es dem
    Gleichrichter ja egal sein ob er gleich oder wechselspannung
    bekommt.

    Hat das schon mal jemand angeschaut? Oder hat noch
    jemand einen Tip?

    So könnte man “Kabellose-Funkgesteuerte-Deko-Lampen” Bauen.