Différences entre versions de « KeyPad »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 102 : Ligne 102 :
 
| align="left" | Pin 2
 
| align="left" | Pin 2
 
|}
 
|}
 +
 +
=== Programme ===
  
 
== Où Acheter ==
 
== Où Acheter ==

Version du 17 mai 2012 à 20:53

Qu'est ce qu'un KeyPad

Un KeyPad est typiquement un clavier de saisie numérique.

Le plus courant ne comporte que des chiffres (de 0 à 9 avec les caractères * et #).

Il en existe également quelques-uns peu plus évolués proposant une colonne supplémentaire pour que vous puissiez y placer vos propres fonctions.

KeyPad.jpg

Ce qui est sympathique avec les KeyPad, c'est que si vous n'avez pas besoin de la colonne complémentaire, il vous suffit simplement de l'ignorer (de ne pas la raccorder).

Principe de fonctionnement

Principe électrique

Le principe de fonctionnement d'un KeyPad est excessivement simple.

Un keypad n'est qu'une matrice de contact (de boutons). Quand un utilisateur appuie sur une touche il met une colonne en contact avec une ligne. C'est aussi simple que cela.

KeyPad-schema.jpg

Dans le schéma ci-dessus, lorsque l'utilisateur presse:

  • la touche 9, il met en contact la ligne 3 et la colonne 3.
  • la touche B, il met en contact la ligne 2 et la colonne 4.
  • la touche 1, il met en contact la ligne 1 et la colonne 1.

Détection de la touche pressée

Le principe est tout aussi simple mais avant ces quelques explications, vous devez savoir qu'Arduino dispose d'une librairie permettant d'utiliser facilement un KeyPad.

Pour effectuer la détection de touche sur un keyPad, le programme de votre microcontrolleur doit:

  1. Initialiser toutes les broches colonnes sorties (et les mettre en niveau BAS).
  2. Initialiser toutes les broches ligne en entrée (et les mettre en niveau HAUT).

Le processus de détection se fait comme suit:

  1. Activer la colonne 1 (HAUT)
    1. Lire ligne 1 --> Si Haut TOUCHE 1 pressée
    2. Lire ligne 2 --> Si Haut TOUCHE 2 pressée
    3. Lire ligne 3 --> Si Haut TOUCHE 3 pressée
    4. Lire ligne 4 --> Si Haut TOUCHE A pressée
  2. Désactiver la colonne 1 (BAS)
  3. Activer la colonne 2 (HAUT)
    1. Lire ligne 1 --> Si Haut TOUCHE 4 pressée
    2. Lire ligne 2 --> Si Haut TOUCHE 5 pressée
    3. Lire ligne 3 --> Si Haut TOUCHE 6 pressée
    4. Lire ligne 4 --> Si Haut TOUCHE B pressée
  4. Désactiver la colonne 2 (BAS)
  5. Activer la colonne 3 (HAUT)
    1. ... et ainsi de suite jusqu'à la colonne 4.

Une librairie c'est mieux

Pas besoin de développer un logiciel permettant de faire la lecture des KeyPad.

Arduino dispose de la librairie [KeyPad]. Il ne fait même pas l'installer, elle est disponible d'origine avec Arduino IDE.

Pour plus d'information sur cette librairie, vous pouvez vous rendre sur www.arduino.cc/playground/Code/Keypad.

L'exemple ci-dessous est basé sur la librairie KeyPad.

Exemple

L'exemple suivant fait la détection de la touche pressée et renvoi son nom sur la connexion série (Arduino IDE).

Il est basé sur le KeyPad proposé chez MC Hobby. Keypad dont le raccordement électrique correspond à ce qui suit.

Détail du brochage du KeyPad

Keypad-detail.jpg

Montage

En plus d'utiliser le keypad, nous avons aussi profité de l'occasion pour exploiter notre assortiment de cable pour Breadboard (simple, pratique et efficace).

Keypad-montage.jpg

Raccordement:

Keypad Arduino
L1 Pin 9
L2 Pin 8
L3 Pin 7
L4 Pin 6
C1 Pin 5
C2 Pin 4
C3 Pin 3
C4 Pin 2

Programme

Où Acheter

MC Hobby propose à la vente un KeyPad 16 touches, ce qui permet d'avoir les touches numérique habituelle ainsi qu'une colonne de complémentaire avec les lettres A,B,C & D.

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.