Référence du Langage Arduino : Mini | Standard | Etendue | Librairies | Comparaison

La librairie Keypad est une librairie pour le système Arduino.
Cette librairie est basée sur le tutoriel consacré aux claviers : http://www.arduino.cc/playground/Main/KeypadTutorial
Elle a été créée pour aider à l'abstraction matérielle, et à l'amélioration de la lisibilité du code. Elle "cache" (et automatise) les instructions pinMode et digitalRead appelées par l'utilisateur.
La librairie Keypad s'intègre les librairies d'abstraction matérielle : http://www.arduino.cc/playground/Code/HardwareAbstraction
A télécharger ici : Keypad_1-0.zip
Dézipper et mettre le répetoire Keypad dans votre répertoire Arduino dans le sous-répertoire "\libraries Dans le logiciel Arduino, créer un nouveau programme (ou en ouvrir un) et sélectionner depuis la barre de menu "Sketch->Import Library->Keypad" (Programme > Importer Librairie > Keypad ). Une fois que votre librairie est impoter, la ligne "#inlcude <Keypad.h>" doit appraêtre au début de votre programme.
Pour créer un "objet clavier", il faut utiliser le constructeur suivant :
Keypad(makeKeymap(userKeymap), row[], col[], rows, cols)
const byte rows = 4; //four rows
const byte cols = 3; //three columns
char keys[rows][cols] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'#','0','*'}
};
byte rowPins[rows] = {5, 4, 3, 2}; //connect to the row pinouts of the keypad
byte colPins[cols] = {8, 7, 6}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, rows, cols );
Ce code crée un objet de type Keypad, appelé keypad, qui utilise les broches 5,4,3,2 pour les lignes et les broches 8,7,6 pour les colonnes. Le clavier a 4 lignes et 3 colonnes , et a donc 12 touches.
Initialise toutes les variables. En fait le constructeur le fait déjà.
void begin(makeKeymap(userKeymap))
Renvoie la touche (sous forme caractère ASCII) qui est appuyée, si une l'a été.
Renvoie l'état courant du clavier.
Les 4 états possibles sont IDLE, PRESSED, RELEASED et HOLD.
Définit le nombre de millisecondes que l'utilisateur doit appuyer sur un bouton pour activer l'état HOLD.
Définit le nombre de millisecondes entre 2 appuis de touches. C'est une pause anti-rebond.
Crée un évènement si le clavier est utilisé. Vous pouvez regarder un exemple dans le logiciel Arduino dans "File -> Sketchbook -> Examples -> Library-Keypad -> EventSerialKeypad"
#include <Keypad.h>
const byte ROWS = 4; //four rows
const byte COLS = 3; //four columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'#','0','*'}
};
byte rowPins[ROWS] = {5, 4, 3, 2}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {8, 7, 6}; //connect to the column pinouts of the keypad
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);
}
}
Aucun commentaire
Page d'accueil de la référence Arduino en français
Corrections, suggestions et nouvelle documentation peuvent être postées sur le Forum Arduino.
Le texte original de la référence Arduino est sous licence Creative Commons Attribution-ShareAlike 3.0 . Les exemples de code dans la référence sont dans le domaine public.
La présente traduction française commentée a été réalisée par Xavier HINAULT (2010) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.
Traduction inspirée de la page originale : http://www.arduino.cc/playground/Code/Keypad