Paso 2: código:
La idea es controlar cada servo con uno de los dos ejes de un joystick de ps2-como.Cada joystick parecía tener "valores diferentes del resto" (el valor entre 0-1023 cuando todavía es) para el eje de la y y la x.
Que era un problema, ya que la diferencia era de todos pero pequeño (uno tenía el cero y en 623) y quería usar la función de mapa para convertir en grados 0-1023. Pero la función de mapa cree que el valor de resto es 1023/2. Que trajo a cada servo en movimiento como cambio en el Arduino, no es bueno.
Me las arreglé para conseguir alrededor de esto al encontrar manualmente la diferencia entre el valor de la lectura y cada valor diferente del resto (que calculado por separado para cada joystick), entonces para hacer el código más corto y más inteligente, le hice leer los valores del resto de la función de configuración y guardarlas en algunas variables.
El nuevo algoritmo se basa en convertir el incremento en grados, pero quería una muy baja cantidad de grados para mi incremento, así que tuve que dividirlo para una constante: he probado muchos valores, hasta que surgió el final 200 (puedo añadir un potenciómetro para cambiar manualmente este valor al deseado).
El resto del código es bastante estándar, que supongo, aunque podría ser más elegante poner el cálculo del incremento dentro de una función separada.