Ligne 1 : |
Ligne 1 : |
| == Qu'est ce qu'un KeyPad == | | == Qu'est ce qu'un KeyPad == |
− | Un KeyPad est typiquement un clavier de saisie numérique. | + | Un KeyPad est typiquement un clavier de saisie numérique, il existe sous différente forme, en clavier/membrane souple ou clavier solide (en ABS). |
| | | |
| Le plus courant ne comporte que des chiffres (de 0 à 9 avec les caractères * et #). | | 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. | + | Il en existe également quelques-uns peu plus évolués proposant une colonne supplémentaire pour que vous puissiez y placer vos propres fonctions. |
| + | |
| + | [[Fichier:KeyPad.jpg|250px]] [[Fichier:KeyPad-PVC.jpg|250px]] |
| | | |
| 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). | | 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). |
Ligne 22 : |
Ligne 24 : |
| * la touche B, il met en contact la ligne 2 et la colonne 4. | | * 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. | | * la touche 1, il met en contact la ligne 1 et la colonne 1. |
| + | |
| + | '''Un autre exemple''' est celui du clavier PVC. |
| + | |
| + | [[Fichier:KeyPad-PVC-schema.jpg|480px]] |
| + | |
| + | Dans le cas de ce KeyPad, lorsque l'on presse la touche '''"6"''', la colonne 3 est mise en contact avec la ligne 2. Cela signifie que les contacts/broches 3 et 6 sont mises en contact. |
| | | |
| === Détection de la touche pressée === | | === Détection de la touche pressée === |
Ligne 49 : |
Ligne 57 : |
| Pas besoin de développer un logiciel permettant de faire la lecture des KeyPad. | | 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. | + | Arduino dispose de la librairie [[http://www.arduino.cc/playground/Code/Keypad KeyPad]]. |
| | | |
| 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]. | | 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. | | L'exemple ci-dessous est basé sur la librairie KeyPad. |
| + | |
| + | === Librairie pour Arduino 1.0 === |
| + | |
| + | Il semblerait que la librairie KeyPad d'origine ne soit plus compatible avec Arduino 1.0. |
| + | Si une version plus récente n'est pas encore disponible, vous pouvez facilement remédier au problème. |
| + | |
| + | Voici la marche à suivre pour Arduino 1.0: |
| + | * Téléchargez la librairie depuis [http://arduino.cc/fr/Main/LibrairieKeypad arduino.cc/fr/Main/LibrairieKeypad]. |
| + | * Installer le contenu de l'archive (du fichier ZIP) dans le répertoire librairies de votre Arduino IDE. Assurez-vous que les source de la librairie soit dans un sous répertoire /Keypad/ . |
| + | * Localiser le fichier Keypad.h, ouvrez le et remplacez "#include <WProgram.h>" par "#include <Arduino.h>" |
| + | * Rechargez votre Arduino IDE, recompilez et le tour est joué. |
| | | |
| == Exemple == | | == Exemple == |
Ligne 62 : |
Ligne 81 : |
| === Détail du brochage du KeyPad === | | === Détail du brochage du KeyPad === |
| | | |
− | [[Fichier:Keypad-detail.jpg|350px]] | + | [[Fichier:Keypad-detail.jpg|350px]] [[Fichier:KeyPad-PVC-schema.jpg|350px]] |
| | | |
| === Montage === | | === Montage === |
| | | |
− | En plus d'utiliser le keypad, nous avons aussi profité de l'occasion pour exploiter notre [http://mchobby.be/PrestaShop/product.php?id_product=82 assortiment de cable pour Breadboard] (simple, pratique et efficace). | + | En plus d'utiliser le keypad, nous avons aussi profité de l'occasion pour exploiter notre {{pl|82|assortiment de câble pour Breadboard}} (simple, pratique et efficace). |
| + | |
| [[Fichier:Keypad-montage.jpg]] | | [[Fichier:Keypad-montage.jpg]] |
| + | |
| + | Raccordement: |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | | align="center" | Keypad |
| + | | align="center" | Arduino |
| + | |- style="font-size: 90%" |
| + | | align="left" | L1 |
| + | | align="left" | Pin 9 |
| + | |- style="font-size: 90%" |
| + | | align="left" | L2 |
| + | | align="left" | Pin 8 |
| + | |- style="font-size: 90%" |
| + | | align="left" | L3 |
| + | | align="left" | Pin 7 |
| + | |- style="font-size: 90%" |
| + | | align="left" | L4 |
| + | | align="left" | Pin 6 |
| + | |- style="font-size: 90%" |
| + | | align="left" | C1 |
| + | | align="left" | Pin 5 |
| + | |- style="font-size: 90%" |
| + | | align="left" | C2 |
| + | | align="left" | Pin 4 |
| + | |- style="font-size: 90%" |
| + | | align="left" | C3 |
| + | | align="left" | Pin 3 |
| + | |- style="font-size: 90%" |
| + | | align="left" | C4 |
| + | | align="left" | Pin 2 |
| + | |} |
| + | |
| + | === Programme === |
| + | Chargez le programme suivant sur votre Arduino et ouvrez le moniteur série. |
| + | |
| + | Il est prévu pour le KeyPad à Membrane mais vous pourrez facilement le modifier l'autre KeyPad |
| + | |
| + | Lorsque vous pressez une touche, cette dernière est affichée dans le moniteur série. |
| + | <syntaxhighlight lang="c"> |
| + | // FR: Exemple d'utilisation de la librairie KeyPad - Compatible Arduino V1.0 |
| + | // EN: Sample of use of the KeyPad library - Compatible Arduino V1.0 |
| + | // |
| + | // FR: Si vous voulez utiliser ce programme sur un Arduino V1.0 vous aurez probablement |
| + | // besoin de télécharger la librairie Keypad et de la modifier (une seule ligne) pour |
| + | // pouvoir la compiler sans erreur. |
| + | // Pour plus de détail, voir cet article sur le Wiki de MC Hobby. |
| + | // http://mchobby.be/wiki/index.php?title=KeyPad#Librairie_pour_Arduino_1.0 |
| + | // |
| + | // EN: If you want to compile this program under Arduino V1.0, you will probably need to |
| + | // download the Keypad library and to modify it (only one line). After the modification |
| + | // The program will compile without error. |
| + | // For more details, please see this article on the MC Hobby Wiki |
| + | // http://mchobby.be/wiki/index.php?title=KeyPad#Librairie_pour_Arduino_1.0 |
| + | // |
| + | // Source: http://arduino.cc/fr/Main/LibrairieKeypad |
| + | // License: CC-BY-SA for source |
| + | // License: CC-BY-SA for modification (by MC Hobby, http://www.mchobby.be ) |
| + | // |
| + | #include <Keypad.h> |
| + | |
| + | const byte ROWS = 4; //4 Lignes (4 Lines, 4 rows) |
| + | const byte COLS = 4; //4 Colonnes (4 columns) |
| + | char keys[ROWS][COLS] = { |
| + | {'1','2','3', 'A'}, |
| + | {'4','5','6', 'B'}, |
| + | {'7','8','9', 'C'}, |
| + | {'*','0','#', 'D'} |
| + | }; |
| + | |
| + | // FR: Connecté sur les lignes du KeyPad (L1, L2, L3, L4) |
| + | // EN: Connect to the row pinouts of the keypad |
| + | byte rowPins[ROWS] = {9, 8, 7, 6}; |
| + | |
| + | // FR: Connecté sur les colonnes dy KeyPad (C1, C2, C3, C4) |
| + | // EN: connect to the column pinouts of the keypad |
| + | byte colPins[COLS] = {5, 4, 3, 2}; |
| + | |
| + | Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); |
| + | |
| + | void setup(){ |
| + | Serial.begin(9600); |
| + | } |
| + | |
| + | void loop(){ |
| + | char key = keypad.getKey(); |
| + | |
| + | if (key != NO_KEY){ |
| + | Serial.println(key); |
| + | } |
| + | } |
| + | </syntaxhighlight> |
| + | |
| + | Voici le résultat que nous obtenons avec un Arduino R3 & Arduino 1.0 |
| + | <nowiki>* |
| + | 1 |
| + | 5 |
| + | 2 |
| + | 4 |
| + | 7 |
| + | A |
| + | 5 |
| + | B |
| + | 8 |
| + | C |
| + | </nowiki> |
| | | |
| == 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.
| + | * {{pl|83|un KeyPad 16 touches à Membrane}}, ce qui permet d'avoir les touches numérique habituelle ainsi qu'une colonne de complémentaire avec les lettres A,B,C & D. |
| + | * {{pl|910|un KeyPad 16 touche en PVC}} |
| + | * {{pl|489|un KeyPad 4 touches à Membrane}} |
| | | |
| {{MCH-Accord}} | | {{MCH-Accord}} |