Ton problème semble plutôt donc être côté programmation.
Regarde du côté de l'utilisation des structures conditionnelles (if, else).
Si par exemple tu as dans "in" la valeur de ton potard,
calibrée en degrés et "pos" la position souhaitée du servo:
if(in >= 70 && in < 80)
{
pos = 0.3 * in;
}else
{
if(in >= 80 && in < 90)
{
pos = 0.1 * in;
}
}
servo.write((int)pos);
Pour calibrer la valeur de
in, tu mesures les valeurs lue par analoRead() pour les positions extrèmes du potard et tu appliques un truc genre:
in = map(analogRead(PIN_POTARD), VAL_MIN_LUE, VAL_MAX_LUE, ANGLE_POTARD_MIN, ANGLE_POTARD_MAX);
Entre 79 et 80 degrés tu vas avoir une discontinuité puisque le servo va passer de 23° à 8°
C'est peut-être voulu, ou alors j'ai mal compris la question
