Étape 1: Exemple d’utilisation des Codes gris
Voici un exemple où à l’aide de la séquence binaire nous donne des difficultés :
Supposons que nous voulions lire la position d’un Observatoire astronomique dôme donc nous pouvons être sûrs que le dôme d’ouverture est fait afin que l’ouverture et la lunette sont alignés. Nous pourrions choisir de lire la position optiquement. Nous pourrions imprimer une bande de dire huit barres noires et blanches sur le mur du Dôme et lire les points à l’aide de huit photo-résistances. Nous pourrions alors lire la position du dôme d’intérieur 1/256 d’un cercle complet, soit environ 2 degrés.
Voir le schéma de circuit émetteur/détecteur ci-dessous. Pour « lire » la position du dôme le microprocesseur comme le ferait un Arduino lire les barres noires et blanches sur le mur du dôme, c'est-à-dire que barres de tournent avec le dôme et le lecteur fixe ne tourne pas. La base des 8 photodétecteurs sont câblés à 8 broches d’entrée de l’Arduino. Quelle séquence codante devrions-nous utiliser ?
Maintenant, supposons que nous avions utilisé le comptage binaire normal séquence pour créer nos barres noires et blanches pour notre photo-résistances à sens. Le problème que nous rencontrons en utilisant le binaire comptage séquence est quand nous la transition entre un nombre et de l’autre. Permet de dire nos capteurs sont déplacent entre la position « 255 » et le « 0 ». Que la transition se produit et les photoresisters sont entre les deux numéros, une photorésistance ou deux pourrait transition de '1' à '0' un peu avant les autres. Cela pourrait être dû à un léger décalage dans la position de la photorésistance ou peut-être à cause de la légère variation dans la composition de la photorésistance construction/chimiques ce qui en fait un peu plus sensible que les autres. Pour une raison quelconque, une ou plusieurs passera à un moment différent que les autres. Pendant ce temps, la lecture de la phototransitors peut passer de 255 à 127 puis à 0. Si le mouvement est lent assez on peut voir beaucoup de ces transitions spurrious entre la plupart des numéros.
CODE gris à la rescousse !
Une meilleure approche serait d’utiliser un code gris au lieu du code binaire. En utilisant le code gray, qu’un seul bit du code change avec chaque incrément. C’est pourquoi lorsque entre deux positions du code qu’un seul bit peut fluctuer entre les deux positions. C’est pourquoi lorsque entre les positions 0 et 1, le photo-résistances peut parfois lire 0 et parfois lire 1, toutefois, les deux réponses sont toujours très proches la position réelle de dôme.
Le problème avec les codes gris, c’est que la valeur décimale comprise entre un et l’autre ne diffèrent pas par l’un. Logiciel peut facilement résoudre ce problème en utilisant un tableau qui comprend le code gris (ou son inverse). On peut utiliser la valeur lue dans de la photo-résistances sous forme d’index dans un tableau. La valeur du tableau est la position décimale. L’aide du tableau, on peut alors calculer la différence postions.