(IRLib2 GitHub)
(IRlib2.zip)解壓縮後 將以下資料夾

全部放到Arduino libraries下
(IRLibReference.pdf)
Using an Infrared Library on Arduino(ref)


發射
//NEC
//D3-->R150-->IR LED 陽極-->IR LED陰極接地
#include <IRLibSendBase.h>
#include <IRLib_P01_NEC.h>   
IRsendNEC mySender;

void setup() {
 
}

void loop() {
  
    mySender.send(0x00ffa25d);//ff0045ba
    //mySender.send(REPEAT_CODE);
    delay(2000);
    mySender.send(0x00ff629D);//ff0046b9
    //mySender.send(REPEAT_CODE);
    delay(2000);
  }


//接收
//LCD顯示+遙控
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,16,2);
#include <IRLibAll.h>
#define led 13
IRrecvPCI  myReceiver(2);
IRdecode  myDecoder; 
uint32_t val;
void setup() {
pinMode(led,OUTPUT);
 lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  myReceiver.enableIRIn(); // Start the receiver
  lcd.setCursor(0, 0);
  lcd.print("Ready to receive");
  }

void loop() {
if (myReceiver.getResults()) {
    myDecoder.decode();    //Decode it
    val=myDecoder.value;
    if(val==0xFFFFFFFF)
     {lcd.setCursor(0, 1);
       lcd.print("Reapeat");
      }
     else if(val==0)
      {lcd.clear();
       lcd.setCursor(0, 0);
       lcd.print("unknown protocol");
      }
      else
      {if (val==0xFFA25D) digitalWrite(led,1);//key :CH-
       if (val==0xFF629D) digitalWrite(led,0);//key: CH
       lcd.clear();
       lcd.setCursor(0, 0);
       lcd.print("Code:");
       lcd.setCursor(5, 0);
       lcd.print(val,HEX);
      }
     myReceiver.enableIRIn();      //Restart receiver
}
   
}