AYUDA!!!

Que tal muy buenas tardes-noches
soy muy nuevo programando arduino y bueno básicamente tengo un brazo robot de 4 ejes para el cual utilice:
-4 servos mg995
-arduino uno
-2 joysticks

pero a la hora de la programación estuve investigando como mover los servos con el eje “X” y “Y” con el joystick y con uno solo deseo mover 2 los cuales serian el brazo y la muñeca y con el otro deseo mover otros 2 que seria la pinza y el giro del brazo, pero bueno intente modificar el código para que funcionara con los 4 servos separados con los 2 joysticks pero no funciona, este es el código:

Agradecería mucho su ayuda.

#include <Servo.h>

Servo ServoA;
Servo ServoB;
Servo ServoX;
Servo ServoY;

//posicion de lectura de ejes
int a = 0;
int b = 0;
int x = 0;
int y = 0;

//posicion de los sticks
int stickA = A0;
int stickB = A1;
int stickX = A2;
int stickY = A3;

void setup() {
// control digital para servo con el objeto
ServoA.attach(3);
ServoB.attach(5);
ServoX.attach(6);
ServoY.attach(9);

}

void loop() {

a = analogRead(stickA);
b = analogRead(stickB);
x = analogRead(stickX);
y = analogRead(stickY);

stickA = map(stickA, 0, 1023, 0, 179);
stickB = map(stickB, 0, 1023, 0, 179);
stickX = map(stickX, 0, 1023, 0, 179);
stickY = map(stickY, 0, 1023, 0, 179);

ServoA.write(stickA);
ServoB.write(stickB);
ServoX.write(stickX);
ServoY.write(stickY);

delay(20);
}

yoistick.ino (828 Bytes)

¿Está ejecutando los 4 servos de Arduino 5?
Considere la posibilidad de publicar un diagrama de cableado.
Los detalles pertinentes, mejores respuestas.

int stickA = A0;
...
stickA = map(stickA, 0, 1023, 0, 179);

Ooops.

#include <Servo.h>

Servo servo [4];
const byte stickPin [4] = {A0, A1, A2, A3};

void setup() 
{
  servo[0].attach(3);
  servo[1].attach(5);
  servo[2].attach(6);
  servo[3].attach(9);
}

void loop() 
{
  for (int i = 0; i < 4; i++)
  {
    servo[i].write(map(analogRead(stickPin [i]), 0, 1024, 0, 180));
  } 
  delay(20);
}

(uncompiled, untested)