Je vient de tester un programme simple d'affichage des caracteres en fonction d'appui sur une touche d'une matrice numerique 4x3. En fait lorsque j'appui sur une touches il m'affiches les 3 autres. Par exemple j'appui sur 2 il affiche 5,8,0. Je ne comprend pas de tout ou se trouve l'erreur dans mon code.
Enfait j'utilise arduino pour travailler chez moi sur un projet dans le cadre de mon BTS et le code doit etre comprensible par le complilateur d'un autre logiciel. Donc je ne peux pas utilser ds fonctions comme keyPad.
Mais sinon je ne vois pas l'erreur dans mon code. Pour moi c'est tres logique...je passe la premiere ligne en HIGH ensuite je lit les etats de colonnes. En ce qui concerne le court-circuit la matrice numerique elle est equipé avec des diodes car moi j'ai essaye l'appui de plusiers touches a la fois et pas de court court circuit.
Ton code il fonctionne parfaitement mais par raport a mes connaisances basiques de programation je ne suis pas capable de le comprendre.
Peux-tu me detailer le fonctionement des 2 for? Merci!
- Edité par CiprianMalaes 19 novembre 2017 à 23:35:49
La vie, c'est comme une une bicyclette, il faut avancer pour ne pas perdre l'équilibre.
Justement je bien compris mon code et aussi les boucles for j'utilise tres facile pour parcourir les matrices de leds mais la tien ca ma parrait complement le contraire. A la ligne 17 tu mets le pin en LOW, donc pas de courant, ensuite avec le deuxieme for tu lise l'etat des chaque colonne. Ca je ne pas de tout compris comment il peux y avoir des etats logique HIGH s'il n'y a pas du courant?? Et la ligne 24 , 25 aussi .. a qoui ca sert passer un ligne a l'etat haut a la fin de la boucle si en debut elle est LOW?
La vie, c'est comme une une bicyclette, il faut avancer pour ne pas perdre l'équilibre.
Pour utiliser un bouton, on utilise une résistance de pull-up qui polarise l'état haut (c'est ce que tu as avec le mode INPUT_PULLUP).
Quand à l'appui, celui-ci est détecté quand le bouton fait un contact avec le GND (c'est ce que tu as avec le mode OUTPUT LOW).
C'est justement ce changement d'état de HIGH (que donnait la résistance de pullup) vers LOW (que donne le GND) qui permet de détecter l'appui.
Si tu mets HIGH d'un coté (avec une PULLUP) et HIGH de l'autre coté (avec une OUTPUT), alors ton système est toujours à l'état HIGH (que le bouton soit enfoncé ou non), donc tu ne détectera rien du tout.
Ah, d'accord. En fait ce petit détail je ne connaissais pas. Merci beaucoup pour tes réponses!
La vie, c'est comme une une bicyclette, il faut avancer pour ne pas perdre l'équilibre.
clavier numerique avec arduino
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.