Problems with servotimer2 and NECIRrcv

Hi , i was programing my robot , and its is ok, but when i puts servotimer2 and NECIRrcv in the same sketch, gives me a error.. :frowning:
this error is:

Arduino: 1.5.6-r2 (Mac OS X), Placa:"Arduino Uno"

NECIRrcv/NECIRrcv.cpp.o: In function __vector_9': /Users/manuel/Documents/Arduino/libraries/NECIRrcv/NECIRrcv.cpp:81: multiple definition of __vector_9'
ServoTimer2/ServoTimer2.cpp.o:/Users/manuel/Documents/Arduino/libraries/ServoTimer2/ServoTimer2.cpp:43: first defined here

This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.

someone can help me please? i was search information but don't find nothing...

the code is:

#include <ServoTimer2.h>
ServoTimer2 myservo;
ServoTimer2 myservo2;

#include <NECIRrcv.h>
#define sensor 4
NECIRrcv ir(sensor) ;

int pinI1 = 8; //define I1 interface
int pinI2 = 11; //define I2 interface
int speedpinA = 9; //enable motor A
int pinI3 = 12; //define I3 interface
int pinI4 = 13; //define I4 interface
int speedpinB = 10; //enable motor B

void setup() {

//motor
pinMode(pinI1, OUTPUT);
pinMode(pinI2, OUTPUT);
pinMode(speedpinA, OUTPUT);
pinMode(pinI3, OUTPUT);
pinMode(pinI4, OUTPUT);
pinMode(speedpinB, OUTPUT);
ir.begin();
myservo2.attach(6);
myservo.attach(7);
myservo.write(0);
myservo2.write(90);

}

//FUNCIONES

void adelante() {
analogWrite(speedpinA, 140);
analogWrite(speedpinB, 140);
digitalWrite(pinI4, LOW); //giro horario del motor B
digitalWrite(pinI3, HIGH);
digitalWrite(pinI2, HIGH); //giro antihorario del motor A
digitalWrite(pinI1, LOW);

}
void atras() {
analogWrite(speedpinA, 140);
analogWrite(speedpinB, 140);
digitalWrite(pinI4, HIGH); //giro horario del motor B
digitalWrite(pinI3, LOW);
digitalWrite(pinI2, LOW); //giro antihorario del motor A
digitalWrite(pinI1, HIGH);

}
void paro() {
analogWrite(speedpinA, 0);
analogWrite(speedpinB, 0);
digitalWrite(pinI4, LOW); //giro horario del motor B
digitalWrite(pinI3, HIGH);
digitalWrite(pinI2, HIGH); //giro antihorario del motor A
digitalWrite(pinI1, LOW);

}

void izquierda() {
analogWrite(speedpinA, 140);
analogWrite(speedpinB, 140);
digitalWrite(pinI4, HIGH); //giro horario del motor B
digitalWrite(pinI3, LOW);
digitalWrite(pinI2, HIGH); //giro antihorario del motor A
digitalWrite(pinI1, LOW);

}

void derecha() {
analogWrite(speedpinA, 140);
analogWrite(speedpinB, 140);
digitalWrite(pinI4, LOW); //giro horario del motor B
digitalWrite(pinI3, HIGH);
digitalWrite(pinI2, LOW); //giro antihorario del motor A
digitalWrite(pinI1, HIGH);

}

void loop() {

unsigned long ircode ;

unsigned long codigo;
ircode = ir.read() ;

//movimiento
if (ircode == 0xB946FF00) { //arriba
adelante();

}
if (ircode == 0xBF40FF00) { //OK
paro();

}
if (ircode == 0xEA15FF00) { //abajo
atras();

}
if (ircode == 0xBC43FF00) { //derecha
derecha();

}
if (ircode == 0xBB44FF00) { //izquierda
izquierda();

}

//abrir y cerras pinza

if (ircode == 0xE916FF00 ) { //1
myservo.write(60);//cerrar

}

if (ircode == 0xF30CFF00) { //4
myservo.write(140);//abrir

}

//subir y bajas el brazo
if (ircode == 0xE619FF00 ) { //2
myservo2.write(100);//sube
delay(200);
myservo2.write(90);//parado

}
if (ircode == 0xE718FF00 ) { //5
myservo2.write(80);//baja
delay(200);
myservo2.write(90);//parado

}

}

thanks :slight_smile: