Résistances en parallèles et courts-circuits ...

Bonjour messieurs, mesdames ! :wink:

Je viens consulter votre grand savoir pour un projet que je mène : j'ai pour projet de détecter la présence d'une pièce sur un échiquier que je construit spécialement.

Le principe, résumé simplement, est le suivant :

Je place 64 résistances en lignes de 8 (+1) comme ceci :

|-[a]--[b]--[c]--[d]--[e]--[f]--[g]--[h]----[X]-|
|-[a]--[b]--[c]--[d]--[e]--[f]--[g]--[h]----[X]-|
|-[a]--[b]--[c]--[d]--[e]--[f]--[g]--[h]----[X]-|
|-[a]--[b]--[c]--[d]--[e]--[f]--[g]--[h]----[X]-|
|-[a]--[b]--[c]--[d]--[e]--[f]--[g]--[h]----[X]-|
|-[a]--[b]--[c]--[d]--[e]--[f]--[g]--[h]----[X]-|
|-[a]--[b]--[c]--[d]--[e]--[f]--[g]--[h]----[X]-|
|-[a]--[b]--[c]--[d]--[e]--[f]--[g]--[h]----[X]-|
|                                            Masse
5V

Chaque ligne est relié à la borne 5V de l'Arduino, et l'extrémité aussi. De plus, il y a des transistors qui bloquent/autorisent le passage du courant dans chaque ligne de résistances.
Ainsi, l'Arduino va mesurer la tension aux bornes de la résistance "X" en fin de ligne LIGNE PAR LIGNE. Et par simple application de la formule du pont diviseur, on connaît la résistance équivalente des résistances A à H.
Ensuite, chaque pièce possède deux petits bouts de fer qui court-circuitent la résistance placée en dessous. Par exemple, s'il y a une pièce dans la première ligne au-dessus de R(e), R(e) peut être remplacée par un fil de résistance 0, donc la résistance Req change, le pont diviseur aussi, et donc la tension aux bornes de R(X). On peut donc ainsi savoir quelle(s) résistance(s) a/ont été circuitée(s).

Au niveau code Arduino, tout va bien, le souci c'est le dimensionnement des résistances. Si je calcule bien, il y a ~8! (~40320) possibilités de pièces placées ou non, et je ne sais pas quelles résistances choisir... Il faut que quand j'en court-circuite une seul, le changement de tension soit détectable, comme quand je les court-circuite toutes ! Et je ne sais pas comment m'y prendre pour calculer les valeurs de ces résistances.

Je ne demande pas les valeurs, juste si vous avez des idées sur la façon dont je dois m'y prendre pour les calculer :wink:

Merci à tous !

A mon avis tu devrai regarder du coté des matrices à Del (Led) ou des claviers à membrane.

L'idée qui me vient à l'esprit serait d'avoir des valeurs de résistances proches de puissances de 2, le reste serait juste un traitement binaire.

Si on reprenait le principe mais qu'on câblais aussi les colonnes on serait en mesure d'identifier la case non ?

Bien sur il faut utiliser les lignes et les colonnes.

J’ai une question car je trouve ton premier message peu clair si c’est pour un échiquier.
Question :
Tu veux juste détecter la présence d’une pièce (quelle qu’elle soit) sur une case ou tu veux aussi identifier la pièce ?

Si tu veux identifier la pièce je pense que la solution de court-circuit simple sur la pièce ne convient pas.
Si j’ai bien cherché les Échecs comprennent 6 pièces différentes.

Tu peux regarder le schéma suivant.
PT-x est pour le court- circuit.
Si tu veux identifier les pièces il faudrait remplacer le court-circuit sous les pièces par une résistance différentes selon la pièce.
matrice.jpg
Schéma réalisé avec la suite libre gEDA disponible sous Linux.