// https://forum.arduino.cc/t/my-ir-project-code-does-not-work-the-same-after-not-using-it-after-a-while/1458033/4
#include <IRremote.h>
#define RECV_PIN 5 // Pin du capteur IR
#define LED 3 // LED pin
void setup() {
Serial.begin(9600);
// turn on reciever
IrReceiver.begin(RECV_PIN, ENABLE_LED_FEEDBACK);
Serial.println("IR Receiver Ready");
}
int i = 0;
int const x = 51;
int g = 1;
void loop() {
if (IrReceiver.decode()) {
// Print the hex code
Serial.print("HEX Code : 0x");
Serial.print(IrReceiver.decodedIRData.decodedRawData, HEX);
Serial.print(" (no) ");
Serial.print(" g=");
Serial.print(g);
analogWrite(LED, i);
Serial.print(" i=");
Serial.print(i);
IrReceiver.resume();
// Turn ON
if (IrReceiver.decodedIRData.decodedRawData == 0x5DA2FF00) {
analogWrite(LED, 255);
g = 1;
i = 255;
Serial.print(" ON ");
Serial.print(" g=");
Serial.print(g);
analogWrite(LED, i);
Serial.print(" i=");
Serial.print(i);
}
// IrReceiver.resume();
// Turn OFF
if (IrReceiver.decodedIRData.decodedRawData == 0x1DE2FF00) {
analogWrite(LED, 0);
g = 0;
Serial.print(" OFF ");
Serial.print(" g=");
Serial.print(g);
analogWrite(LED, i);
Serial.print(" i=");
Serial.print(i);
}
// IrReceiver.resume();
// Brightness UP
if (IrReceiver.decodedIRData.decodedRawData == 0x6F90FF00 && i < 255 && g == 1) {
i = i + x;
g = 1;
Serial.print(" g=");
Serial.print(g);
analogWrite(LED, i);
Serial.print(" i=");
Serial.print(i);
Serial.print(" UP ");
}
// IrReceiver.resume();
// Brightness DOWN
if (IrReceiver.decodedIRData.decodedRawData == 0x1FE0FF00 && i > 51 && g == 1) {
i = i - x;
g = 1;
Serial.print(" g=");
Serial.print(g);
analogWrite(LED, i);
Serial.print(" i=");
Serial.print(i);
Serial.print(" DOWN ");
}
IrReceiver.resume();
Serial.println();
}
}