Hallo!
Ich habe folgendes Projekt/Problem:
Ich möchte mit nicht benutzten Tasten auf meiner IR Fernbedienung meine Funksteckdosen schalten.
Daraufhin habe ich ein bisschen gegoogelt und mir die dazu nötwendigen Teile bestellt.
Der Code war auch schnell gefunden und ich bin jetzt soweit gekommen das ich:
entweder den IR Code lesen
oder die Steckdose schalten
kann.
Beides zusammen funktioniert aber nicht. Leider habe ich auch nur sehr begrenzte Kenntnisse im programmieren und so habe ich es bisher mit Try&Error ausprobiert.
Wenn ich den Code für senden & empfangen ausprobiere bekomme ich zwar die Meldungen "Stecker 1 an" und "Stecker 1 aus" aber an der Funksteckdose tut sich nichts.
Nur Empfangen:
/
/*
* IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv
* An IR detector/demodulator must be connected to the input RECV_PIN.
* Version 0.1 July, 2009
* Copyright 2009 Ken Shirriff
* http://arcfn.com
*/
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value
}
delay(100);
}
Nur Senden:
/*
Example for different sending methods
http://code.google.com/p/rc-switch/
Need help? http://forum.ardumote.com
*/
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
// Transmitter is connected to Arduino Pin #10
mySwitch.enableTransmit(10);
// Optional set pulse length.
// mySwitch.setPulseLength(320);
// Optional set protocol (default is 1, will work for most outlets)
mySwitch.setProtocol(2);
// Optional set number of transmission repetitions.
// mySwitch.setRepeatTransmit(15);
}
void loop() {
/* Same switch as above, but using decimal code */
mySwitch.send(369171392, 32);
delay(2000);
mySwitch.send(503389120, 32);
delay(2000);
}
Senden & Empfangen:
/*
* Funksteckdosen über eine Harmony steuern
* Version 0.1 Dezember 2013
* Pascal König
* http://www.pascals-koenigreich.de/
*/
#include <IRremote.h>
#include <RCSwitch.h>
int RECV_PIN = 11;
unsigned long codeValue;
IRrecv irrecv(RECV_PIN);
RCSwitch mySwitch = RCSwitch();
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
mySwitch.enableTransmit(10);
mySwitch.setProtocol(2);
}
void loop() {
if (irrecv.decode(&results)) {
//Serial.println(results.value, HEX);
codeValue = results.value;
Serial.println(codeValue);
switch(codeValue){
case 824:
Serial.println("Stecker 1 an");
mySwitch.send(369171392, 32);
break;
case 2872:
Serial.println("Stecker 1 aus");
mySwitch.send(503389120, 32);
break;
default:
//nichts
break;
}
irrecv.resume(); // Receive the next value
}
}
Das 433Mhz Modul:
Die Funksteckdose:
RSL888R von Conrad
Ich freue mich über jede Hilfe!

