several servoes

val = map(val, 0, 511, 0, 0);

What is this supposed to do?

What do you want your code to do? What does it actually do?

How are you powering it all? Hopefully you have a separate power supply for the servos.