Cours:InfoS2 tdClavierMatriciel : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(Principe)
Ligne 20 : Ligne 20 :
 
=Principe=
 
=Principe=
  
Afin de détecter le bouton sur lequel on appuie, il faudra :
+
Afin de détecter le bouton sur quel 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é
 +
 +
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)

Version du 7 février 2023 à 14:10

Retour à la liste des Tds/Tps

Éléments de correction

simuler avec simulIDE

ClavierMatricielPrincipe.png

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 quel 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)