keypad déporté et arduino

@fdufnews

Déjà le signal de la liaison série il ne parcourra que 10m. Alors que la scan de la matrice en parcourra 20 (10 aller + 10 retour).

Non, cela ne change rien, le retour de la laison série se faisant par la masse tu as aussi 20m

Ensuite comme l'a indiqué Artouste tu peux facilement ajouter du contrôle d'intégrité dans un message série.

Oui, mais le contrôle d'intégrité avec la matrice peut se faire aussi simplement par plusieurs lectures successives. Tant que l'utilisateur
presse assez longtemps sur la touche :slight_smile: ce qui doit pas être un problème dans le cas présent.

@anthology

sur les ligne du keypad certain mettent des résistances d'autre non
utile ou pas utile ?

Résistance PULL-UP ou en série sur la ligne ?

Si tu lis par balayage, tu vas activer une patte en sortie sur une ligne du clavier
et lire via une autre patte une colonne. Si tu te trompes et met les pattes en
sorties tu risque de griller ton cpu. Les résistances en série permettent de limiter le courant.

Quant à une PULL-UP je vois pas trop l'intérêt avec un arduino car il fourni assez de courant en
sortie à HIGH (si qqn peut confirmer ?)

de combien puis je déporté le keypad sans avoir trop de "perte" sur les câbles

Cela va déprendre de la qualité de ton câble, des perturbations qu'il peut y avoir. La perte
n'est pas forcement un problème, mais après il faut amplifier le signal (je maitrise pas du
tout cet aspect là)

suis je obliger d'utiliser deux fois 7 pin de l'arduino
ou puis je brancher les deux keypad en parallèle ?

Tu peux brancher en // en faisant attention de respecter chaque ligne et colonne. Mais tu
ne pourra pas distinguer quel clavier est utilisé.

Sinon tu peux brancher les lignes en // et séparer les colonnes, cela t'économise 4 pattes et
te permet de balayer un clavier après l'autre.

Les résistances sont peut être des filtres anti rebonds ?

Malheureusement pas. Mais elles ont une influence dans la forme du signal. Le câble n'étant
pas parfait, il se comporte également comme un inductance et une capacité avec également
une résistance. Les hautes fréquences seront plus atténuées que les basses. Donc il faut
s'attendre à ce que le signal idéalement carré soit "arrondi".

Pour filtrer les rebonds et autres parasites cela peut se faire avec l'arduino. Quand tu balaye
ton clavier tu active une ligne et tu attends un peu, ensuite tu lis plusieurs fois la touche
à des intervalles choisis. (perso je procèderai par tâtonnement + observation oscillo, mais
il y a surement une méthode plus académique)

Ce qui est important, si tu dois saisir un code au clavier, c'est d'attendre que la touche soit
relâchée avant de refaire une lecture pour discriminer le cas d'une double pression volontaire
(deux fois le même numéro dans le code secret) d'un effet de rebond.

Le fait d'avoir un long câble relié sur l'arduino risque de le faire planter en cas de perturbation.
Je pense qu'il te faut utiliser le watchdog interne.

Je te conseil également d’appliquer un signal carré au début de ton câble et de le mesurer
à la sortie d'une paire torsadée. Cela te permet d'avoir une idée de la dégradation de signal
à laquelle il faut t'attendre.

Normalement avec un câble cat 5 de seulement 10m, ça doit pas être un problème.

Si qqn a un conseil sur où il faut connecter le blindage du câble ?