Problemas con sensor de flujo y activación por tiempos

Buenas hace un mes compre un sensor de flujo de agua (YF-S201), para un prototipo de preparatoria, el punto es que descarge un código que me daba mediciones de flujo convirtiendo los pulsos a lectura serial etc, el problema es que quise agarrar la lectura de serial.println, para que cuando pasaran ejem 10 min y el caudal estuviera entre 1.000 y 13.000 de lectura se activara una salia en mi caso la 13, ya le e modificado de todo y no me funciona :frowning: ya no se que mas moverle ahorita me quiere funcionar pero como prueba puse el led en el pin 13 y el led apaga y prende pero con muy poca intensidad casi nula

pd: aun soy algo novato para el arduino y la programacion :’(

volatile int NumPulsos; //variable para la cantidad de pulsos recibidos
int PinSensor = 2;    //Sensor conectado en el pin 2
float factor_conversion = 7.5; //para convertir de frecuencia a caudal
int tel = 13;

//---Funcion que se ejecuta en interrupcion---------------
void ContarPulsos ()
{
  NumPulsos++;  //incrementamos la variable de pulsos
}

//---Funcion para obtener frecuencia de los pulsos--------
int ObtenerFrecuencia()
{
  int frecuencia;
  NumPulsos = 0;   //Ponemos a 0 el numero de pulsos
  interrupts();    //Habilitamos las interrupciones
  delay(1000);   //muestra de 1 segundo
  noInterrupts(); //Desabilitamos las interrupciones
  frecuencia = NumPulsos; //Hz(pulsos por segundo)
  return frecuencia;
}

void setup()
{
  Serial.begin(9600);
  pinMode(PinSensor, INPUT);
  attachInterrupt(0, ContarPulsos, RISING); //(Interrupcion 0(Pin2),funcion,Flanco de subida)
}

void loop ()
{
  double frecuencia = ObtenerFrecuencia(); //obtenemos la Frecuencia de los pulsos en Hz
  double caudal_L_m = frecuencia / factor_conversion; //calculamos el caudal en L/m
  double caudal_L_h = caudal_L_m * 60; //calculamos el caudal en L/h

  //-----Enviamos por el puerto serie---------------
  Serial.print ("FrecuenciaPulsos: ");
  Serial.print (frecuencia, 0);
  Serial.print ("Caudal: ");
  Serial.print (caudal_L_m, 3);
  Serial.print (" L/m  ");
  if (caudal_L_m > 1.000 && caudal_L_m <13.500){
    digitalWrite(tel,HIGH);
    delay(100);
  }
    else{
      digitalWrite(tel,LOW);
      delay(100);
    }
  }

porque mezclas cauldal y frecuencia en tu if?

if (caudal_L_m > 1.0 && frecuencia <13.500){

no deberia ser

if (caudal_L_m > 1.0 && caudal_L_m <13.500){

lo tenia a ambos con caudal_L_m fue error al momento de escribirlo aquí