Dann schaffen wir mal definierte Verhältnisse:
boolean switchstereoChanged() {
static int oldState = HIGH; // oder auch HIGH, je nachdem
int currentState = digitalRead(stereo);
if(currentState == oldState) //wenn low dann= low
return false;
oldState = currentState;
Serial.print("Status changed");
Serial.println(currentState);
return true;
}
#include <IRremote.h>
IRsend irsend;
void setup()
{
pinMode(stereo,INPUT_PULLUP); // internen Pullup anschalten - unbetätigt auf HIGH
Serial.begin(9600);
}
Den "Schalter" musst Du nach GND stecken/schalten, da er im Ruhezustand jetzt auf HIGH steht. Das zieht weniger Störungen rein.
Im Seriellen Monitor der IDE kannst Du jetzt erst mal erkennen, wann sich der Status geändert hat.
Funktioniert das?
Gruß Tommy