Ayuda!! Como controlar dos servos con Joystick

Necesito ayuda. deseo controlar desde mi placa arduino dos servos mediante un joystick, alquien me puede orientar como hacerlo o pasarme un sketch.
gracias
Favio
:wink:

Un joystick al fin y al cabo no es mas que un conjunto de interruptores que abren y cierran un circuito según muevas la palanca en una dirección u otra.

Tendrás que programar el funcionamiento de los servos de forma tradicional y luego indicandole mediante un if, while o lo que se te ocurra que funcione o deje de funcionar el servo cuando determinado interruptor accionado por el movimiento de la palanca de tu joystick esté abierto o cerrado.

No sé si lo has entendido, si tienes alguna duda pregunta pero el concepto es ese.

Un saludo.

Hace eones que no toco un Joystick, pero recuerdo que los habia digitales (como el que ha descrito Outl4w) y analógicos, en los cuales tenias dos potenciómetros que giraban con ambos ejes. La ventaja de los analógicos es que, además te obtener una dirección en el plano, podias tener tambien la intensidad de la misma (o si lo prefieres, podias definir un vector con modulo y dirección).

he cargado la placa con un skecth para joystick y me reulta inestable, dando valores salteados no mantiene una coerencia para poder comandar el servo.

Comprobador de un Gamepad/Joystick para PC con
un conector DB-15

Configuraci?n de los pines del puerto de joystick

(male connector on joystick cable)

.-----------------------.
\ 8 7 6 5 4 3 2 1 /
\ 15 14 13 12 11 10 9 /


1 XY1 (+5v)
2 Switch 1
3 X1
4 Ground (for switch 1)
5 Ground (for switch 2)
6 Y1
7 Switch 2
8 N.C.
9 XY2 (+5v)
10 Switch 3
11 X2
12 Ground (for switch 3&4) *
13 Y2
14 Switch 4
15 N.C. *

Joystick B ____ Joystick A
/ |
/ |
/ |
/ 1 |
| O------- 5 Volt
5 Volt -------O |
| 9 2 |
| O------- Button
Button -------O |
| 10 3 |
| O------- Resistor X-axis
Resistor X-axis -------O |
| 11 4 |
| O------- Ground
MIDI TXD -------O |
| 12 5 |
| O------- Ground
Resistor Y-axis -------O |
| 13 6 |
| O------- Resistor Y-axis
Button -------O |
| 14 7 |
| O------- Button
MIDI RXD -------O |
| 15 8 |
| O------- 5 Volt
\ |
\ |
\ |
\ |
\__|

Pin Joystick Fucntion Paddle Function Din6 MIDI

1 +5.0 VDC L5 -
2 Joystick A Fire Button 1 Paddle #1 Fire Button L4 -
3 Joystick A X Position (Roll) Paddle #1 Position L1 -
4 Ground L3 -

5 Ground L3 GND
6 Joystick A Y Postion (Pitch) Paddle #2 Position L2 -
7 Joystick A Fire Button 2 Paddle #2 Fire Button L6 -
8 +5.0VDC L3 +5V

9 +5.0VDC R3 -
10 Joystick B Fire Button 1 Paddle #3 Fire Button R4 -
11 Joystick B X Postion Paddle #3 Position R1 -
12 Ground R3 DOut

13 Joystick B Y Position Paddle #4 Postion R2 -
14 Joystick B Fire Button 2 Paddle #4 Fire Button R6 -
15 +5.0 VDC R5 DIn 

Igor Gonz?lez Mart?n. 18-03-2007
igor.gonzalez.martin@gmail.com

*/

int joyX = 0; // Eje X del joystick
int joyY = 1; // Eje Y del joystick
int boton1= 4; // Bot?n 1 del joystick
int boton2= 5; // Bot?n 2 del joystick
int boton3= 6; // Bot?n 3 del joystick
int boton4= 7; // Bot?n 4 del joystick
int valX=0;
int valY=0;
int bot1Val=0;
int bot2Val=0;
int bot3Val=0;
int bot4Val=0;

void setup(){
Serial.begin(9600);
pinMode (boton1,INPUT);
pinMode (boton2,INPUT);
pinMode (boton3,INPUT);
pinMode (boton4,INPUT);
}

void loop () {
valX=analogRead(joyX); 
valY=analogRead(joyY);
bot1Val=digitalRead(boton1); 
bot2Val=digitalRead(boton2); 
bot3Val=digitalRead(boton3); 
bot4Val=digitalRead(boton4); 
Serial.println("--------------------------"); 
Serial.print("X: ");
Serial.print(valX);
Serial.print(" - Y: ");
Serial.println(valY);
Serial.print("Boton1: ");
Serial.println(bot1Val); 
Serial.print("Boton2: ");
Serial.println(bot2Val); 
Serial.print("Boton3: ");
Serial.println(bot3Val); 
Serial.print("Boton4: ");
Serial.println(bot4Val); 
delay (1000);
}

esto por lo visto no me resulto.