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)