#include <IRremote.h> // Include IRremote library.
#define DECODE_NEC // Define the protocol (NEC)
const byte IR_RECEIVE_PIN = 2; // IR receiver pin.
void setup()
{
Serial.begin(9600); // Start serial communication.
IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK, USE_DEFAULT_FEEDBACK_LED_PIN); // Initialize IR receiver.
}
void loop()
{
if (IrReceiver.decode()) // Check if IR signal received.
{
IrReceiver.resume(); // Prepare for next signal.
}
if (IrReceiver.decodedIRData.command != 0) // If valid IR command received.
{
checkIRcode(); // Process and print IR code.
}
}
void checkIRcode()
{
Serial.print("Raw = ");
Serial.print(IrReceiver.decodedIRData.decodedRawData, HEX); // Print raw data in HEX.
Serial.print(" Command = ");
Serial.println(IrReceiver.decodedIRData.command); // Print decoded command.
IrReceiver.decodedIRData.command = 0; // Reset command after processing.
}