Medir litros requeridos con caudalimetro

Saludos busco la forma de como poder cerrar paso de agua cuando el sensor de flujo reconozca la cantidad de litros que requiero en este caso son 1 litro y 5 litros, el cual la idea es escribir en el monitor serial 1 o 5 y solo deje fuir un litro o los 5, cuando termine vuelva el conteo de litro a 0.0, el corte de paso es activando o desactivando el paso de una electro válvula en el pin 8, alguien me puede ayudar saludos son algo principiante.

1 litro = 450
5 litros = 2250

#include <Wire.h> // Librería comunicación I2C
  
  const int sensor = 2; // Pin digital para el sensor de flujo YF-S201
  int litros_Hora; // Variable que almacena el caudal (L/hora)
  volatile int pulsos = 0; // Variable que almacena el número de pulsos
  unsigned long tiempoAnterior = 0; // Variable para calcular el tiempo transcurrido
  unsigned long pulsos_Acumulados = 0; // Variable que almacena el número de pulsos acumulados
  float litros; // // Variable que almacena el número de litros acumulados
 
  // Rutina de servicio de la interrupción (ISR)
  void flujo()
  {
    pulsos++; // Incrementa en una unidad el número de pulsos
  }
   
  void setup()
  {
    pinMode(sensor, INPUT_PULLUP); // Pin digital como entrada con conexión PULL-UP interna

    interrupts(); // Habilito las interrupciones
    // Interrupción INT0, llama a la ISR llamada "flujo" en cada flanco de subida en el pin digital 2
    attachInterrupt(digitalPinToInterrupt(sensor), flujo, RISING);  
    tiempoAnterior = millis(); // Guardo el tiempo que tarda el ejecutarse el setup
    Serial.begin(9600); 
  }
   
  void loop ()
  {
    // Cada segundo calculamos e imprimimos el caudal y el número de litros consumidos
    if(millis() - tiempoAnterior > 1000)
    {
      // Realizo los cálculos
      tiempoAnterior = millis(); // Actualizo el nuevo tiempo
      pulsos_Acumulados += pulsos; // Número de pulsos acumulados
      litros_Hora = (pulsos * 60 / 7.5); // Q = frecuencia * 60/ 7.5 (L/Hora)
      litros = pulsos_Acumulados*1.0/450; // Cada 450 pulsos son un litro
      pulsos = 0; // Pongo nuevamente el número de pulsos a cero

    Serial.println(litros);
    }
  }

Prueba de este modo

#include <Wire.h>             // Librería comunicación I2C
  
const int sensor    = 2;      // Pin digital para el sensor de flujo YF-S201
int litros_Hora;              // Variable que almacena el caudal (L/hora)
volatile int pulsos = 0;      // Variable que almacena el número de pulsos
unsigned long tiempoAnterior    = 0; // Variable para calcular el tiempo transcurrido
unsigned long pulsos_Acumulados = 0; // Variable que almacena el número de pulsos acumulados
float litros;                 // Variable que almacena el número de litros acumulados
float SetPointVolumen;
 
// Rutina de servicio de la interrupción (ISR)
void flujo() {
  pulsos++; // Incrementa en una unidad el número de pulsos
}
 
void setup() {
  Serial.begin(9600); 
  pinMode(sensor, INPUT_PULLUP); // Pin digital como entrada con conexión PULL-UP interna
  interrupts(); // Habilito las interrupciones
  // Interrupción INT0, llama a la ISR llamada "flujo" en cada flanco de subida en el pin digital 2
  attachInterrupt(digitalPinToInterrupt(sensor), flujo, RISING);  
  tiempoAnterior = millis(); // Guardo el tiempo que tarda el ejecutarse el setup

}
 
void loop () {
  if (Serial.available()>0) {
      char dato = Serial.read();
      if (dato != '\n') {
          SetPointVolumen = (dato-48)*1000; // expreso en mililitros 
      }
  }

  // Cada segundo calculamos e imprimimos el caudal y el número de litros consumidos
  if (millis() - tiempoAnterior > 1000) {
      // Realizo los cálculos
      pulsos_Acumulados += pulsos; // Número de pulsos acumulados
      litros_Hora = (pulsos * 60 / 7.5); // Q = frecuencia * 60/ 7.5 (L/Hora)
      litros = pulsos_Acumulados*1000/450.0; // Cada 450 pulsos son un litro = 1000 mililitros
      if (SePointVolumen >= litros) {
          Serial.println("Detener valvula.");
          Serial.print("Se ha alcanzado el limite : ");
          Serial.println(litros);
      }
      else 
          Serial.println(litros);
      pulsos = 0; // Pongo nuevamente el número de pulsos a cero
      tiempoAnterior = millis(); // Actualizo el nuevo tiempo
  }

}