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:
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).
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
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.
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 ...
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.
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 ...
Guglielmo
P.S.: Guarda QUESTI ... venduti da una ditta seria
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!