FUNZIONE "tone(pinBuzzer,frequenza,durata)" non funzionante con libreria IR?

Scusami @Gugliemo per la mia ignoranza ma, dove devo mettere quella scritta ?
Questo è il mio programma, si ricorda nel mio scorso post avevo risolto il sensore pir usando la funzione tone all'interno del programma perchè il delay stoppava arduino, Cioè risolto uno ne trovo un'altro errore..
Il programma è il seguente:

#include<Servo.h>
#include <IRremote.h> 
int receiver = 11; 
IRrecv irrecv(receiver); 
decode_results results;
const byte pinPulsante=6;
int pinPir=7;
int pinLed=8;
int pinFoto=A0;
int statoPulsante=0;
int statoPir=0;
int statoFoto=0;
int ledGia=13;
int ledSta=2;
int pinBuzzer=3;
int frequenza=200;
int durata=2000;
Servo servo1;
void setup()
{
  Serial.begin(9600); 
  irrecv.enableIRIn();
  pinMode(pinPir,INPUT_PULLUP);
  pinMode(pinLed,OUTPUT);
  pinMode(ledGia,OUTPUT);
  pinMode(ledSta,OUTPUT);
  pinMode(pinFoto,INPUT);
  pinMode(pinBuzzer,OUTPUT);
  pinMode(pinPulsante,INPUT);
  servo1.attach(9);
  servo1.write(0);
}
void loop()
{
  statoPir= digitalRead(pinPir);
  statoFoto= analogRead(pinFoto);
  statoPulsante=digitalRead(pinPulsante);
 
  if (irrecv.decode(&results)) 
  {
    Serial.println(results.value, HEX); 
    irrecv.resume();
  }

  if ( results.value == 0x8B8510E8){ 
    digitalWrite(ledSta, HIGH);   
  } 
  if ( results.value == 0x6825E53E){
    digitalWrite(ledSta, LOW);   
   
  }  
   if (statoPulsante==HIGH){
    digitalWrite(pinLed,HIGH);
    servo1.write(0);
    delay(6000);
    Serial.println(statoPulsante);
  }
  else {
    digitalWrite(pinLed,LOW);
    servo1.write(140);
    delay(300);
  }
  if (statoFoto<=500){
    Serial.println(statoFoto);
    digitalWrite(ledGia,HIGH);
    delay(15);

  }
  else {
    digitalWrite(ledGia,LOW);
    delay(15);

  }
  if(statoPir==LOW) {
   tone(pinBuzzer,frequenza,durata);
   delay(2000);
  }
}