Joystick

Buonasera a tutti, mi sono capitati tra le mani degli analog dei joystick come quelli della playstation, questi per intenderci. Ho poi scritto questo codice prendendo spunto da questa guida per vedere cosa rispondeva al movimento:

int pin_dx = 3;
int pin_dy = 5;
int val=0;

void setup() {
 Serial.begin(9600);
}

void loop() {
  val = analogRead(pin_dx);
  Serial.println("lettura asse x:  ");
  Serial.println(val);
  delay(1000);

}

Ho iniziato quindi a vedere cosa succedeva. Mi sono accorto che se non tocco nulla il valore riportato é 493 e leggendo questa guida direi che é "normale".
Le cose che mi lasciano perplesso sono due:

  1. Ho un altro joystick che inserito, senza toccare nulla, restituisce 518, il che mi fa pensare che un domani se scriveró un codice serio che realizzi il controllo di un qualcosa questa differenza di valori mi causerá qualche problemi (al livello di settaggio e tarature).
  2. La cosa che peró mi disturba é che perturbando anche di pochissimo l'analog, il valore schizza subito a 1023 (oppure a 0), cioé il campo tra 493 a 1023 (o 0) é davvero limitatissimo, meno di metá di tutto lo spazio disponibile.
    Il collegamento che ho fatto é diretto dal joystick a arduino UNO (Genuino), quindi penserei che disturbi dovuti al cablaggio non ce ne siamo. I joystick sono cinesissimi, pagati intorno ai 50 centesimo l'uno..

La mia domanda quindi é: come migliorare la sensibilitá? Ho cercato di informarmi un po' su internet, ma tranne quella guida con la libreria

JoystickController.h

ho trovato solo codice come quello scritto da me. Grazie

Sei sicuro che i Joystick sono resistivi e non solo digitali?

Ciao Uwe

Nella descrizione parla di potenziometri. Come posso vedere il tipo? grazie

Dacci il link al prodotto,
Fai 2 foto,
Misuri con un multimetro la resistenza in funzione della posizione.

Ciao Uwe

Al momento non sono a casa. stasera faccio tutto.Posso intanto dare il link, che è
questo

Allora, guardando la foto dell'oggetto si vede che sulle due uscite parla specificatamente di Vrx e Vry ... quindi direi che è dotato a bordo di partitore resistivo e che da direttamente un uscita analogica proporzionale alla posizione del potenziometro.

Dire che la prima prova che devi fare è SENZA Arduino ... dagli solo il +5V il GND e misura, tra GND e Vrx o tra GND e Vry il valore di tensione che hai muovendo il potenziometro da un estremo all'altro lungo X o lungo Y.

Facci sapere che poi andiamo avanti ... :wink:

Guglielmo

Nonostante che parlo bene tedesco non ho capito cosa significa "PS2 " nel titolo del prodotto.

Sí, il Joystick é a potenziometro.

Ciao Uwe

PlayStation 2?

gpb01:
Allora, guardando la foto dell'oggetto si vede che sulle due uscite parla specificatamente di Vrx e Vry ... quindi direi che è dotato a bordo di partitore resistivo e che da direttamente un uscita analogica proporzionale alla posizione del potenziometro.

Dire che la prima prova che devi fare è SENZA Arduino ... dagli solo il +5V il GND e misura, tra GND e Vrx o tra GND e Vry il valore di tensione che hai muovendo il potenziometro da un estremo all'altro lungo X o lungo Y.

Facci sapere che poi andiamo avanti ... :wink:

Guglielmo

Buonasera. Ho controllato; ho preso la 5V da arduino e con il multimetro ho misurato le tensione. Allora: se non tocco nulla la tensione sia in x che y varia dai 2.22 a 2.24. Al minimo arrivo intorno ai 4 mV mentre al massimo ho una tensione di 4.4 - 4.6 V. Anche in questo caso mi sono accorto che la tensione raggiunge i picchi (di minimo e massimo) subito, anche se muovo di poco l'analog.

linofex:
... Anche in questo caso mi sono accorto che la tensione raggiunge i picchi (di minimo e massimo) subito, anche se muovo di poco l'analog.

... e questo è il problema perché, stando così le cose, NON ci puoi fare nulla, Arduino legge correttamente gli stessi valori.

Purtroppo ... "poco costare, poco valere" ... chissà che "monnezza" di potenziometri ci hanno montato ... magari neanche potenziometri lineari ... :confused:

Guglielmo

P.S.: Guarda, ad esempio, QUESTI ... venduti da una ditta seria :wink:

gpb01:
... e questo è il problema perché, stando così le cose, NON ci puoi fare nulla, Arduino legge correttamente gli stessi valori.

Purtroppo ... "poco costare, poco valere" ... chissà che "monnezza" di potenziometri ci hanno montato ... magari neanche potenziometri lineari ... :confused:

Guglielmo

P.S.: Guarda QUESTI ... venduti da una ditta seria :wink:

Avevo fatto una domanda diversi giorni fa proprio sulla qualitá degli accessori, purtroppo senza risposta. Da me vige il detto "chi piú spende meno spende". Grazie per l'assistenza. (aspetto qualche risposta nell'altro topic ;D )

EDIT
Ho notato solo ora il link ai joystick, mamma mia che sito! Sparkfun non mi é nuovo come nome, ma sono sbalordito, c'é di tutto (dai componenti ai libri, ai tutorial online)!! Grazie mille!

a proposito di joystick, me ne servirebbe uno delle dimensioni di quello per la playstation ma a micro switch, non li trovo.

vbextreme:
a proposito di joystick, me ne servirebbe uno delle dimensioni di quello per la playstation ma a micro switch, non li trovo.

Tipo QUESTO ?

Guglielmo

l'avevo gia visto, ma è troppo grande, è alto 8cm...volevo qualcosa sui 2/3 cm.
Poi costa un sacco e una sporta.
ma questo miniaturizzato non esiste?

se gli trovi una manopolina, c'e' questo
http://www.robot-italy.com/it/5-way-tactile-switch-breakout.html