glaub jetzt hab ichs
Kann bitte noch jemand mal drüber schauen?
#include <IRremote.h>
int IRpin = 11; // Pin fuer den IR Empfaenger
int LED = 13; // LED Pin
int KanalA = 0;
int KanalB = 0;
IRrecv irrecv(IRpin);
IRsend irsend; // PWM Pin 3 IR LED Out
decode_results results;
void setup()
{
pinMode (4, OUTPUT); // Kanal A Ein
pinMode (5, OUTPUT); // Kanal A Aus
pinMode (6, OUTPUT); // Kanal B Ein
pinMode (7, OUTPUT); // Kanal B Aus
Serial.begin(9600);
irrecv.enableIRIn(); // IR Empfaenger starten
pinMode(LED, OUTPUT);
}
void loop()
{
if (irrecv.decode(&results))
{
Serial.println(results.value, DEC);
switch (results.value) // Abhaengig vom Signal in den richtigen Modus springen
{
case 16585453:// Play
if (KanalA == 1)
{
Serial.println("Dune Play Light off "); // Ausgabe auf der Seriellenschnittstelle
delay(100);
digitalWrite(1, HIGH);
delay(300);
digitalWrite(1, LOW);
delay(100);
int KanalA = 2;
Serial.println(KanalA, DEC);
irrecv.enableIRIn(); // IR Empfaenger starten
}
break;
case 16619623:// Stop
if (KanalA == 2)
{
Serial.println(F("Dune Stop Light on ")); // Ausgabe auf der Seriellenschnittstelle
delay(100);
digitalWrite(2, HIGH);
delay(300);
digitalWrite(2, LOW);
delay(100);
int KanalA = 1;
Serial.println(KanalA, DEC);
irrecv.enableIRIn(); // IR Empfaenger starten
}
break;
case 16611463:// Pause
if (KanalA == 2)
{
Serial.println(F("Dune Pause Light on ")); // Ausgabe auf der Seriellenschnittstelle
delay(100);
digitalWrite(2, HIGH);
delay(300);
digitalWrite(2, LOW);
delay(100);
int KanalA = 1;
Serial.println(KanalA, DEC);
irrecv.enableIRIn(); // IR Empfaenger starten
}
break;
case 3270060758:// Play
if (KanalA == 1)
{
Serial.println("BR Play Light off "); // Ausgabe auf der Seriellenschnittstelle
delay(100);
digitalWrite(1, HIGH);
delay(300);
digitalWrite(1, LOW);
delay(100);
int KanalA = 2;
Serial.println(KanalA, DEC);
irrecv.enableIRIn(); // IR Empfaenger starten
}
break;
case 3398796026:// Stop
if (KanalA == 2)
{
Serial.println(F("BR Stop Light on ")); // Ausgabe auf der Seriellenschnittstelle
delay(100);
digitalWrite(2, HIGH);
delay(300);
digitalWrite(2, LOW);
delay(100);
int KanalA = 1;
Serial.println(KanalA, DEC);
irrecv.enableIRIn(); // IR Empfaenger starten
}
break;
case 584023616:// Pause
if (KanalA == 2)
{
Serial.println(F("BR Pause Light on ")); // Ausgabe auf der Seriellenschnittstelle
delay(100);
digitalWrite(2, HIGH);
delay(300);
digitalWrite(2, LOW);
delay(100);
int KanalA = 1;
Serial.println(KanalA, DEC);
irrecv.enableIRIn(); // IR Empfaenger starten
}
break;
case 530668648:// Power on
if (KanalA == 2)
{
Serial.println(F("Power on Light on ")); // Ausgabe auf der Seriellenschnittstelle
delay(100);
digitalWrite(2, HIGH);
delay(300);
digitalWrite(2, LOW);
delay(100);
int KanalA = 1;
Serial.println(KanalA, DEC);
Serial.println("Ende Power on "); // Ausgabe auf der Seriellenschnittstelle
irrecv.enableIRIn(); // IR Empfaenger starten
}
break;
break;
case 4149255128:// Power off
if (KanalA == 1)
{
Serial.println("Power off start Light off 10 sek"); // Ausgabe auf der Seriellenschnittstelle
delay(10000);
digitalWrite(1, HIGH);
delay(300);
digitalWrite(1, LOW);
delay(100);
int KanalA = 2;
Serial.println(KanalA, DEC);
Serial.println("Power off fertig Light off "); // Ausgabe auf der Seriellenschnittstelle
irrecv.enableIRIn(); // IR Empfaenger starten
}
break;
default: // Standard
Serial.println(F("nicht erkannt"));
break;
}
irrecv.resume();
}
}