Cours:InfoS2 tdClavierMatriciel : Différence entre versions
(→Principe) |
(→Principe) |
||
Ligne 20 : | Ligne 20 : | ||
=Principe= | =Principe= | ||
− | Afin de détecter le bouton sur | + | Afin de détecter le bouton sur lequel on appuie, il faudra : |
*trouver sur quelle ligne un bouton est appuyé | *trouver sur quelle ligne un bouton est appuyé | ||
*trouver sur quelle colonne un bouton est appuyé | *trouver sur quelle colonne un bouton est appuyé |
Version du 7 février 2023 à 13:34
Afin de limiter le nombre de broches nécessaires, les claviers matriciels sont organisés en ligne et colonne.
Connections
- connexions dans le clavier :
- les boutons sur une même ligne sont tous reliés ensemble (même "côté" du bouton)
- les boutons sur une même colonne sont tous reliés ensemble (le côté non utilisé pour les lignes)
- connexions sur le µcontrôleur :
- toutes les lignes sont reliées sur le même PORT
- toutes les colonnes sont reliées sur le même PORT
- il peut y avoir 2 PORT différents pour ligne et colonne
Principe
Afin de détecter le bouton sur lequel on appuie, il faudra :
- trouver sur quelle ligne un bouton est appuyé
- trouver sur quelle colonne un bouton est appuyé
Le principe est symétrique pour ligne et colonne.
On décrira le principe pour détecter le numéro de ligne :
- on place les colonnes en sortie à l'état 0
- on active les résistances de pull-up sur les entrées (les lignes)
- on observe l'état des entrées (les lignes)