Deckenlampenschaltung

ich habe es geschafft.
im prinzip einfach und es funktioniert.

ich habe auch das beispiel von ardubu probiert anzupassen und aus zu probieren
leider hatte es nicht funktioniert. im nachgang habe ich gesehen das ich beim anpassen fehler gemacht habe.
egal.

ich habe nun eine lösung gefunden und würde sie gerne noch zur verfügung stellen.

#include <IRremote.h>

int RECV_PIN = 11;  //ir pin
int dl1=2;        //relais ausgang
int dl2=3;        //relais ausgang

int lampe1=0;     //status
int lampe2=0;     //status

int wtaster1=5;   //Pin 5 eingang für Wandtaster1
int wtaster2=6;   //Pin 6 eingang für Wandtaster2

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
Serial.begin(115200);

pinMode (dl1, OUTPUT);   //Deckenlampe 1
pinMode (dl2, OUTPUT);   //Deckenlampe 2

pinMode (wtaster1, INPUT);     //wandschalter oben
pinMode (wtaster2, INPUT);     //wandschalter unten

digitalWrite(dl1, LOW);    //Diese soll zunächst aus sein
digitalWrite(dl2, LOW);   //Diese soll zunächst aus sein

irrecv.enableIRIn();  

}

void loop() {

//IR Abfragen
if (irrecv.decode(&results)) {

Serial.println(results.value, HEX);

if (results.value == 0xf7c03f)
  if (lampe1==1)
  {
    lampe1=0;
  }
  else
  {
    lampe1=1;
  }

if (results.value == 0xf740bf) 
  if (lampe2==1)
  {
    lampe2=0;
  }
  else
  {
    lampe2=1;
  }

irrecv.resume();
}
//--------------

//Ausgang Schalten
if (lampe1==1){
  digitalWrite(dl1,HIGH);
}
if (lampe1==0){
  digitalWrite(dl1,LOW);
}
if (lampe2==1){
  digitalWrite(dl2,HIGH);
}
if (lampe2==0){
  digitalWrite(dl2,LOW);
}
//--------------

//Wandtaster abfragen
if (digitalRead(wtaster1) == HIGH)
  if (lampe1==1)
  {
    lampe1=0;
    delay(1000);
  }
  else
  {
    lampe1=1;
    delay(1000);
  }

  if (digitalRead(wtaster2) == HIGH)
  if (lampe2==1)
  {
    lampe2=0;
    delay(1000);
  }
  else
  {
    lampe2=1;
    delay(1000);
  }
}
//--------------

danke trotzdem an alle

deckenlampe.ino (1.53 KB)