Errores timer0_pin_port y exit status 1

Hola!
En el trabajo me pidieron realizar un programa con ARDUINO UNO. El programa consiste en que, al presionar un pulsador, una maquina (balancin) comienza a trabajar. Luego de 5 segundos, un sensor de proximidad debe sensar el objeto durante 3 segundos (los 3 segundos son, porque si es de 1seg o menos, puede ser ruido). Si una vez presionado el pulsador y pasados los 5 segundos, el sensor no logra sensar nada, debera sonar un buzzer advirtiendo que la maquina no esta funcionando de la manera que corresponde y se detendra cuando el usuario presione el boton de reset.

el codigo que utilice fue este:

#include<NewPing.h>
int Pinpulsador=2;// declaro las variables
#define Pintrig 6
#define Pinecho 7
#define max_distance 200
NewPing sonar(Pintrig, Pinecho, max_distance);
int Pinbuzzer=9;
int distance;
int duracion;
void setup() {
  Serial.begin (9600);
  pinMode(Pinpulsador,INPUT);
  pinMode(Pintrig, OUTPUT);
  pinMode(Pinecho, INPUT);
  pinMode(Pinbuzzer,OUTPUT);
}

void loop() {
  digitalRead(Pinpulsador==LOW);
  delay(200);
          {
          if (Pinpulsador==HIGH){
              delay (5000);
              {
              if(distance > 0) { 
                 long duracion, distance;
            digitalWrite(Pintrig, LOW);        // Nos aseguramos de que el trigger está desactivado
            delayMicroseconds(100);              // Para asegurarnos de que el trigger esta LOW
            digitalWrite(Pintrig, HIGH);       // Activamos el pulso de salida
            delayMicroseconds(3000);             // Esperamos 10µs. El pulso sigue activo este tiempo
            digitalWrite(Pintrig, LOW);        // Cortamos el pulso y a esperar el echo
            duracion = pulseIn(Pinecho, HIGH);
         noTone(Pinbuzzer);
        }
        else if (distance>0 && distance<10){
          long duracion, distance;
            digitalWrite(Pintrig, LOW);        
            delayMicroseconds(100);              
            digitalWrite(Pintrig, HIGH);       
            delayMicroseconds(1000);            
            digitalWrite(Pintrig, LOW);        
            duracion = pulseIn(Pinecho, LOW);
         noTone(Pinbuzzer);         
         } 
   }
   }else (Pinpulsador==LOW && Pintrig==LOW);
   delay (5000);
   {
    digitalWrite(Pintrig, LOW);
     delayMicroseconds(100);
     digitalWrite(Pintrig, LOW);
     delayMicroseconds(100);
     digitalWrite(Pintrig, LOW);
     duracion= pulseIn(Pinecho, LOW);
     tone (Pinbuzzer, 400);
          }
          }
          }

y el error que me aparece es este:

Arduino: 1.8.9 (Windows 10), Board: "Arduino/Genuino Uno"

Tone.cpp.o (symbol from plugin): In function `timer0_pin_port':

(.text+0x0): multiple definition of `__vector_7'

libraries\NewPing\NewPing.cpp.o (symbol from plugin):(.text+0x0): first defined here

collect2.exe: error: ld returned 1 exit status

exit status 1
Error compiling for board Arduino/Genuino Uno.

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

Pd: Disculpen la falta de tildes, se en donde van, pero no me esta funcionando la tecla.
Desde ya, muchas gracias.

Si usas Tone no uses NewPing porque ambas usan el mismo Timer.
Otro tema es que llamas a NewPing pero luego realizas una lectura del sensor ultrasonico con código entonces?
O una cosa o la otra.
Se nota que has copiado y pegado de muchos lados.

Ordena el código, si quieres la versión rapida elimina NewPing, su objeto

NewPing sonar(Pintrig, Pinecho, max_distance);

y prueba como se comporta.
El sonido lo puedes generar de muchas formas sin usar Tone, asi que esta la variante 2, usar NewPing (cosa que recomiendo) y un simple analogWrite(Pinbuzzer, 255); hara que suene el buzzer, para detenerlo debes poner

analogWrite(Pinbuzzer, 0);

Asi que tienes dos caminos.