TRABAJANDO CON JOYSTICKS PS3, AYUDA [SOLUCIONADO]

saludos,

En el proyecto que tengo actualemente estoy usando joystick de ps3 (mi hijo me daño 3, así que me sobran) estos son de 4 patas, al final solo he utilizado 3 pero las lecturas que consigo en el arduino distan de las de un pot normal (0 - 1023) en el centro obtengo 340 - 339, y en al mover lateral pasa casi de corrido a 346 y 334 en el otro extremo. además que estos valores cambian de un día de conexión a otro (no he revisado si depende de lo que tenga armado en el circuito)

Tengo un par de dudas :

Que puedo hacer para mejorar la "sensibilidad", es decir para que el incrmento-decremento sean más lineales? (requiero agregar PWM, y no he podido por lo drástico de la variación.
Esti se debe a que son pots logaritmicos?

agradezco sus aportes!

No termino de entender el circuito ni el tipo de problema que ves.

Para ver como responde el joystick podrías leer el valor de resistencias en distintos puntos del recurrido y hacerte una gráfica. Eso te dará un idea de como de lineal responde el mando.

La variación que dices que te da, ¿no te da con otro tipos de potenciometros?

En general, por experiencias pasadas, los potenciometros de un joystick (el que sea) no son muy estable en el centro. Por eso, en los drivers de muchos de ellos, te permiten definir una "zona muerta" para evitar esas variaciones. A la señal después tendrás que hacerle algún tipo de filtrado para poder tener valores más suaves.

ADLC

de antemano gracias por responder.

el problema radica q básicamente obtengo lecturas de resistencia en el centro y en los extremos, no durante todo el recorrido, trate con la función map pero no vario mucho, es decir la deadzone abarcaría casi todo el rango del stick. q me recomiendas para filtrar o suavizar, ya que quiero poder utilizar el PWM del avance del motor con este joystick.

lo otro es que como mencione antes este potenciometro de PS3 tiene 4 patas, realmente no tenia esquema de conexionado, y según mis mediciones utilice 3 patas como cualquier pot "normal"

Estuve ayer mirando manuales de joysticks, y funcionan con 4 conexiones:
Tierra, Vcc, eje x, eje y
Haber si te sirve de algo

Pues entonces tendría mucho sentido que no hubieses elegido los terminales correctos a la hora de tomar la medida.
Por lo que parece, no deja de sor dos potenciómetros estandar donde los terminales extremos de estos están interconectados.

No sé si se verá claramente cuales son los terminales para Vcc y Gnd, pero de todas formas sería fácil de saber: la resistencia entre ellos no debería cambiar con la posición del joystick.

lordsaturos:
Estuve ayer mirando manuales de joysticks, y funcionan con 4 conexiones:
Tierra, Vcc, eje x, eje y
Haber si te sirve de algo

Esas 4 conexiones a las que te refieres, son para cuando los conectas a un shield, y tienes la alimentación (Vcc y gnd) para los 2 ejes (potenciometros) y sus correspondientes salidas, yo me refiero directamente al potenciometro de cada eje, normalmente tienen 3 pines (Vcc, Gnd y señal, no en ese orden) y este tiene 4, mira la foto. slds

ADLC:
Pues entonces tendría mucho sentido que no hubieses elegido los terminales correctos a la hora de tomar la medida.
Por lo que parece, no deja de sor dos potenciómetros estandar donde los terminales extremos de estos están interconectados.

No sé si se verá claramente cuales son los terminales para Vcc y Gnd, pero de todas formas sería fácil de saber: la resistencia entre ellos no debería cambiar con la posición del joystick.

Inicialmente hice esto para determinar los tres que tomé :S estos joystick son digitales? si es así ? no se afectan las lecturas del ADC del Arduino? es más al conectar otras cosas en el circuito los valores cambian, supongo que el amperaje se reparte en los q esta conectado y eso afecta la lectura (otros potenciometros y un RF modulo emisor) probare con una fuente aparte de alimentación (5V) a ver q tal

La verdad es que la foto se ve fatal ... si pudieses ponerla anexada con más resolución ...

¿Cada joystick sólo tiene esos 4 pines? ¿O hay otros 4 pines por otro lado?

¿Cual es la resistencia máxima que se mide entre dos pines?

En cuanto a lo de joystick "digitales" ..., bueno, habría que definir que es eso, pero basado en lo que hoy día se suele entender por eso, la verdad es que dudo muchisimo que los joysticks sean digitales ... e incluso me extrañaría que simplemente no fuesen simples joysticks analógicos.

ADLC:
La verdad es que la foto se ve fatal ... si pudieses ponerla anexada con más resolución ...

¿Cada joystick sólo tiene esos 4 pines? ¿O hay otros 4 pines por otro lado?

¿Cual es la resistencia máxima que se mide entre dos pines?

En cuanto a lo de joystick "digitales" ..., bueno, habría que definir que es eso, pero basado en lo que hoy día se suele entender por eso, la verdad es que dudo muchisimo que los joysticks sean digitales ... e incluso me extrañaría que simplemente no fuesen simples joysticks analógicos.

Estos thumbstick son de PS3, yo los monté en una perfboard, el potenciometro de cada eje tiene 4 pines (es lo verde que se ve al costado) te anexo una mejor foto, estos stick son iguales a los ánalogos de ps2 en apariencia, solo con la diferencia que tienen 4 pines en lugar de los 3 clásicos.

en el momento no tengo otra foto, te pongo la misma en mayor tamaño a ver si logras identificar el componente, de igual manera gracias por comentar.

Encontré que estos "joystick" son hall effect sensor, así que para utilzarlos apropiadamente se deben usar unos convertidor de corriente a voltaje, según entendí.

conseguí unos joystick analogos de PS2

Buenos dias chicos,

Refloto el post por si habeis encontrado solución al problema. Me he puesto a investigar con nuestro amigo arduino y los joystick de la PS3, y efectivamente tienen 4 pines.

Siguiendo el comentario del compañero Selda81, los joystick pueden ser hall effect.

Si testeamos los pines en continuidad, podemos localizar un extremo como neutro, "PIN1", y el siguiente pin, "PIN2" Vdd. He conectado una bateria de 3,7V en los PIN1 y PIN2 y multimetro en voltaje entre el PIN3 y el PIN4 y, efectivamente hay variacion de voltaje cuando mueves el joystick.

Extremo1 0.130V

Reposo 0.210V

Extremo2=0.305

Ahora el problema es como puedo usar estos valores con arduino.

Alguna idea?

Gracias.

Un post del 27-10-2012, 19:06:16 ni siquiera se considera reflotar!!
Todo lo que tiene 4 meses esta vedado para todos menos para el autor del mismo o los moderadores que pueden o no cerrarlo. Los demas, tu incluido, abstenerse.
Entonces cuando veas un Warning hazle caso por favor y no respondas.
Crea un hilo nuevo en la sección que corresponda y serás respondido a su tiempo.
Ya que estamos, ve al primer hilo del foro y lee las normas del mismo.