Map() da lineare a logaritmico

Potresti provare anche questa funzione f(x) = ln(x^2) x 111.07 che ti da questo grafico.

Il valore costante 111.08 è calcolato (con abbondante arrotondamento) in questo modo 1023 / ln(100^2) per fare in modo che quando X = 100 -> Y = 1023

Certo tutti questi calcoli in virgola mobile con un piccolo ATMega328 richiederanno un po' di cicli clock, ma se non ci sono dei timing stringenti... anche perché immagino che tu non stia li continuamente a variare il potenziometro, ed il calcolo lo fai solo quando realmente necessario.

save

In C++ diventa cosi. Con x = 25 il risultato è 715

int x,y;
x =  valore_da_0_a_100;
y = log(x*x)*111.08;