Funksteckdosen Steuern
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);
}