Ardu? No!Les boutons ≫ Mono, stéréo et poly

Mono, stéréo et poly

Je vais distinguer trois types de câblages:
- lecture MONO, on peut garantir la lecture si un seul bouton est appuyé. Si plusieurs boutons sont appuyés, on peut avoir des erreurs de lecture. Cela donne des câblages et des algorithmes de lecture plus simples. On retourne en général le résultat dans un octet, avec par exemple une valeur particulière si aucune touche n'est enfoncée. On peut aussi utiliser une fonction de test de bouton appuyé et la lecture peut alors retourner n'importe quoi en cas de non appui.
- lecture STEREO, on peut garantir la lecture si un ou deux boutons sont appuyés. Si 3 boutons ou plus sont appuyés, on peut avoir des erreurs de lecture. Bien souvent, le logiciel associé reste mono car le retour est plus simple. Si on veut une fonction stéréo, il faut par exemple retourner deux octets avec une valeur spéciale pour "pas d'appui". Cela complique les chose pour la lecture, mais aussi pour l'interprétation.
- lecture POLY, on peut garantir la lecture de tous les boutons enfoncés quel qu'en soit leur nombre. La fonction qui fait la lecture peut par exemple retourner un tableau ou un mot, chaque bit correspondant à un bouton. Il est aussi possible de ne pas avoir de fonction de lecture globale, mais une fonction qui ne lit qu'un seul bouton à la fois.

Bien entendu l'algorithme de lecture peut aussi dégrader la lecture. Pour faire une lecture poly, il faut que le câblage le permette et que le code aussi. Mais un câblage mono ne permettra jamais une lecture stéréo ou poly. Pour des raisons de simplification, un montage stéréo sera bien souvent lu avec un programme mono.

Pour lire un digicode, comme on donne les chiffres les uns après les autres, on se contente d'une lecture mono. Pour un clavier de piano, comme on peut faire des accords (plusieurs touches en même temps), il faut un clavier poly.

Clavier matriciel 4x3Le clavier matriciel classique type téléphone est souvent câblé comme ci-joint. L'appui simultané des touches 1, 2 et 4 va mettre en contact les colones et les lignes C1, C2, L1 et L2. Un appui sur la touche 5 ne fera pas plus de contacts et ne peut être lu. D'ailleurs si il y a contact entre C1, C2, L1 et L2, on ne peut pas savoir quels boutons sont appuyés; il y en a au moins 3 (124 ou 125 ou 145 ou 245) ou 4 (1245), mais on n'est sûr d'aucuns. La lecture est en fait stéréo.