Modifications

Sauter à la navigation Sauter à la recherche
4 159 octets ajoutés ,  9 juillet 2016 à 16:59
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 [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}}
29 917

modifications

Menu de navigation