Connexion de 8 boutons poussoirs allumant chacun une led

Mon projet consiste a allumer 8 LEDs a l’aide de boutons poussoirs. Chaque bouton est assigné a une LED.

Les boutons dont je dispose fonctionnent sous 12V (Ils ont une led intégrée mais je ne m’en servirai pas - voir attachement).

Tout ceci sera contrôlé par Arduino Uno.

8 boutons + 8 LEDs = 16 pins sur Arduino. Je compte utiliser les pins 3 a 13 digitale et les pins analogues que je transformerai en digital en les appelant 14, 15, 16, et ainsi de suite.

Chaque bouton sera attaché a une petite boite et branché a un Power Jack panel mount (voir attachement).

Une autre boite contiendra l’Arduino et le PCB sur lequel je souderai les LEDs, les résistances (220ohms pour les LEDs et 10Kohms pour les boutons).

Les boites des boutons et la boite contrôle sont reliées par un fil audio stéréo.

Les boutons seront alimentés par une batterie 12V connectée au PCB et l’Arduino par une pile 9V.

Mes questions:

Chaque bouton comporte 4 pattes: 2 pour la LED et 2 pour le bouton.
Dois-je relier les 2 pattes (bouton) a 2 des 3 pattes du Jack female?
Est-ce que je me trompe en disant qu’il n’y a pas de polarité?

A quoi sert la 3e patte du Jack female?

Est-ce que je devrai utiliser un ou des transistors étant donné l’utilisation du 12V?

Pour avoir un meilleur concept du projet, notez qu’en tout, il y aura 9 boites: 8 pour les boutons et 1 pour le contrôle. Le lien entre elles se fait a l’aide de 8 fils audio stéréo.

Merci a l’avance pour vos réponses,

female jack.jpg

à quoi sert l’arduino? on dirait que vous cablez juste 8 interrupteurs qui allument chacun une lampe

pourquoi alimenter les boutons si vous n’utilisez pas la LED des boutons? ça sert à rien…

j’ai raté quelque chose?

pour les boutons, je vous suggère de (re)lire les tutos d’ekimon

pour le jack, tout dépend de ce que vous avez acheté. il y a des jacks à 2, 3, 4 pôles

C'est un game buzzer pour 8 joueurs.

Vous avez vraiment besoin de 8 joueurs ?

Pour être totalement équitable à la lecture des boutons vous ne pourrez pas les lire les un après les autres sinon le dernier lu à de nombreuses microseconde de plus que le premier pour répondre en même temps" (si vous utilisez un digitalRead() pour lire les boutons)

si tous les boutons pouvaient être lus en même temps alors ce serait mieux --> c'est possible en utilisant les registres d'entrée sortie des pins (les PORTx) mais dans la pratique sur un UNO vous n'en avez que 6 utiles:

PORTD = Arduino digital pins 0 à 7 mais ne pas jouer avec 0 et 1 si vous voulez conserver le port série PORTB = Arduino digital pins 8 à 13 (Les 2 bits de poids fort (6 & 7) ne sont pas utilisables, ils sont connectés aux pins du crystal) PORTC = Arduino analog pins 0 à 5. Les Pins 6 & 7 Sont seulement accessibles sur un Arduino Mini

(cf la doc en anglais)

Il y a aussi de nombreux exemples en ligne si vous cherchez arduino Jeopardy (un exemple - ces gros boutons sont dispo sur les sites de vente en ligne en france)

Wow, merci pour votre aide! Je ne m'attendais pas a autant d'info.

En ce qui concerne les ports, c'est intéressant. En fouillant sur internet, je devrais trouver le comment intégrer cela a mon code déjà existant.

A bientôt,

Bonjour,

Les remarques sur la non simultanéité de lecture des switchs sont très théoriques. Les dispersions de fabrication des switchs amèneront sans doute des variations de temps de commutation du même ordre voire supérieures.

C'est vrai kamill mais pour la beauté de la chose que ne ferait-on pas :)

L'activation d'un bouton par un humain prend en général une centaines de millisecondes.

L'astuce n'est pas de lire l’état logique du bouton mais son changement d'état (lecture de front).

Je trouve l'utilisation d'un microcontrôleur exagéré pour réalisé une tâche aussi simple, mais bon cela reste un choix perso.

Je trouve l'utilisation d'un microcontrôleur exagéré pour réalisé une tâche aussi simple, mais bon cela reste un choix perso

Non pas s'il veut justement faire un système de quizz et voir l'ordre de ceux qui appuient par exemple