// Infrarot-Steuerung
// #include <IRremote.h> <-- IRremote.h im libraries folder
// #include "IRremote.h" <-- IRremote.h im sketch folder
#include "IRremote.h"
// Pin mit Makierung 3, 5, 6, 9, 10, 11,
int RECV_PIN = 13;
int EG = 11;
int EG1 = 10;
int DG = 9;
int DG1 = 6;
int ST = 5;
int ST1 = 3;
int FEU = 7;
int Frei1 = 4;
//Zeitmanegment-----------------------------------------
int ze = 2500; //=delay / Zeit bei alle Einschalten 2500
int za = 2500; //=delay / Zeit bei alle Ausschalten
int zd = 200; //=delay / Zeit zwischen Ein.- und Ausschalteten bei FBtastendruck
//-----------------------------------------------------
IRrecv irrecv(RECV_PIN);
decode_results results;
//------------------------------------------------------
char programm = 'x';
//------------------------------------------------------
void setup() {
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
pinMode(EG, OUTPUT);
pinMode(EG1, OUTPUT);
pinMode(DG, OUTPUT);
pinMode(DG1, OUTPUT);
pinMode(ST, OUTPUT);
pinMode(ST1, OUTPUT);
pinMode(FEU, OUTPUT);
}
//------------------------------------------------------
void loop() {
infrarotWert();
if (programm == 'e') Ende();
// if (programm == 'p') programmPlus();
// if (programm == 'm') programmMinus();
if (programm == '0') programm0();
if (programm == '1') programm1();
if (programm == '2') programm2();
if (programm == '3') programm3();
if (programm == '4') programm4();
if (programm == '5') programm5();
if (programm == '6') programm6();
if (programm == '7') programm7();
// if (programm == '8') programm8();
// if (programm == '9') programm9();
if (programm == 'f') programmFeuer();
}
//------------------------------------------------------
//alles ein ohne pause------------------------------------------------------
void programm0() {
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC);
// if (programm == '0') {
if (results.value == 16738455) {
digitalWrite(EG, HIGH);
digitalWrite(EG1, HIGH);
digitalWrite(DG, HIGH);
digitalWrite(DG1, HIGH);
digitalWrite(DG, HIGH);
digitalWrite(ST, HIGH);
digitalWrite(ST1, HIGH);
digitalWrite(FEU, HIGH);
delay(zd);
} else {
digitalWrite(EG, LOW);
digitalWrite(EG, LOW);
digitalWrite(EG1, LOW);
digitalWrite(DG, LOW);
digitalWrite(DG1, LOW);
digitalWrite(DG, LOW);
digitalWrite(ST, LOW);
digitalWrite(ST1, LOW);
digitalWrite(FEU, LOW);
}
irrecv.resume();
}
}
//Ende------------------------------------------------------
//alles Ein mit Pause - alles aus mit Pause---------------------------------------------------------------
void programm1() {
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC);
if (results.value == 16724175) {
digitalWrite(EG, HIGH);
delay(ze);
digitalWrite(EG1, HIGH);
delay(ze);
digitalWrite(DG, HIGH);
delay(ze);
digitalWrite(DG1, HIGH);
delay(ze);
digitalWrite(DG, HIGH);
delay(ze);
digitalWrite(ST, HIGH);
delay(ze);
digitalWrite(ST1, HIGH);
delay(ze);
digitalWrite(FEU, HIGH);
} else {
digitalWrite(EG, LOW);
delay(za);
digitalWrite(EG1, LOW);
delay(za);
digitalWrite(DG, LOW);
delay(za);
digitalWrite(DG1, LOW);
delay(za);
digitalWrite(DG, LOW);
delay(za);
digitalWrite(ST, LOW);
delay(za);
digitalWrite(ST1, LOW);
delay(za);
digitalWrite(FEU, LOW);
}
irrecv.resume();
}
}
//Ende------------------------------------------------------
//alles Aus mit pause---------------------------------------------------------------
void Ende() {
digitalWrite(DG1, LOW);
delay(za);
digitalWrite(DG, LOW);
delay(za);
digitalWrite(EG1, LOW);
delay(za);
digitalWrite(EG, LOW);
delay(za);
digitalWrite(ST1, LOW);
delay(za);
digitalWrite(ST, LOW);
delay(ze);
digitalWrite(FEU, LOW);
}
//Ende------------------------------------------------------
//EG Ein/Aus------------------------------------------------------
void programm2() {
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC);
if (results.value == 16718055) {
digitalWrite(EG, HIGH);
delay(zd);
} else {
digitalWrite(EG, LOW);
}
irrecv.resume();
}
}
//Ende------------------------------------------------------
//EG1 Ein/Aus------------------------------------------------------
void programm3() {
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC);
if (results.value == 16743045) {
digitalWrite(EG1, HIGH);
delay(zd);
} else {
digitalWrite(EG1, LOW);
}
irrecv.resume();
}
}
//Ende------------------------------------------------------
//DG Ein/Aus------------------------------------------------------
void programm4() {
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC);
if (results.value == 16716015) {
digitalWrite(DG, HIGH);
delay(zd);
} else {
digitalWrite(DG, LOW);
}
irrecv.resume();
}
}
//Ende------------------------------------------------------
//DG1 Ein/Aus------------------------------------------------------
void programm5() {
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC);
if (results.value == 16726215) {
digitalWrite(DG1, HIGH);
delay(zd);
} else {
digitalWrite(DG1, LOW);
}
irrecv.resume();
}
}
//Ende------------------------------------------------------
//ST Ein/Aus------------------------------------------------------
void programm6() {
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC);
if (results.value == 16734885) {
digitalWrite(ST, HIGH);
delay(zd);
} else {
digitalWrite(ST, LOW);
}
irrecv.resume();
}
}
//Ende------------------------------------------------------
//ST1 EIN/Aus------------------------------------------------------
void programm7() {
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC);
if (results.value == 16728765) {
digitalWrite(ST1, HIGH);
delay(zd);
} else {
digitalWrite(ST1, LOW);
}
irrecv.resume();
}
}
//Ende------------------------------------------------------
//FREI------------------------------------------------------
//void programm8() {
//
//}
//Ende------------------------------------------------------
//FREI------------------------------------------------------
//void programm9() {
//
//}
//Ende------------------------------------------------------
//Feuer Ein/Aus------------------------------------------------------
void programmFeuer() {
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC);
if (results.value == 16750695) {
digitalWrite(FEU, HIGH);
delay(zd);
} else {
digitalWrite(FEU, LOW);
}
irrecv.resume();
}
}
//Ende------------------------------------------------------
//------------------------------------------------------
void infrarotWert() {
if (irrecv.decode(&results)) {
Serial.print("Code: ");
Serial.print(results.value, DEC);
if (results.value == 4294967295) programm = programm; else programm = '?';
if (results.value == 16753245) programm = 'e';
if (results.value == 16748655) programm = 'p';
if (results.value == 16754775) programm = 'm';
if (results.value == 16738455) programm = '0';
if (results.value == 16724175) programm = '1';
if (results.value == 16718055) programm = '2';
if (results.value == 16743045) programm = '3';
if (results.value == 16716015) programm = '4';
if (results.value == 16726215) programm = '5';
if (results.value == 16734885) programm = '6';
if (results.value == 16728765) programm = '7';
if (results.value == 16730805) programm = '8';
if (results.value == 16732845) programm = '9';
if (results.value == 16750695) programm = 'f';
Serial.print(" --> Programm: ");
Serial.println(programm);
// Receive the next value
irrecv.resume();
}
}