#include <LiquidCrystal.h>
#include <IRremote.h>
#include <LiquidCrystal_I2C.h> 
LiquidCrystal_I2C lcd(0x27, 16, 2);
const byte IR_RECEIVE_PIN = 2;
int anaus = 0;
int Blue = 10; 
int Red = 6;
int Green =9;
int p=1000;
int brightness1a = 150; 
int brightness1b = 150; 
int brightness1c = 150;
int RedB = 8;
int GreenB = 12;
int BlueB = 11;
int RedState = 0;
int button = 0;
String colorstate = "2";
String color = "N/A";
String ir_code_public = "N/A";

#define Red 6
#define Green 9
#define Blue 10
#define MAX_INTENSITY 8
#define MIN_INTENSITY 0
#define MAX_TARGETCOLOR 7

void setup()
{ 
lcd.init(); // initialize the lcd
lcd.backlight();
Serial.begin(115200);
Serial.println("IR Receive test");
IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK);
pinMode(Red, OUTPUT);
pinMode(Green, OUTPUT);
pinMode(Blue, OUTPUT);
pinMode(RedB, INPUT);
pinMode(GreenB, INPUT);
pinMode(BlueB, INPUT);
}
void loop()
{   
Serial.println("colorstate: " + colorstate);
Serial.println(anaus);
lcd.clear();                 
lcd.setCursor(0, 0);        
if (IrReceiver.decode())
   {
String ir_code = String(IrReceiver.decodedIRData.command, HEX);
Serial.println(ir_code);
colorstate = String(IrReceiver.decodedIRData.command, HEX);
ir_code_public = ir_code;
}
if(colorstate == "3" && !anaus == 1) {
farbwechsel = 0;
anaus = 1;
analogWrite(Red, 255);
farbwechsel = 0;
lcd.print("ON");
delay(1000);
}
if(colorstate == "2") {
lcd.print("OFF");
delay(2000); 
anaus = 0;
analogWrite(Red, 0);
analogWrite(Blue, 0);
analogWrite(Green, 0);
}
if(anaus == 1) {
colorstate = String(IrReceiver.decodedIRData.command, HEX);
if(colorstate == "4"){
farbwechsel = 0;
analogWrite(Red, 255);
analogWrite(Blue, 0);
analogWrite(Green, 0);
lcd.print("Rot");
colorstate = String(IrReceiver.decodedIRData.command, HEX);
delay(100);
farbwechsel = 0;
}
else if(colorstate == "6") {
farbwechsel = 0;
analogWrite(Blue, 255);
analogWrite(Green, 0);
analogWrite(Red, 0);
lcd.print("Blau");        
colorstate = String(IrReceiver.decodedIRData.command, HEX);
delay(100);  
}
else if(colorstate == "5") {
analogWrite(Green, 255);
analogWrite(Blue, 0);
analogWrite(Red, 0);
lcd.print("Gruen");
colorstate = String(IrReceiver.decodedIRData.command, HEX);
}
else if(colorstate == "7") {
         analogWrite(Green, 255);
        analogWrite(Blue, 255);
        analogWrite(Red, 255);
        lcd.print("Weiß"); 
        colorstate = String(IrReceiver.decodedIRData.command, HEX);
        
        
       
        }
   
   if(ir_code_public == "2"){
    farbwechsel = 0;
    analogWrite(Red, 0);
    analogWrite(Green, 0);
    analogWrite(Blue, 0);
    colorstate = String(IrReceiver.decodedIRData.command, HEX);
    delay(100);
   
   }     
      IrReceiver.resume();
   }
}
...zur Antwort