/*
Forum: https://forum.arduino.cc/t/i-want-use-a-remote-control/1235880/2
Wokwi: https://wokwi.com/projects/392422103389593601
*/
#include <IRremote.hpp>
#define IR_RECEIVE_PIN 2
const int LED_PIN_1 = 6; // Beispiel-Pin für die Rote LED
const int LED_PIN_2 = 5; // Beispiel-Pin für die zweite LED
const int LED_PIN_3 = 4; // Beispiel-Pin für die zweite LED
const int LED_PIN_4 = 9; // Beispiel-Pin für eine Anzeige, solange die handleKey-Funktion läuft
void setup() {
pinMode(LED_PIN_1, OUTPUT);
pinMode(LED_PIN_2, OUTPUT);
pinMode(LED_PIN_3, OUTPUT);
pinMode(LED_PIN_4, OUTPUT);
Serial.begin(115200);
Serial.println("IR Receiver Button Decode");
IrReceiver.begin(IR_RECEIVE_PIN);
}
void loop() {
// Überprüfe, ob ein Infrarotsignal empfangen wurde
if (IrReceiver.decode()) {
// Überprüfe alle Key Values (ohne Arrays!)
switch (IrReceiver.decodedIRData.command) {
case 162: Serial.println("POWER"); break;
case 226: Serial.println("MENU"); break;
case 34: Serial.println("TEST"); break;
case 2: Serial.println("PLUS"); break;
case 194: Serial.println("BACK"); break;
case 224: Serial.println("PREV."); break;
case 168: Serial.println("PLAY"); break;
case 144: Serial.println("NEXT"); break;
case 104: Serial.println("num: 0"); break;
case 152: Serial.println("MINUS"); break;
case 176: Serial.println("key: C"); break;
case 48: Serial.println("num: 1"); break;
case 24: Serial.println("num: 2"); handleKey12();break;
case 122: Serial.println("num: 3"); handleKey13(); break;
case 16: Serial.println("num: 4"); handleKey14();break;
case 56: Serial.println("num: 5"); handleKey15();break;
case 90: Serial.println("num: 6"); break;
case 66: Serial.println("num: 7"); break;
case 74: Serial.println("num: 8"); break;
case 82: Serial.println("num: 9"); break;
default:
Serial.print(IrReceiver.decodedIRData.command);
Serial.println("=> unknown button");
}
IrReceiver.resume();
}
}
void handleKey12() {
digitalWrite(9, HIGH);
digitalWrite(6, HIGH);
Serial.println("Debuggggggg");
digitalWrite(9, LOW);
}
void handleKey13() {
digitalWrite(9, HIGH);
digitalWrite(6, HIGH);
delay(2000);
digitalWrite(6, LOW);
delay(1000);
digitalWrite(9, LOW);
Serial.println("Debuggggggg zwoooo");
}
void handleKey14() {
digitalWrite(9, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(9, LOW);
Serial.println("Debuggggggg drüüü");
}
void handleKey15() {
digitalWrite(9, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
delay(1000);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
delay(1000);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
delay(500);
digitalWrite(9, LOW);
Serial.println("Debuggggggg foooor");
}