15/03/2014

Un clavier PS/2 avec un Arduino



Salut tout le monde !
Dans cette article, je vais vous montrer comment utiliser un clavier PS/2 avec un Arduino, le code couleur des clavier Compaq (ou similaire) et comment utiliser le clavier en mode Azerty.


1/ La librairie PS/2 keyboard

Pour pouvoir utiliser le clavier, il faut utiliser la librairie PS/2 keyboard, librairie assez simple avec beaucoup de possibilité. Voici le lien pour la télécharger :
http://www.pjrc.com/teensy/td_libs_PS2Keyboard.html

La librairie possède quatre commandes pour pouvoir l'utiliser :

PSKeyboard ***;
Créé un objet pour le clavier.

***.begin(DataPin, IRQpin)
Démarre la connexion avec le clavier. DataPin correspond au pin de donnée (on peut prendre n'importe lequel), et IRQpin correspond au pin de l'horloge, qui ne peut être mit que sur les pin avec interruption (2 et 3 sur l'Arduino Uno).

***.available()
Renvoie 1 si une touche est presser sur le clavier.

***.read()
Renvoie le caractère de la touche presser.

(remplacer *** par le nom de l'objet PS2Keyboard)

2/ Code couleur des clavier Compaq

Voici le code couleur des clavier Compaq, qui est un peu spécial :



Et si vous utiliser un connecteur PS/2, voici les connexion :

3/ Utiliser le clavier en Azerty

Si vous avez déjà lancer le programme d'exemple de la librairie, vous avez surement vu que le clavier est reconnu comme qwerty, et non pas azerty. Pour pouvoir écrire en azerty, il y a deux solutions, une permanente et une à inclure dans le code.

Solution permanente :
La solution permanente est de modifier le fichier PS2Keyboard.h pour mettre le mode azerty par défaut. D'abord, ouvrez le fichier avec WordPad (ou Notepad++) puis aller à la ligne ou il y a écrit :
static void begin(uint8_t dataPin, uint8_t irq_pin, const PS2Keymap_t &map = PS2Keymap_US);
et changer "PS2Keymap_US" en "PS2Keymap_French". Maintenant vous pouvez enregistrer puis re-compiler le programme d'exemple, et les touches entrer sont normalement en azerty.

Solution incorporer dans le code :
Pour ne pas a avoir à changer le fichier PS2Keyboard.h, on peut changer le format du clavier directement depuis la commande "***.begin" en ajoutant "PS2Keymap_French" après les variables des broches, ce qui donne :
***.begin(DataPin, ClockPin, PS2Keymap_French);

Voilà, c'est terminer pour ce petit tutoriel sur le clavier PS/2 avec l'arduino, et si vous avez des questions posez les en commentaire.

Aucun commentaire:

Enregistrer un commentaire