Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Problema joystick con potenziometro

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteMassimoB, Foto UtenteWALTERmwp, Foto Utentexyz

0
voti

[1] Problema joystick con potenziometro

Messaggioda Foto UtenteIN7504 » 26 giu 2024, 17:37

Buona sera
ho costruito una leva joystick con unico asse collegata ad un potenziometro, il problema è che quando vado a fare la calibrazione ha uno scatto da 0% al 50% in maniera non incrementale come se il punto zero partisse a metà della corsa del potenziometro.
Ho cambiato potenziometro ma il problema rimane.
A questo punto penso che sia un problema di codice che allego per scrupolo.
Grazie mille

#include <Joystick.h>
Joystick_ Joystick;
const int yAxisPin = A0;
int yValue = 0;
void setup() {
Joystick.begin();
}

void loop() {
yValue = analogRead(yAxisPin);
int mappedYValue = map(yValue, 0, 1023, -127, 127);
Joystick.setYAxis(mappedYValue);
delay(10);
}
Avatar utente
Foto UtenteIN7504
0 2
 
Messaggi: 3
Iscritto il: 4 giu 2024, 16:37

0
voti

[2] Re: Problema joystick con potenziometro

Messaggioda Foto UtenteThEnGi » 26 giu 2024, 18:53

Prima di tutto:
1. Che HW stai usando ? uno schema fidocadj aiuterebbe
2. I collegamenti sono corretti ?
3. Il codice è tutto o solo uno stralcio ?
4. Metti un link della libreria che stai usando

Manca la chiamata a pinMode() :ok: (non ricordo se la lettura analogica lo richiede o è già dentro la funzione :mrgreen: )

Se stampi sulla seriale il valore letto dall'ADC senza elaborazioni cosa ottieni ?

EDIT per inserire il codice usa "CODE" con un minimo di formattazione che non guasta, infine commenta il codice :ok:

O_/
Avatar utente
Foto UtenteThEnGi
1.710 2 6 8
Expert EY
Expert EY
 
Messaggi: 1761
Iscritto il: 6 ott 2022, 18:43

0
voti

[3] Re: Problema joystick con potenziometro

Messaggioda Foto Utentelelerelele » 27 giu 2024, 16:02

Da ignorante quale sono se vedo scritto:
Codice: Seleziona tutto
yValue = analogRead(yAxisPin);
........
Joystick.setYAxis(mappedYValue);


mi chiedo,
-che funzione andrà a svolgere analogRead()?
-che funzione andrà a svolgere Joystick.setYAxis()?

quindi andrei a vedere li dentro, come vengono usati quei valori, ed in che modo influenzano il valore restituito, sai, a me piace sapere cosa sto facendo, :mrgreen:, il che significa anche, non prendere per buono niente ad occhi chiusi. O_/
Avatar utente
Foto Utentelelerelele
4.192 3 7 9
Master
Master
 
Messaggi: 4827
Iscritto il: 8 giu 2011, 8:57
Località: Reggio Emilia

0
voti

[4] Re: Problema joystick con potenziometro

Messaggioda Foto UtenteIN7504 » 27 giu 2024, 17:16

ThEnGi ha scritto:Prima di tutto:
1. Che HW stai usando ? uno schema fidocadj aiuterebbe
2. I collegamenti sono corretti ?
3. Il codice è tutto o solo uno stralcio ?
4. Metti un link della libreria che stai usando

Manca la chiamata a pinMode() :ok: (non ricordo se la lettura analogica lo richiede o è già dentro la funzione :mrgreen: )

Se stampi sulla seriale il valore letto dall'ADC senza elaborazioni cosa ottieni ?

EDIT per inserire il codice usa "CODE" con un minimo di formattazione che non guasta, infine commenta il codice :ok:

O_/


Grazie mille per la risposta tempestiva :ok:
Allora sto usando una scheda Arduino Leonordo sulla quale ho collegato un potenziometro 10k (Allego foto)
Ti confermo che il codice è tutto quello che ho scritto, sono alle primissime armi e sicuramente ci sarà un errore #-o
Sto usando questa libreria: https://github.com/MHeironimus/ArduinoJ ... master.zip

Praticamente sto costruendo una leva Spoiler per un simulatore di volo (allego foto)

Immagine

Immagine
Avatar utente
Foto UtenteIN7504
0 2
 
Messaggi: 3
Iscritto il: 4 giu 2024, 16:37

0
voti

[5] Re: Problema joystick con potenziometro

Messaggioda Foto UtenteIN7504 » 27 giu 2024, 17:23

lelerelele ha scritto:Da ignorante quale sono se vedo scritto:
Codice: Seleziona tutto
yValue = analogRead(yAxisPin);
........
Joystick.setYAxis(mappedYValue);


mi chiedo,
-che funzione andrà a svolgere analogRead()?
-che funzione andrà a svolgere Joystick.setYAxis()?

quindi andrei a vedere li dentro, come vengono usati quei valori, ed in che modo influenzano il valore restituito, sai, a me piace sapere cosa sto facendo, :mrgreen:, il che significa anche, non prendere per buono niente ad occhi chiusi. O_/


Grazie mille del consiglio, purtroppo essendo alle prime armi mi sto facendo aiutare e ho fatto un copia incolla del codicwe che mi hanno dato :roll:
Avatar utente
Foto UtenteIN7504
0 2
 
Messaggi: 3
Iscritto il: 4 giu 2024, 16:37

0
voti

[6] Re: Problema joystick con potenziometro

Messaggioda Foto Utentelelerelele » 27 giu 2024, 17:32

IN7504 ha scritto:Grazie mille del consiglio, purtroppo essendo alle prime armi mi sto facendo aiutare e ho fatto un copia incolla del codicwe che mi hanno dato :roll:
Appunto perché sei alle prime armi.

Capisco che ti acchiappa la frenesia di fare qualcosa che funzioni, ma credimi se ti dico che non ti serve a niente, mentre ti servirà ed anche tanto partire da piu basso, capendo il perché una riga di codice ti elabora i dati, e come lo faccia!

Te ne butto li un'altra, sai come va a leggere il dato, la porta dove hai collegato il potenzimetro? Come è configurata? Che tipo di dato ti legge?

Io sono partito facendomi queste domande, (ed ecco perché non mi sono mai avvicinato ad arduino) :mrgreen: , ritenendo predominante capire cosa succede dal punto scorrevole del potenziometro, arrivando al valore letto ed elaborato.

saluti.
Avatar utente
Foto Utentelelerelele
4.192 3 7 9
Master
Master
 
Messaggi: 4827
Iscritto il: 8 giu 2011, 8:57
Località: Reggio Emilia

0
voti

[7] Re: Problema joystick con potenziometro

Messaggioda Foto UtenteThEnGi » 28 giu 2024, 8:09

IN7504 ha scritto:Grazie mille del consiglio, purtroppo essendo alle prime armi mi sto facendo aiutare e ho fatto un copia incolla del codicwe che mi hanno dato :roll:


lelerelele ha scritto:ed ecco perché non mi sono mai avvicinato ad arduino) :mrgreen:


Il copia incolla è tipico degli arduiniani nel primi "livelli" di esperienza, poi qualcosa non torna e vengono/vanno a piangere sui forum inquanto incapaci di eseguire un debug di un codice che non hanno scritto, Foto UtenteIN7504 mi spiace essere crudo e schietto ma è un esperienza già passata più volte.

Quello che posso fare e farò è aiutarti ad aiutarti a risolvere il problema :ok:

Questo è il documento che dovresti sapere a menadito: LINK

Intanto avevo chiesto uno schema fidocadj, è la prima volta ed è semplice lo fornisco io :ok:


Ho inserito un condensatore in rosso perché l'ADC del ATmega 32u4 (chiamiamolo con il nome tecnico) prevede un impedenza in ingresso massima di 10kOhm, inserendo il condensatore non fai altro rendere disponibile una fonte di tensione a bassa impedenza ma vai ad inserire un filtro con F di taglio a circa 150Hz.
Se puoi accettare questa riduzione di banda semplifichi il lavoro dell'ADC

Ora il processo di debug: Prima cosa bisogna separare il problema in parti !

Prima cosa: Il uC legge correttamente il valore del potenziometro ?

Volevo darti il codice per vedere se il potenziometro funzionava correttamente però Foto Utentelelerelele ha ragione, dovrai essere tu a creare il codice (no copia incolla :ok: ) e dovrà fare questo:

Setup[
Inizializzare Seriale
Inizializzare ADC
]
loop[
Leggere valore ADC
Inviarlo sulla seriale
ritardo di 100ms
]

cosi facendo sul monitor seriale devono arrivarti una serie di numeri (0, 1024) relativi alla posizione del potenziometro.

Non barare saranno massimo 10 righe di codice ma attento che il uC ha la sua peculiarità sulla seriale (come ben descritta nei doc di arduino)

O_/
Avatar utente
Foto UtenteThEnGi
1.710 2 6 8
Expert EY
Expert EY
 
Messaggi: 1761
Iscritto il: 6 ott 2022, 18:43

0
voti

[8] Re: Problema joystick con potenziometro

Messaggioda Foto UtenteMarcoD » 28 giu 2024, 8:58

Non sono certo, ma
invece che
yValue = analogRead(yAxisPin);
con const int yAxiPin = A0

prova con
yValue = analogRead(0) //legge tensione del piedino A0;


Poi può darsi che la mia versione di ambiente arduino sia obsoleta e sia cambiato il nome degli indirizzi.
Avatar utente
Foto UtenteMarcoD
11,7k 5 9 13
Master EY
Master EY
 
Messaggi: 6398
Iscritto il: 9 lug 2015, 16:58
Località: Torino

0
voti

[9] Re: Problema joystick con potenziometro

Messaggioda Foto Utentealev » 28 giu 2024, 11:36

Chiedo scusa per la banalità, ma una verifica accurata del potenziometro è stata fatta?

Per verifica accurata, intendo manovrare il potenziometro direttamente a mano, invece che tramite qualche meccanismo

Lo chiedo perché a me capitò un radiocomando proporzionale da aeromodellismo che sembrava impazzito quando la causa era uno stick che sforzava sui potenziometri
Avatar utente
Foto Utentealev
5.674 2 9 12
free expert
 
Messaggi: 6011
Iscritto il: 19 lug 2010, 14:38
Località: Altrove


Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti