Il codice Gray

 Passo dopo passo o la politica dei piccoli passi, è questo il vero significato del codice Gray.

In alcune applicazioni è assolutamente necessario conoscere, con estrema precisione, la posizione fisica di un oggetto in movimento. Ad esempio, un applicazione tipica è il controllo del movimento di ciascuna parte meccanica di un sistema automatico, un robot. O ancora, nelle lavorazioni meccaniche è necessario sapere la distanza tra diversi dispositivi. Il computer è in grado di trattare le informazioni binaria.

Una esigenza di questo tipo può essere risolta o ricorrendo a soluzioni analogiche o utilizzare l’applicazione del principio del codice Gray.

Nel primo caso, le eventuali parti in movimento possono essere collegati ad una resistenza variabile e, attraverso sistema di conversione analogico/digitale, con un meccanismo opportuno è possibile ricavare le variazioni di tensioni.

Oppure utilizzare un encoder, ma non basato su una codifica binaria. In questo caso, per mezzo di un dispositivo circolare su cui è applicato un meccanismo che sfrutti un particolare sistema di codifica.

Così, utilizzando un disco con un meccanismo di questo tipo con un fascio di luce diretto sul disco è rilevato da un settore della sua superficie attraverso da una cella fotosensibile.

Il codice generato è di tipo parallelo e il numero dei bit che lo compongono sono direttamente relazionati dal numero degli anelli concentrici.

Il codice Gray è composto da una particolare decodifica che ha una caratteristica interessante: lo stato cambia in ragione di un bit alla volta e viene trattato il bit alla sua destra.

Come si è scritto, un codice questo tipo è utilizzato nei dispositivi elettronici di rilevamento della posizione.

Senza il codice Gray diventa difficile rilevare le informazioni.

Così, per posizioni di allineamento, per esempio, può capitare, trattando le informazioni con un codice binario, che il bit più significativo commuti prima. In questo modo che in alcuni istanti il valore letto può essere sbagliato.

Un tipico problema di questo tipo è risolto ricorrendo al codice Gray, perché dato che il Gray commuta di un bit alla volta si evitano problemi di commutazione.