Cambio de variables con potenciometro

Hola a todos,

Estoy bastante bloqueado con un proyecto que tengo en mente. Es un sensor de humedad y temperatura que activa unos relés según un setpoint elegido. Este setpoint lo cambio con unos potenciometros. Hasta aquí todo correcto. El problema es que cada X segundos, al caer un poco la tensión del arduino (me imagino que al leer sensores, etc.) el valor del setpoint me cambia al depender del potenciometro.

¿Se os ocurre alguna manera de forzar a que las variables que manejan los potenciometros se cambien únicamente cuando se ha superado un cierto umbral? Para asegurar asi que se quiere cambiar el setpoint y no que venga por caídas de tensión.

Es que la temperatura es critica y necesito manejarla en décimas. Una caída de tensión me produce un cambio del setpoint de alrededor de 5 décimas.
Por ejemplo, querría que solo se actualice el setpoint si cambia +-0,6.

No se si me haber explicado.

msg87:
... el valor del setpoint me cambia al depender del potenciómetro.

Hola,
Vamos por partes: ¿cuánto cambia?. ¿Por qué usas un potenciómetro y no lo fijas mediante una variable?. ¿Has probado esto último?. ¿Cómo están cableados los relés?
Saludos.

El problema es que cada X segundos, al caer un poco la tensión del arduino (me imagino que al leer sensores, etc.) el valor del setpoint me cambia al depender del potenciometro.

Esto es inadmisible.

Caídas de tensión en el arduino, como es posible? Revisa la salida de 5V.
Eso no debería estar pasando.

vffgaston:
Hola,
Vamos por partes: ¿cuánto cambia?. ¿Por qué usas un potenciómetro y no lo fijas mediante una variable?. ¿Has probado esto último?. ¿Cómo están cableados los relés?
Saludos.

Utilizo un potenciometro para cambiar la variable del setpoint de humedad y otro potenciometro para lo mismo con la temperatura. Los valores que da 0-1023 los cambio con la función map al valor que me interesa.

Pues si tengo fijado 21,0 grados... me cambia a 21,6 un segundo cada 5 segundos. La caida de tensión es de 4,86 a 4,78.. Pero debe de ser suficiente para que el potenciometro cambie de valor. De ahí mi pregunta si hay alguna manera de fijar las variables y solo forzar su cambio si la cambiamos mas de 8 décimas para evitar el problema del que os hablo.

gracias

Puedes poner tu código para revisarlo. Ojo que la función map() usa matemática entera y no produce fracciones.

De que valores son tus potenciometros y como están conectados ?

//---------Lectura de Potenciometros
       PotenciometroHumedad = analogRead(1);
       PotenciometroTemperatura = analogRead(2);

//---------FIN de la lectura  de Potenciometros
      


//---------Mapear valores  de Potenciometros
          
       SetPointHumedad = map(PotenciometroHumedad, 0, 1023, 35, 90);    
       SetPointTemperatura = map(PotenciometroTemperatura, 0, 1023, 1700, 3900);
       SetPointTemperatura= SetPointTemperatura/100.0;  // Para que el SP tenga valores decimales ya que la funcion map() solo devuelve enteros.
            
//---------FIN de mapeo de Potenciometros

Los potenciometros tienen una resistencia de 10k

La salida de 5V del arduino viene de un regulador de tensión que SE SUPONE no puede verse alterada por un potenciómetro de 10k.

Si se altera es porque el regulador está dañado o tienes un consumo excesivo.

Solo estan los potenciómetros conectados al Arduino?

Leo en tu primer post que hablas de los sensores. Indica una lista de cada sensor y cada cosa conectada al arduino.