Leggere posizione SG90

Volevo chiedere una domanda veloce, senza dover aprire un nuovo topic, visto che comunque fa sempre parte del progetto "aereo"...
Come posso collegare ad arduino degli encoder rotativi (questi http://www.robot-italy.com/it/rotary-encoder-illuminated.html) in modo che mi legga bene la rotazione? Adesso ho un encoder simile, senza illuminazione, l'ho collegato all'arduino, ho caricato uno sketch, ma mi prende valori a caso.. a volte crede che abbia girato di 2/3 tacche quando l'ho solo appena toccato...

AleCune93:
in modo che mi legga bene la rotazione? Adesso ho un encoder simile, senza illuminazione, l'ho collegato all'arduino, ho caricato uno sketch, ma mi prende valori a caso.. a volte crede che abbia girato di 2/3 tacche quando l'ho solo appena toccato...

Il problema è che sono meccanici, ovvero contatti che si aprono e chiudono, quindi devi fare i conti con la questione debouncing.

Se non sbaglio non basta mettere il pin in "pullup"?

AleCune93:
Se non sbaglio non basta mettere il pin in "pullup"?

Non serve a nulla, serve il deboincing software, meglio se fatto in hardware, se cerchi bene dovresti trovare facilmente esempi di sketch che gestiscono in modo corretto gli encoder meccanici.

Ok, ho trovato una libreria che mi fa tutto (quindi penso anche il debounce)... Ho inserito l'esempio nel mio sketch, e ora sembra funzionare tutto senza numeri a caso... L'unico difetto è che devo fare 2 scatti sull'encoder perchè mi prenda un +1 (non so come spiegarlo :sweat_smile: )

Allora devi misurare entrambe le fasi ed é possibile anche usare entrambi i fianchi (salenti e scendenti) del segnale dell'encoder.
Ciao Uwe

Con i nuovi encoder che ho preso non si pone neanche più questo problema, perchè non hanno gli "scatti", ma scorrono lisci, quindi non me ne rendo neanche conto se servono 2 scatti o uno per cambiare lo stato...

Grazie comunque a tutti per gli aiuti.. Per ora il servo lo lascio da parte perchè non ho abbastanza soldi per prenderli tutti e 4.. Magari quando potrò prenderli riprenderò in mano la questione :wink:

Sono d'accordo con Astro quando dice che un servo si rovina se forzato (a motore spento) in una certa posizione.

Tuttavia, qualcuno lo fa, prelevando un segnale direttamente sul potenziometro interno al servo.