PaulS:
What conclusions can be drawn from here?
That your problem is in the mapping function. In addition to printing the joyh value before mapping, you should print it again after the mapping.
so they say:
int joyh = analogRead(A4);
if(joyh < 410 || joyh > 450)
{
valor = map(joyh, 100, 800, 70, 180);
int joyh = analogRead(A4);
servodireccao.write(valor); // servo direction
delay(15);
}