#include <IRremote.h>
int irPin = 14; //Pin am Arduino Nano für den IR Receiver
//int ledPin = 5; //Pin am Arduino Nano für die LED als Signalbestätigung
//int led1Pin = 4; //Pin am Arduino Nano für LED 1
//int led2Pin = 3; //Pin am Arduino Nano für LED 2
boolean led1Status = false;
boolean led2Status = false;
IRrecv irrecv(irPin); //Objekt initialisieren für die IR Übertragung
decode_results results;
void setup() {
//pinMode(ledPin, OUTPUT); //Den LED Pin als Ausgang deklarieren.
pinMode(irPin, INPUT); //Den IR Pin als Eingang deklarieren.
irrecv.enableIRIn(); //Den IR Pin aktivieren
Serial.begin(9600); //Serielle kommunikation mit 9600 Baud beginnen.
}
void loop(){
if (irrecv.decode(&results)) { //Wenn etwas gelesen wurde dann...
//Ausgabe des Wertes auf die Serielle Schnittstelle.
int value = results.value;
switch (value){
case 16724175 : //Taste 1
led1Status = !led1Status; //umkehren des Status für die LED 1
if(led1Status == true){
//digitalWrite (led1Pin, HIGH); //LED anschalten
} else {
//digitalWrite (led1Pin, LOW); //LED ausschalten
}
break;
case 16718055 : //Taste 2
led2Status = !led2Status; //umkehren des Status für die LED 2
if(led2Status == true){
//digitalWrite (led2Pin, HIGH); //LED anschalten
} else {
//digitalWrite (led2Pin, LOW); //LED ausschalten
}
break;
}
Serial.println(value, DEC);
//digitalWrite (ledPin, HIGH); //Status LED anschalten
irrecv.resume(); // auf den nächsten Wert warten
delay(250); // kurze Pause von 250ms damit die LED aufleuchten kann.
//digitalWrite (ledPin, LOW); //Status LED ausschalten
}
}
Die Bibliothek bietet Beispiele zum Erkennen und Analysieren der Fernbedienung an, die solltest Du laufen lassen.
Die Bibliothek bevorzugt Fernsehfernbedienungen. Bei Lüftern, Klimaanlagen und dergleichen benötigt man extra Optionen, damit die Bibliothek tut, was sie soll.
Der Code ist auch Grütze und funktioniert mit der aktuellen Version von IRRemote nicht.
Das Gleiche hatte ich vor kurzem hier
Da war der gleiche Code in Tinkercad verwurstet (hat der TO inzwischen geändert) und der TO hat sich gewundert warum das nicht funktioniert.
Muss jetzt nicht genau das gleiche Problem, bzw. das einzige Problem bei Dir sein, aber wenn Du eine Version > 3.1 einsetzt, muss das grundsätzlich etwas anders gemacht werden.
Hast Du denn eine Ahnung welches Protokoll die Fernbedienung verwendet?
Fernbedienungen für Fernseher, CD/DVD , Satelitenempfänger usw senden einen Code pro Taste. Klimaanlagen senden Datenpackete.
Des weiteren gibt es die Empfänger für mehrere Modulationsfrequenzen. Fernsehr ecc haben eine modulationsfrequenz von 38kHz.