Ligne 1 : |
Ligne 1 : |
| == Qu'est ce qu'un KeyPad == | | == Qu'est ce qu'un KeyPad == |
− | Un KeyPad est typiquement un petit | + | 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 des un peu plus évolués proposant une colonne supplémentaire pour que vous puissiez y placer vos propres fonctions. |
| + | |
| + | 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. |
| + | |
| + | [[Fichier: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: |
| + | # Initialiser toutes les broches colonnes sorties (et les mettre en niveau BAS). |
| + | # Initialiser toutes les broches ligne en entrée (et les mettre en niveau HAUT). |
| + | |
| + | Le processus de détection se fait comme suit: |
| + | # Activer la colonne 1 (HAUT) |
| + | ## Lire ligne 1 --> Si Haut TOUCHE 1 pressée |
| + | ## Lire ligne 2 --> Si Haut TOUCHE 2 pressée |
| + | ## Lire ligne 3 --> Si Haut TOUCHE 3 pressée |
| + | ## Lire ligne 4 --> Si Haut TOUCHE A pressée |
| + | # Désactiver la colonne 1 (BAS) |
| + | # Activer la colonne 2 (HAUT) |
| + | ## Lire ligne 1 --> Si Haut TOUCHE 4 pressée |
| + | ## Lire ligne 2 --> Si Haut TOUCHE 5 pressée |
| + | ## Lire ligne 3 --> Si Haut TOUCHE 6 pressée |
| + | ## Lire ligne 4 --> Si Haut TOUCHE B pressée |
| + | # Désactiver la colonne 2 (BAS) |
| + | # Activer la colonne 3 (HAUT) |
| + | ## ... 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 [[http://www.arduino.cc/playground/Code/Keypad 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 [http://www.arduino.cc/playground/Code/Keypad www.arduino.cc/playground/Code/Keypad]. |
| + | |
| + | L'exemple ci-dessous est basé sur la librairie KeyPad. |
| | | |
| == Où Acheter == | | == 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. | | 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. |