Pages: [1]   Go Down
Author Topic: Minimiser le nombre d'entrées pour beaucoup de boutons poussoirs  (Read 765 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 0
Posts: 55
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Pour mon projet de séquenceur midi (qui avance à grands pas), j'aurai besoin de beaucoup de boutons poussoirs (30 à 40). Je pense que ça sera un peu lourd à câbler si je dois relier chaque bouton à une entrée différente, et de plus il n'y aura pas assez d'entrées disponibles. Donc je me demande si on pourrait pas utiliser une sorte de codeur auquel on relie un groupe de boutons et qui en sort une adresse différente sur quelques bits pour chaque bouton. Je ne m'y connais pas encore beaucoup en électronique numérique, c'est pour ça que je fais appel à vous pour savoir quel type de circuit intégré je pourrais utiliser pour minimiser le nombre d'entrées, et si c'est possible.

Je précise, ce n'est pas une matrice... Juste des boutons de commande un peu partout.

Voilà, j'espère avoir été clair. Merci ;-)
Logged

France
Offline Offline
Faraday Member
**
Karma: 23
Posts: 3017
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Je précise, ce n'est pas une matrice... Juste des boutons de commande un peu partout
Le fait que ce soit des boutons un peu partout n'empêche pas de les câbler sous forme d'une matrice ce qui réduit sévèrement le nombre de liaison et simplifie leur gestion.
Logged

Rennes
Offline Offline
Sr. Member
****
Karma: 0
Posts: 273
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Avec un truc genre  PCF8575 tu dois pouvoir avoir jusqu'à 64 entrées avec simplement 3 broches utilisées sur l'Ardruino.
Certes faut les câbler en matrices et multiplexer le tout en 8*8 mais c'est une piste.

Exemple d'utilisation:
http://skyduino.wordpress.com/2011/07/25/pcf8575-news-2/
Logged


Offline Offline
Jr. Member
**
Karma: 0
Posts: 55
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

La matrice est donc le seul moyen de coder les boutons ? Je me suis dit que les câbler en matrice serait pas très évident à faire vu que la disposition est un peu aléatoire... Enfin si c'est la seule solution, va bien falloir le faire  smiley-razz
Logged

France
Offline Offline
Faraday Member
**
Karma: 23
Posts: 3017
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Je me suis dit que les câbler en matrice serait pas très évident à faire vu que la disposition est un peu aléatoire..
Câbler en matrice ça veut dire un commun qui relie plusieurs boutons et tu amènes le commun + le second pôle des inter jusqu'à ta carte. Le matriçage sera effectivement réalisé sur un shield proto qui recevra tous les fils. Enfin c'est un exemple, il faut adapter à la disposition de l'ensemble.

Ne pas oublier une diode par inter pour séparer les colonnes.
Logged

Rennes
Offline Offline
Sr. Member
****
Karma: 0
Posts: 273
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

La matrice est donc le seul moyen de coder les boutons ? Je me suis dit que les câbler en matrice serait pas très évident à faire vu que la disposition est un peu aléatoire... Enfin si c'est la seule solution, va bien falloir le faire  smiley-razz
Non tu peux aussi passer par une série de registres à décalage avec chaque bouton câblé entre le + et une entrée parallèle d'un registre (et une résistance de pulldown sur l'entrée).
Ensuite côté Arduino, tu scannes régulièrement tes registres.
Il n'y a jamais qu'une seule solution à un problème donné  smiley
« Last Edit: February 06, 2013, 02:51:14 pm by patg_ » Logged


france
Offline Offline
God Member
*****
Karma: 8
Posts: 708
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tu peux aussi câbler tes boutons en parallèle, chacun avec une résistance en série différente (R, 2R, 3R...), et envoyer ça sur une seule entrée analogique qui va mesurer la résistance et en déduire le bouton appuyé avec un test.
Logged

Christian

Rennes
Offline Offline
Sr. Member
****
Karma: 0
Posts: 273
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Tu peux aussi câbler tes boutons en parallèle, chacun avec une résistance en série différente (R, 2R, 3R...), et envoyer ça sur une seule entrée analogique qui va mesurer la résistance et en déduire le bouton appuyé avec un test.
Il ne faut avoir qu'un seul bouton appuyé simultanément et bien calibrer les fenêtres de mesures mais c'est une idée originale à laquelle je n'aurais pas pensé.
Mais pour plusieurs dizaines de boutons ça ne doit quand même pas être évident à mettre au point je pense.
Logged


Offline Offline
Jr. Member
**
Karma: 0
Posts: 55
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tu peux aussi câbler tes boutons en parallèle, chacun avec une résistance en série différente (R, 2R, 3R...), et envoyer ça sur une seule entrée analogique qui va mesurer la résistance et en déduire le bouton appuyé avec un test.
Il ne faut avoir qu'un seul bouton appuyé simultanément et bien calibrer les fenêtres de mesures mais c'est une idée originale à laquelle je n'aurais pas pensé.
Mais pour plusieurs dizaines de boutons ça ne doit quand même pas être évident à mettre au point je pense.

Ouais j'avais vu un tuto là dessus, c'est une très bonne idée !  Mais en effet si on appuie sur 2 boutons en même temps, ça va fausser la valeur... C'est plus une technique à utiliser en dernier recours si on n'a plus d'entrée digitale disponible.
Je vais voir ce qui sera la plus "léger" entre registre à décalage et matrice alors, mais la matrice me semble plus répandue smiley Merci pour vos conseils !
Logged

Rennes
Offline Offline
Sr. Member
****
Karma: 0
Posts: 273
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Si tes boutons ne sont pas disposés en matrice le truc c'est d'attribuer à chaque bouton un numéro de ligne et de colonne dans la "matrice de câblage".
Après faut juste câbler ensemble les bornes appartenant aux mêmes lignes et aux même colonnes et ne pas se planter dans le raccordement des lignes/colonnes à l'Arduino  smiley-mr-green

Logged


Offline Offline
Jr. Member
**
Karma: 0
Posts: 55
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ca marche, merci pour l'astuce ;-)
Logged

Pages: [1]   Go Up
Jump to: