Cours:InfoS2 tdClavierMatriciel : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(Page créée avec « {{Rouge|<big>'''Retour à la liste des Tds/Tps'''</big>}} [[Cours:InfoS2_tdClavierMatriciel_corrige|{{Vert|<big>'''Éléments de correction'''</big>}}]... »)
 
 
(7 révisions intermédiaires par le même utilisateur non affichées)
Ligne 8 : Ligne 8 :
  
 
Afin de limiter le nombre de broches nécessaires, les claviers matriciels sont organisés en ligne et colonne.
 
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)
 +
 +
=Travail à réaliser=
 +
fichier pour simuler avec simulIDE : [[Media:progmicroc_Digicode.sim1|progmicroc_Digicode.sim1]]
 +
 +
*écrire un programme qui détecte l'appui sur la touche 3
 +
**configurer de façon adéquate les broches en e/s
 +
**activer la résistance de pull-up
 +
**allumer/éteindre une led suivant l'état de la touche
 +
*étendre le principe en détectant l'appui sur une touche de la ligne 1
 +
*trouver le numéro de la ligne sur laquelle on appuie
 +
*trouver le numéro de colonne sur laquelle on appuie
 +
*indiquer la touche appuyée

Version actuelle datée du 9 février 2023 à 17:01

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

Travail à réaliser

fichier pour simuler avec simulIDE : progmicroc_Digicode.sim1
  • écrire un programme qui détecte l'appui sur la touche 3
    • configurer de façon adéquate les broches en e/s
    • activer la résistance de pull-up
    • allumer/éteindre une led suivant l'état de la touche
  • étendre le principe en détectant l'appui sur une touche de la ligne 1
  • trouver le numéro de la ligne sur laquelle on appuie
  • trouver le numéro de colonne sur laquelle on appuie
  • indiquer la touche appuyée