Eu nao consigo entender porque o unico servo que se mexe eh o da base alguem pode me ajudar?
#include <Servo.h>
#define ANGULO_INICIAL 90
// -- Mapeamento Joysticks--
#define JoystickX1 A0
#define JoystickY1 A1
#define JoystickX2 A2
#define JoystickY2 A3
// --Mapeamento Servos--
Servo motorBase;
Servo motorM1;
Servo motorM2;
Servo motorGarra;
// inicializacao
void setup() {
mapearMotores();
iniciaAngulos();
mapeaJoysticksInput();
}
// loop infinito
void loop() {
moverBase();
moverM1();
moverM2();
moverGarra();
delay(100);
}
// funcoes auxiliares
// --- funcos do set up ---
void mapearMotores(){
motorBase.attach(5);
motorM1.attach(6);
motorM2.attach(9);
motorGarra.attach(10);
}
void iniciaAngulos(){
motorBase.write(ANGULO_INICIAL);
motorM1.write(ANGULO_INICIAL);
motorM2.write(ANGULO_INICIAL);
motorGarra.write(ANGULO_INICIAL);
}
void mapeaJoysticksInput(){
pinMode(JoystickX1, INPUT);
pinMode(JoystickY1, INPUT);
pinMode(JoystickX2, INPUT);
pinMode(JoystickY2, INPUT);
}
//--- funcoes do loop ---
void moverBase(){
int posX1 = analogRead(JoystickX1);
posX1 = map(posX1,0, 1023, 0, 180);
motorBase.write(posX1);
}
void moverM1(){
int posY1 = analogRead(JoystickY1);
posY1 = map(posY1,0, 1023, 45, 135);
motorM1.write(posY1);
}
void moverM2(){
int posX2 = analogRead(JoystickX2);
posX2 = map(posX2,0, 1023, 50, 90);
motorM2.write(posX2);
}
void moverGarra(){
int posY2 = analogRead(JoystickY2);
posY2 = map(posY2,0, 1023, 90, 130);
motorGarra.write(posY2);
}