[Résolu] Detecter le contact de broches numériques entre elles

Bonjour à tous.
Je travail sur arduino et Mkey Mkey et je me suis trouvé plusieurs fois face à un problème plutot simple de logique.
Admetons la situation suivante :

J'ai trois objets conducteur (admettons de la pâte à modeler), rouge (relié à D3) vert (a la masse) et bleu (à D2) (situation de gauche).
Si je touche vert et bleu ou vert et rouge je fait un analogread() et le tour est joué. Mais si je touche bleu à rouge ?
Je récupère rien :frowning: et ca c'est drolement triste.
Alors j'ai pensé à un truc (situation de droite) : je relie chaque objet à une broche numérique en output. Puis dans chaque broche je balance mon square avec un déphasage de T/3. (cf ci dessous)

Et je lis chaque broche avec attachInterrupt(), en fonction du résultat de la sommation je peu déterminer quelle broche touche quelle broche.
Cette solution est elle stupide ? Puis je passer outre la limitation du nombre de attachInterrupt possible (2 sur le Uno) ?
Quelques idées conseils sur la partie code si jamais je me lance la dedans (le Makey Makey (leonardo) à potentiellement 5 attachinterrupt dispo)?

D'avance merci !

  1. Tu mets tes broches en entrée avec un pullup
  2. Tu passes l'une des broches en sortie et tu lui fais sortir un zéro
  3. Tu testes l'état des 2 autres. Si l'une des broche touche la première elle passera à zéro à son tour.
  4. Tu remets la broche en entrée avec pullup.
  5. Tu recommences à l'étape 2 en changeant la broche que tu mets en sortie

C'est bigrement malin et plus simple !
Je savais bien que je devais pas me lancer avant de consulter les esprit éclairés de ce cher forum.
merci !

Par contre ce type de montage exposant les broches du composant directement vers l'extérieur il serait bon de prévoir quelques protections sur les I/O.
Prévoir:
une résistance en série dans les entrée/sortie (quelques kOhms)
une diode entre entrée et Vcc cathode au Vcc
une diode entre entrée et GND anode au GND
Les diodes étant situé derrière la résistance près de la broche de l'arduino.
Ce montage permet d'écouler les surtensions vers les lignes d'alimentation et ainsi protège les étages d'entrée/sortie du microprocesseur.
Si les entrées sont un peu trop sensibles aux perturbations HF (radio, téléphones, allumage de lampes) prévoir un petit condensateur entre entrée et masse (10nF devrait suffire).

le code que j'ai pondu est ici :
http://forum.arduino.cc/index.php?topic=175456.0