Encoder ottico assoluto (codice Gray)

Oct 30, 2006 7 Replies

Dato che ho perso diverso tempo a disegnare la maschera per farmi un encoder ottico la rendo disponibile all'indirizzo

formatting link
(sono quasi 3 MB, bitmap a



600 dpi) Usa codice gray "riflesso" che può essere convertito in binario con una funzione del genere:

unsigned short grayToBinary(unsigned short num) { unsigned short temp = num ^ (num>>8); temp ^= (temp>>4); temp ^= (temp>>2); temp ^= (temp>>1); return temp; };



Spero che possa servire a qualcuno di voi.



Ciao ciao, Fremebondo


Ottimo lavoro! e grazie di averlo condiviso.

Marco / iw2nzm

[...]

bel lavoro.

Ste

Feynman sarebbe riuscito a spiegare la meccanica quantistica a una gallina, ma non sarebbe stato superficiale. [cit. Boiler, i.h.e. 21.01.2006]

Dimenticavo... 6bit, 64 posizioni! Ciao di nuovo!

"Fremebondo" ha scritto nel messaggio news:kYn1h.22122$ snipped-for-privacy@twister2.libero.it...

ottimo!

come fai poi a leggere? ok, 6 coppie tx/rx IR?

Il giorno Mon, 30 Oct 2006 17:05:09 +0100, "ice" ha scritto:

Di solito il disegno va serigrafato su un disco di vetro o plastica, poi di solito si usa un Tx e vari Rx, la diversa sensibilità la si regola usando dei comparatori tipo LM339 dopo il fototransistore.

Se il numero dei bits diventa più elevato (forse con 6 bits puoi anche andare diretto) occorre anche un centratore, che non è altro che un asola posta tra il disco e i ricevitori.

-- ciao Stefano

ok

così però sei costretto a mettere il disco in mezzo, giusto?

e chi muove l'asola?

grazie

-ice-

Il giorno Mon, 30 Oct 2006 17:53:52 +0100, "ice" ha scritto:

Si, ma è molto meglio

L'asola sta ferma e serve a rendere più precisa l'illunminazione e più probabile una variazione singola del bit. Per rendere l'idea, vedi lo scorrere del disco attraverso una fessura sottile, e si muove un bit alla volta, come il codoce Gray prevede.

-- ciao Stefano

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required