Conflicto entre librerías: Servo, IRremote e instrucción tone()

Buenas, empleando el arduino mega 2560 rev 3 estoy realizando un proyecto en el que intervienen un motor servo, un sensor IR y un buzzer. Todo funcionaba correctamente hasta que metí en el programa la instrucción tone().

Librerías usadas: IRremote y Servo

Al hacerlo obtengo este error:

Arduino:1.7.2 (Windows 7), Placa:"Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

C:\Users\toshiba\AppData\Local\Temp\build6475412175746210402.tmp/core.a(Tone.cpp.o): In function `__vector_13':

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Tone.cpp:536: multiple definition of `__vector_13'

IRremote\IRremote.cpp.o:C:\Program Files (x86)\Arduino\libraries\IRremote/IRremote.cpp:339: first defined here

c:/program files (x86)/arduino/hardware/tools/avr/bin/../lib/gcc/avr/4.8.1/../../../../avr/bin/ld.exe: Disabling relaxation: it will not work with multiple definitions

collect2.exe: error: ld returned 1 exit status

Error de compilación

  This report would have more information with
  "Show verbose output during compilation"
  activala desde Archivo > Preferencias

Me he informado y el problema es que estas librerías tienen timers en común, pero no he encontrado una solución. ¿Cómo puedo arreglarlo?

Utiliza una función que genere los tonos, ejemplo:

generaTono()

Luego la llamas en loop(), dependiendo de donde donde quieras los delay()

Algo así:

generaTono();
delay(15);
generaTono2();
delay(15);

Para mi funciona usando librerías para steppers cuyas clases poseen sus propios temporizadores...

tone usa un timer que tiene conflicto con esas librerías. Recuerdo haberlo encontrado en una respuesta de hace varios meses.