Erro na compilação, por favor, ajudem!

include<IRremote.h>
int sensorSom = 7; // Pino sensor de som
int pinoRele = 8; // Pino rele
int contPalmas = 0; // Contador de Palmas
unsigned long tempMaxSom = 1000; // Tempo máximo entre o pulso seguinte
unsigned long tempMinSom = 300; // Tempo minimo entre o pulso seguinte
unsigned long compriSom = 100; // Comprimento do som esperado
unsigned long time;
unsigned long startTime = 0; //Pino digital utilizado pelo módulo relé
const int pinoSensorIR = 9; //Pino digital utilizado pelo sensor IR
int statusLamp = 0; //Controla o status do relé (LIGADO / DESLIGADO)
int liga_desliga = 0xFF6897; // código hexadecimal da tecla POWER

int valorRecebido; // valor recebido do status da tecla quando acionada

IRrecv irrecv(pinoSensorIR);
decode_results resultado;

void setup()
{
pinMode(sensorSom, INPUT); // Inicia o pino do sensor como entrada
pinMode(pinoRele, OUTPUT); // Inicia os pino do rele como saída
// Desliga rele (o rele é invertido HIGH desliga / LOW liga)
digitalWrite(pinoRele, HIGH);
pinMode(pinoRele, OUTPUT); //Define como saída (relé)
digitalWrite(pinoRele, HIGH); //Módulo relé inicia desligado
irrecv.enableIRIn(); // inicializa o sensor IR
}
void loop(){
time = millis();

//Inicio sensor de palmas
// Verifica o tempo entre o pulso inicial e o seguinte
unsigned long tempoAposPalma = time - startTime;
if (tempoAposPalma >= compriSom && digitalRead(sensorSom) == LOW)
// Verifica se o pulso recebido respeita o intervalo
if (tempoAposPalma < tempMinSom || tempoAposPalma > tempMaxSom) {
// Caso não respeite reseta a contagem e o tempo
contPalmas = 0;
startTime = millis();
}

else {
  // Iniciada a contagem de pulso e o tempo
  contPalmas ++;
  startTime = millis();
}
// Verifica se a contagem de palma é igual a 1 e se o rele esta desligado
if ((contPalmas >= 1) && (digitalRead(pinoRele) == HIGH)) {
  // se rele estiver desligado, Liga e zera a contagem
  digitalWrite(pinoRele, LOW);
  contPalmas = 0;
}
// Verifica se a contagem de palma é igual a 1 e se o rele esta ligado
if ((contPalmas >= 1) && (digitalRead(pinoRele) == LOW)) {
  // se rele estiver ligado, desliga e zera a contagem
  digitalWrite(pinoRele, HIGH);}
  contPalmas = 0;

}
//Fim sensor de palmas

//Inicio IR
if (irrecv.decode(&resultado)) // Executa caso receba algum códico
{
valorRecebido = (resultado.value);

if(valorRecebido == liga_desliga) 
   { 
    if (statusLamp==0)
    {
      digitalWrite(pinoRele, LOW); //Liga o módulo relé (LÂMPADA ACENDE)
      statusLamp = 1; //altera o status da lampada (como desligado)
      delay(500);
    }
    else
    {
    digitalWrite(pinoRele, HIGH); //Liga o módulo relé (LÂMPADA APAGA)
    statusLamp = 0; //altera o status da lampada (como ligado)
    delay(500);
   
   irrecv.resume(); }// Aguarda a tecla ser acionada)
     }

}

quando compila dá o seguinte erro: expected unqualified-id before ‘if’