J'aimerais utiliser mon arduino pour faire un quizz, en fait 4 bouton et 4 lampes
Le principe : le premier qui appuie sur son bouton, sa lampe s'allume, et les autres ne peuvent plus buzzer. Un autre bouton permet de faire un "reset".
J'ai fait le montage pas bien compliqué, mais je n'ai pas d'idee de comment je programmerais bien ça. Si vous avez des idées ?
donc
4 boutons pour les joueurs (4 pin digital)
4 Led (4 pin digital)
1 bouton reset lampe (1 pin digital)
Si quelqu'un a une idée de comment je peux gerer ça !
il faut relier chaque bouton avec une diode à la même entrée à interruption (digital 2 ou 3). Comme ça tu auras une interruption externe (regarde les exemples et la référence Arduino pour le code) sur une patte, qui te permettra en allant voir sur les entrées digitales quel est le bouton.
Une autre solution est de le faire par programmation en gérant une variable booléenne partagée par les 4 boutons:
Au début, elle est mise à ON.
Chaque bouton ne peut activer sa lampe QUE si le flag est à ON
Le premier qui appuie sur son bouton allume sa lampe ET fait passer la variable à OFF
Les autres sont alors bloqués.
Enfin, le bouton de reset n'est pas conditionné par la variable, et si il est pressé, il atteint toutes les lampes et passe la variable à ON
"le premier allume sa lampe et fait passer la variable à OFF" --> la question est justement comment détecter qui est le premier !
or si tu traites ça par programmation, tu cours le risque en cas de presque simultanéité de considérer comme appuyé... le premier que tu testes, tout simplement !