llenadora de botellas automatizada (POR FAVOR NECESITO AYUDA RAPIDO!!!!)

Buen dia a todos, necesito ayuda con un codigo, lo que estoy tratando de hacer es que por medio de un caudalimetro y una electrovalvula pueda llenar embases con determinado numero de litros que yo introduzca por el puerto serial, el problema que tengo actualmente es que el programa actualmente hace el conteo de litros pero no se detiene en la cantidad de litros que introduzco por el puerto serial y en cambio sigue calculando los litros y la electrovalvula nunca se apaga :frowning:

adjunto el codigo:

volatile int NbTopsFan;
float Calc;
int hallsensor = 2;
int pinRele=11;
int lecturaSt;
int caudalTope;

void rpm () {
NbTopsFan++;
}

void setup() {

Serial.begin(9600);
pinMode(hallsensor, INPUT);
pinMode(pinBotonStart, INPUT);
pinMode(pinRele, OUTPUT);
attachInterrupt(0, rpm, RISING);

}

void loop () {
if(Serial.available()){
caudalTope = Serial.read();

digitalWrite(pinRele, HIGH);

do {
NbTopsFan = 0;
sei();
delay (1000);
cli();
Calc = Calc + (NbTopsFan / 5.5)/60;
Serial.println(Calc, DEC);
}while(Calc < caudalTope);
digitalWrite(pinRele, LOW);

caudalTope = 0;
lecturaSt = 0;
}
delay(500);
}

caudalimetro.ino (803 Bytes)

A ver te llamaron la atención por postear un doble post en el foro en inglés. Un mensaje en inglés con título en espaÑol y otro en español que fue automáticamente movido a este foro y yo lo borré por doble post. El hilo en inglés lo volví a enviar a Project Guidance y está indicado al final por si sigues perdido. Te envié privado indicándote tu falta, te hago las observaciones como usar etiquetas que es lo que te estan llamando la atención ahora. Finalmente te pido que no dejes de leer las normas y tu respuesta a todo esto es : Otro doble posteo. Hilo cerrado y si repites esto ahora si te baneo por un dia.

Bottle filler