logo

Elektronik-Dachbude

logo

Funksteckdosen Steuern mit Arduino


Ich habe mir schon vor geraumer Zeit kleine 433MHz Sender- und Empfänger-Module bestellt, mit dem Ziel, meine kaputte Funksteckdosenfernbedienung zu ersetzen. Nun habe ich die Module wiederentdeckt und mich an einen neuen Versuch gewagt. Ich muss sagen ich war sehr überrascht, dass alles auf Anhieb funktioniert hat.
Das von mir verwendetet Funkmodul trägt den Namen XD-FST und ist besonders günstig. Auf dieser Seite sind die wenigen zu bekommenden Informationen zusammengengefasst:

http://forum.hobbycomponents.com/viewtopic.php?f=39&t=1324

Steuern wollte ich Funksteckdosen vom Typ ME FLS 100 die ich vor einiger Zeit bei Reichelt bestellt hatte:

Als Controller habe ich einen Arduino Uno verwendet. Der Aufbau ist sehr simpel:

Der Grund warum das Projekt so einfach war, lag vor allem an der guten Library, die einem fast alle Arbeit abnimmt. Gefunden habe ich Sie unter

https://code.google.com/p/rc-switch/

Das Beispiel TypeB_WithRotaryOrSlidingSwitches entsprach genau dem Protokoll der von mir verwendeten Funksteckdosen. Die einzigen Anpassungen musste ich bei den beiden Parametern in dem SiwtchON/OFF Aufruf machen. Nach dem Einspielen hat alles auf anhieb funktioniert. Das erlebt man wirklich nicht alle Tage!

Zum Schluss noch der Quelltext zum erwähnten Beispiel:

/*
  Example for outlets which are configured with two rotary/sliding switches.
 
  http://code.google.com/p/rc-switch/
*/
 
#include <RCSwitch.h>
 
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 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);
 
} 2
Home
Copyright 2012 Fabian Kainka | All Rights Reserved.