Buonasera. Vi scrivo per un aiuto. Vengo da un percorso di 3 anni in informatica e mi diletto molto con arduino.
Scusate la lunghezza… ma questa volta non riesco a venirne a capo.
Ho questa scheda a cui è collegato un encoder rotativo con tasto ai 4 pin sotto. (Blu massa, verde e giallo i segnali dell’encoder, rosso il tasto dell’encoder).
L’encoder è montato su di una manopola con sotto una ghiera dentata ed ha quindi le posizioni/scatti “obbligate”.
Avrei necessità di leggere lo spostamento dell’encoder mentre è collegato alla scheda per avere la stessa lettura precisa.
Ho iniziato scrivendo uno sketch e collegando l’encoder direttamente ad arduino, pensando di collegare tutto in modo parallelo ma, avendo questo delle posizioni obbligate, ogni scatto della ghiera fa avanzare arduino di 2/3/4 letture progressive e delle volte arduino capta anche segnali sbagliati, come se l’encoder stesse girando nel senso opposto.
Ho provato ad aggiungere resistenze come debounce hardware ma la situazione non è migliorata. Ho impostato un ciclo con millis per avere meno letture progressive (debounce software) ma nemmeno così andava. Cioè non avevo mai la corrispondenza tra gli spostamenti che avvenivano leggendo lo schermo della scheda e quelli segnati da arduino
Ho quindi successivamente smontato la scheda e ricavato lo schema che vedete in foto.
Ho quindi individuato i rispettivi pin colorati alle spalle del processore ed ho saldato su di questi i cavi da portare ad arduino pensando di riuscire a leggere il segnale “filtrato” da resistenze e condensatori in modo da averlo pulito ma purtroppo non va.
Buonasera e benvenuto nella sezione Italiana del forum,
cortesemente, come prima cosa, leggi attentamente il REGOLAMENTO di detta sezione, (... e, per evitare future possibili discussioni/incomprensioni, prestando molta attenzione al punto 15), dopo di che, come da suddetto regolamento, fai la tua presentazione NELL'APPOSITA DISCUSSIONE spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.
Grazie,
Guglielmo
P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposita discussione, nel rispetto del succitato regolamento nessuno ti risponderà (eventuali risposte o tuoi ulteriori post, verrebbero temporaneamente nascosti), quindi ti consiglio di farla al più presto.
P.P.S.: Cortesemente specifica anche di che scheda si tratta e che Arduino stai utilizzando. Grazie.
Manca di sapere : la scheda a che tensione funziona? Che tensione misuri sui fili giallo/verde/rosso?
E il codice di Arduino (ben indentato [ctrl-t nell'editor] e tra i tag code ['</>']).
Se l'unico altro filo comune collegato è il GND, gli input sono collegati con un pull-up (interno o esterno all'mcu) a Vcc, per cui se misuri ci trovi appunto Vcc (generalmente 5 o 3. 3 V).
Pull-up sono esterni credo. Perché ho due resistenze: una da 10K (pull-up) ed una da 330 Ohm (debounce?). Poi due condensatori da filtro credo (debounce anche qui?).
Quindi, assodato che io trovi 3.3v o 5v nel connettore sotto, nel momento in cui ho collegato i fili ad arduino e l’encoder al connettore 14, non dovrei riuscire a leggere con arduino i movimenti?