sensor de voltaje

que tal buenos dias

soy relativamente nuevo en el uso de arduino y tengo una duda, espero puedan ayudarme

estoy desarrollando un programa para sensar el voltaje de un banco de capacitores, el problema es que estoy usando bluetooth y para activar el sensor envio un dato a travez de bluetooth, para esto estoy usando “if”, cuando mando el dato entra en el primer if y sensa el voltaje pero cuando el voltaje cambia ya no lo sensa hasta que envio nuevamente el dato, les dejo el programa y ojala puedan ayudarme

void loop() {
char dato=Serial.read();

sen_vol = analogRead(val);
voltaje = sen_vol * (4.7 / 1024);
Serial.println (voltaje);
//int i;
//i=inhibit();

if(dato == ‘1’)
{
if(voltaje <= 0.2)
{
digitalWrite(ihb, HIGH);
analogWrite(vol_sal, 160);
}
else if(voltaje > 0.2)
{
digitalWrite(ihb, LOW);
// analogWrite(vol_sal, 0);
}
}

}

Tu limite esta en 0.2 Volts de algo que mide hasta 4.7 o sea

1023 --------> 4.7V X ------------> 0.2V 43 cuentas

Algo que esta por debajo o igual a 43 dispara inh en HIGH y mandas ese analogWrite(vol_sal, 160) que tengo mis dudas de que sepas lo que estas haciendo. Eso es una PWM que no defines a que frecuencia esta con un duty cycle de 160/255 y la dejas funcionando si es mayor a 0.2V

Explica mejor el contexto, agrega el resto del código (setup) y definiciones de las variables. Lee las normas y usa tags para insertar el código.

Espero tu respuesta para ayudarte.