voltimetro hasta 40V

estoy diseñando u na fuente con arduino, para medir la tension, la potencia, y poder setear la corriente y que corte cuando llega al valor seteado.
funciona todo correcto, peor no logro visualizar la tension correcta en el display.
tengo armado un divisor con una resistencia de 10K a masa con una de 100K a la salida de la fuente.

estoy usando esto:

Vin = ((analogRead(A1) * 25.5)) / 1024;  //Lee el voltaje de entrada
vout = Vin / (R9 / (R8 + R9));  //Fórmula del divisor resistivo para el voltaje final

el voltaje a mostrar debería ser "vout" pero no logro una visualización correcta de la tensión.
el valor "25.5" es un valor cualquiera que estuve probando varios valores. supuesta mente debería ser el valor máximo, porque se esta mapeando.. es asi?? porque no logro ver el valor correcto?
si se necesita mas información, avísenme que subo.
gracias de antemano.

R9 = 10k
R8 = 100k

Entonces Vout = Vin * 10/110 por lo tanto si despejas para obtener vin te queda

Vout * 110/10 = Vin

Vout * 11 = Vin

Asi que no se donde salió 25.5 pero esta mal.

Eso respecto a tu divisor de tensión. Ahora dinos cual es la tensión máxima de tu fuente o sea cual es Vin?
Tal vez tu divisor es demasiado para medir bien.
De hecho es casi 1/10 de la lectura de entrada. Lo que te permite medir hasta 55V.

voy a verificar eso, porque no lo tengo conmigo al circuito.
Vin, es la tension maxima que entrega la fuente, que serian 37V (40V como mucho).
calculando el divisor, deberian ser de 3,36V la salida hacia el pin A1, donde mido la tension.

Con 37V a la entrada y tu divisor original tendras 37V/11 = 3.36V es correcto pero... para que un divisor que permita lecturas máximas de 55V si lo máximo que vas a tener son 40V.

Ya que solo es cambiar una resistencia pues recalculemos.

40V/5V = 8
O sea que tu divisor tiene que tener esa relación

Vout = Vin * R9/(R8+R9)

Conservemos R9 = 10K
Vout = 5V
Vin = 40V

5V = 40V * 10/(R8+10) => pasando los terminos para uno y otro lado

(R8+10)5V = 40V10 =>
R8+10 = 40/5*10 = 80

R8 = 80 - 10k = 70k bueno quedó un valor raro.

Lo mejor es una R de 68K

Veamos como afecta y si no alcanza los 37V entonces agregamos unas R en serie.

Vout = 37V * 10/(10+68) = 4.74V no esta mal.
Quiere decir que con 68K puedes incluso medir tensiiones mayores

Vin = 5*(10+68)/10 = 39V lo que esta mas que bien

Entonces R9 = 10k y R8 = 68K te permiten una mejor lectura que R8 = 10K
El factor para leer directamente será 78/10 = 7.8

entonces, quedaria asi:
Vin = ((analogRead(A1) * 7.8 )) / 1024;
vout = Vin / (R9 / (R8 + R9 ));
y R8 cambiarla por una de de 68K.
es correcto?

Si.