#define DECODE_NEC // DECODE_NEC
#include <IRremote.hpp> // Do not change header order.
constexpr uint8_t RECV_PIN {2};
constexpr uint8_t LED {12};
enum State {OFF, ON} state;
//const uint32_t s1 = 1082110031;
const uint16_t s1 = 0x38; // Taste 5
void setup()
{
Serial.begin(9600);
pinMode (LED, OUTPUT); // Lüfter
digitalWrite (LED, HIGH);
// digitalWrite(5, HIGH);
// digitalWrite(4, HIGH);
IrReceiver.begin(RECV_PIN);
Serial.print(F("Ready to receive IR signals at pin "));
Serial.println(RECV_PIN);
}
void loop()
{
if (irReceive() == s1) {
digitalWrite(LED,!digitalRead(LED));
/*
switch (state)
{
case ON :
digitalWrite (LED, HIGH);
state = OFF;
break;
case OFF :
digitalWrite (LED, LOW);
state = ON;
break;
}
Serial.print(state);
*/
}
}
uint16_t irReceive() {
uint16_t received{0};
if (IrReceiver.decode()) {
IrReceiver.printIRResultShort(&Serial);
if (IrReceiver.decodedIRData.protocol == UNKNOWN) {
// We have an unknown protocol here, print more info
IrReceiver.printIRResultRawFormatted(&Serial, true);
}
if (IrReceiver.decodedIRData.protocol == NEC) {
received = IrReceiver.decodedIRData.command;
Serial.print("Command: 0x");
Serial.println(received, HEX);
}
IrReceiver.resume();
}
return received;
}