Mit Arduino nano und IR Stereoanlage steuern

Zum Abschluss zu diesem Thema hier der vollständige Korrekte Code mit 2 Sendesignalen(eins für Gerät1 und eins für Gerät2):

# define stereo 6  // nehmen wir mal Pin 6
# define fernseh 7        // nehmen wir mal Pin7

boolean switchstereoChanged() {
  static int oldState1 = LOW;  // oder auch HIGH, je nachdem

  int currentState1 = digitalRead(stereo);
  
  if(currentState1 == oldState1) //wenn low dann= low
     return false;
  oldState1 = currentState1;
   Serial.print("Status changed1");
   Serial.println(currentState1);
  return true;
}
 boolean switchfernsehChanged() {
  static int oldState2 = LOW;  // oder auch HIGH, je nachdem

  int currentState2 = digitalRead(fernseh);
  
  if(currentState2 == oldState2) //wenn low dann= low
     return false;
  oldState2 = currentState2;
   Serial.print("Status changed2");
   Serial.println(currentState2);
  return true;
 } 

#include <IRremote.h>
IRsend irsend;

void setup() 
{ 
pinMode(stereo,INPUT_PULLUP); // internen Pullup anschalten - unbetätigt auf HIGH
  Serial.begin(9600);

pinMode(fernseh,INPUT_PULLUP); // internen Pullup anschalten - unbetätigt auf HIGH
  Serial.begin(9600);
}

void loop() 
{
  if (switchstereoChanged()) {
     unsigned int  rawData[99] = {3350,1600, 400,450, 400,450, 350,1300, 400,450, 350,1300, 400,400, 400,1300, 350,450, 400,450, 400,1250, 400,450, 400,400, 400,1300, 350,1300, 400,450, 350,450, 400,450, 350,450, 400,450, 350,500, 350,1300, 400,400, 400,1300, 350,450, 400,1300, 350,450, 400,450, 350,450, 400,1300, 350,1300, 400,450, 350,450, 400,450, 400,400, 400,450, 400,450, 350,450, 350,500, 400,1250, 400,450, 400,1250, 400,450, 350,450, 350,500, 400,450, 350,1300, 350,450, 400,450, 400};  // NEC 4B36D32C
 irsend.sendRaw(rawData, sizeof(rawData) / sizeof(rawData[0]), 38);
  
  }
 if  (switchfernsehChanged()) {
     unsigned int  rawData[67] = {8950,4350, 600,550, 550,550, 550,550, 550,600, 500,600, 500,600, 500,550, 550,600, 500,1700, 550,1600, 600,1700, 500,1650, 550,1700, 500,1650, 550,550, 600,1600, 550,1750, 500,550, 550,1700, 500,1650, 550,600, 550,500, 550,550, 600,550, 550,550, 550,1650, 550,600, 500,600, 500,1700, 500,1700, 550,1600, 600,1600, 600};  // NEC 4B36D32C
 irsend.sendRaw(rawData, sizeof(rawData) / sizeof(rawData[0]), 38);
  
  }

}

Ich hoffe die Lösung dazu kann euch genauso helfen wie mir.

Schönen Tag euch allen

Lukas