swRTC

OK. Ho dato un'occhiata alla IRremote.

Di default usa il timer 2 ma ho visto da un suo file di configurazione che questa scelta può essere cambiata. Basta editare il file IRremoteInt.h
Per l'Arduino UNO (quindi Atmega328), si devono invertire i commenti alle linee 66/67:

// Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, etc
#else
  //#define IR_USE_TIMER1   // tx = pin 9
  #define IR_USE_TIMER2     // tx = pin 3
#endif

Per l'Arduino MEGA (quindi Atmega2560) si sceglie il timer alle righe 33/37:

// Arduino Mega
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
  //#define IR_USE_TIMER1   // tx = pin 11
  #define IR_USE_TIMER2     // tx = pin 9
  //#define IR_USE_TIMER3   // tx = pin 5
  //#define IR_USE_TIMER4   // tx = pin 6
  //#define IR_USE_TIMER5   // tx = pin 46