Ayuda Arduino Uno

Hola buenas tardes, tengo un problema al programar, tengo un infrarrojo, sensores de temperatura, control remoto, etc. cuando ejecuto el programa tengo problemas, primero le adjunto el código.

// Cargando las librerias
#include <LiquidCrystal.h>
#include <IRremote.h>
#include <Wire.h>
#include <Servo.h>
// Declaración de variables
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int RECV_PIN = 9; // Conexión del infrarrojo
IRrecv irrecv(RECV_PIN);     
decode_results results;
Servo servoMotor;
float lectura;
float voltaje = 0.0;
int carga;
// Configuración principal
void setup() {
  lcd.begin(16, 2);
  Serial.begin(9600);
  irrecv.enableIRIn(); // Habilitamos el control remoto
  pinMode(6, OUTPUT); // Salida al relé 1
  pinMode(7, OUTPUT); // Salida al relé 2
  pinMode(8, OUTPUT); // Salida la bocina
  servoMotor.attach(10); // Configuración del servomotor
  servoMotor.write(0);
}
// Configurando las funciones de Termovicho Pro
void loop()
{
  float temperatura = analogRead(0); // Configuraciones del sensor temperatura exterior
  float milivoltios = (temperatura / 1023) * 5000;
  temperatura = milivoltios / 10;
  float temperaturaint = analogRead(1); // Configuraciones del sensor de temperatura interna
  float milivoltiosint = (temperaturaint / 1023) * 5000;
  temperaturaint = milivoltiosint / 10;
  if (irrecv.decode(&results)) { // Configuraciones del control remoto
     	switch(results.value)
      {        
        case 16580863:  Serial.println("On / Off"); // Encendemos el equipo
                        if (temperaturaint < 40) {
                          		lcd.clear();
    							lcd.print("    Bienvenido");
                          		lcd.setCursor(0,1);
                          		lcd.print("Termovicho Pro");
                          		delay(300);
                          		lcd.clear();
                          		lcd.print("Iniciando espere");
                                delay(300); 
                        } else {
                              	digitalWrite(6, LOW);
                              	digitalWrite(7, LOW);
                              	lcd.clear();
                              	lcd.print("   PRECAUCION  ");
                              	lcd.setCursor(0,1);
                              	lcd.print(" Sobrecalentado");
                              	tone(8, 220, 500);
                              	delay(500);
                        }
                      	break;
        case 16597183:  Serial.println("Func / Stop");  //Mostramos nuestro nivel de carga
          				lcd.clear();
    					lcd.setCursor(0, 0);
    					lcd.print("Voltaje:");
    					lcd.setCursor(9, 0);
    					lectura_voltios(1, 2); //Hace un llamado a la lectura del voltaje entrante
    					lcd.setCursor(13, 0);
						lcd.print("V    ");
						lcd.setCursor(0,1);
						lcd.print("Carga: ");
						lcd.print(carga);
    					lcd.print("%  "); 
    					delay(1000);
    					if (carga < 20){
      						lcd.clear();
        					lcd.setCursor(0,0);
        					lcd.print("Bateria muy baja");
      						lcd.setCursor(0,1);
      						lcd.print("Cargue el equipo");
        					delay(1000);
    					}
                      	break;
        case 16613503:  Serial.println("Vol +"); // Encendemos los 2 relés
                        digitalWrite(6,HIGH);
          				digitalWrite(7,HIGH);
          				lcd.clear();
                        lcd.setCursor(0,0);
          				lcd.print("Manual");
          				lcd.setCursor(0,1);
          				lcd.print("Potencia al 100%");
                      	break;
        case 16617583:  Serial.println("Vol -"); //Encendemos 1 relé
                        digitalWrite(6,HIGH);
          				digitalWrite(7,LOW);
          				lcd.clear();
                        lcd.setCursor(0,0);
          				lcd.print("Manual");
          				lcd.setCursor(0,1);
          				lcd.print("Potencia al 50%");
                      	break;
        case 16621663:  Serial.println("Play"); //Detenemos el servomotor
          				servoMotor.detach();
                      	break;
        case 16625743:  Serial.println("Eq"); // Detección automática de la temperatura ambiente
                        if (temperatura < 19) {
                                digitalWrite(6, HIGH);
                                digitalWrite(7, HIGH);
                                lcd.clear();
                            	lcd.print("Temperatura: ");
                            	lcd.println(temperatura);
                                lcd.setCursor(0,1);
                                lcd.print("Potencia 100%");
                                delay(500);
                        } else if (temperatura > 20 && temperatura < 25) {
                                digitalWrite(6, HIGH);
                                digitalWrite(7, LOW);
                                lcd.clear();
                                lcd.print("Temperatura: ");
                                lcd.println(temperatura);
                                lcd.setCursor(0,1);
                                lcd.print("Potencia 50%");
                                delay(500);
                        } else {
                                digitalWrite(6, LOW);
                                digitalWrite(7, LOW);
                                lcd.clear();
                                lcd.print("Temperatura: ");
                                lcd.println(temperatura);
                                lcd.setCursor(0,1);
                                lcd.print("Apagado");
                                delay(500);
                        }
                      	break;
        case 16609423:  Serial.println("ST / Rep"); // Encendemos el servomotor en modo automático
                        for (int i = 0; i <= 180; i++)
						{
    						servoMotor.write(i);
    						delay(25);
  						}
  						for (int i = 179; i > 0; i--)
  						{
    						servoMotor.write(i);
    						delay(25);
  						}
                      	break;
        case 16584943:  Serial.println("Abajo"); // Habilitamos el servomotor a la derecha
                        lcd.clear();
                        lcd.print("Girando a la");
                        lcd.setCursor(0,1);
                        lcd.print("Derecha");
          				delay(500);
                        lcd.clear();
                        lcd.print("Presione Pausa");
                        lcd.setCursor(0,1);
                        lcd.print("Para frenar");
          				for (int i = 0; i <= 180; i++)
  						{
    						servoMotor.write(i);
    						delay(25);
  						}
                      	break;
        case 16601263:  Serial.println("Arriba"); // Habilitamos el servomotor a la izquierda
                        lcd.clear();
                        lcd.print("Girando a la");
                        lcd.setCursor(0,1);
                        lcd.print("Izquierda");
                        delay(500);
                        lcd.clear();
                        lcd.print("Presione Pausa");
                        lcd.setCursor(0,1);
                        lcd.print("Para frenar");
                        for (int i = 179; i > 0; i--)
  						{
    						servoMotor.write(i);
    						delay(25);
  						}
                        break;
        default: Serial.println(results.value);     
      }  
    irrecv.resume();
  }  
  delay(300);
}
void lectura_voltios(float unidad, int decimales)
{
  lectura = analogRead(A2);
  if (lectura == 0) {
    lcd.setCursor(0, 1);
    lcd.print("Falla Bateria");
  }
  else {
    voltaje = ((5 * float(lectura)) / 1023);
    lcd.print(float(voltaje) * 3 * unidad, decimales);
  	carga = map(float(voltaje) * 3, 4.8, 6.20, 0, 100);
    lcd.print(carga);
  } 
}

Ya revise varias veces el código y no me doy cuenta del error que dice:

 In function `__vector_7':
539: multiple definition of `__vector_7'
/home/circuits/Arduino/libraries/IRremote/src/IRremote.cpp:126: first defined here
 error: ld returned 1 exit status
 exit status 1

Esto es un proyecto de la facultad

Moderador:
Edita el titulo.
Retira la palabra "Ayuda".
Lee las normas del foro, ahi se explica por que no usar este titulo considerado inútil.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.