Comandos IF y Else

volatile unsigned long contador = 0;   // Variable entera que se almacena en la RAM del Micro
const byte ledPin = 13;                // LED que se encuentra en el pin 13
const byte isrPin = 3;                 // INPUT

void interrupcion1() {                  // Funcion que se ejecuta durante cada interrupion
  contador++;                           // Se incrementa en uno el contador
}

void setup() {
  Serial.begin(57600);
  attachInterrupt(digitalPinToInterrupt(isrPin), interrupcion1, RISING); // Interrupcion 1 (pin3), LOW, CHANGE, RISING, FALLING
  pinMode(ledPin, OUTPUT);              // El p1n 13 será una salida digital
}


void loop() {
  delay(1000);                          // retardo de casi 1 segundo

  // -------- sección crítica --------
  detachInterrupt(digitalPinToInterrupt(isrPin));
  unsigned long contadorCopia = contador;
  contador = 0;
  attachInterrupt(digitalPinToInterrupt(isrPin), interrupcion1, RISING);
  // ----------------------------------

  Serial.print(contadorCopia); Serial.println(" RPM");

  if (contadorCopia > 15) {
    digitalWrite (ledPin, HIGH);          // Encender LED
  } else {
    digitalWrite (ledPin, LOW);           // Apagar LED
  }
}