La première étape consiste à brancher les composants ensemble.
La magie Arduino, c’est que c’est super facile.
Les composants que j’ai pris sont :
Pour le montage, j’ai découpé une planche de 20 cm par 15 cm.
Pour que les fils puissent passer dessous, j’ai ajouté des petites cales en bois de 5 mm, à chaque coin.
Le clavier a 8 fils : 4 lignes et 4 colonnes. On détecte qu’une touche est enfoncée si une ligne et une colonne sont connectées :
Il est assez facile de brancher ensemble deux matrices, il suffit de brancher les lignes entre elles (ou les colonnes, au choix), on aura donc 4 lignes, et 8 colonnes, soit 32 touches différentes, avec 12 fils.
J’ai utilisé des nappes toutes faites pour faire les branchements.
Voici le plan de câblage pour brancher ensemble les deux claviers :
Sur ce modèle de clavier, le premier et le dernier pin est non utilisé.
Les 4 premiers pins (après le 1er inutile donc) sont les colonnes, et les 4 suivants les lignes.
On branche ensemble les colonnes, et on soude une nappe comme indiqué sur le schéma ci dessus.
Le branchement sur l’Arduino se fait comme cela, des pin 22 à 44 :
J’ai fait passé la nappe sous la planche de bois, pour pas être embêté avec la nappe quand on utilise l’ordinateur.
Reste à programmer, pour s’assurer que ça marche.
Si vous ne savez pas programmer un Arduino, il existe des tonnes de tuto en ligne (comme celui ci par exemple).
On va donc écrire un petit programme, qui va tester que les claviers fonctionnent correctement.
voici ce que ça donne :
#include "Keypad.h" define KEY_ROWS 8 // 8 lignes define KEY_COLS 4 // 4 colonnes // On indique ou sont branchés les lignes et les colonnes : const byte _colPins[KEY_COLS] = {44, 42, 40, 38}; const byte _rowPins[KEY_ROWS] = {36, 34, 32, 30, 28, 26, 24, 22}; // On défini un tableau ou chaque touche sera affecté à un caractère : const char _keys[KEY_ROWS][KEY_COLS] = { // Première matrice : on met juste des lettres, qui permettrons d'identifié quelle touche est utilisée {'G', 'H', 'I', 'J'}, {'K', 'L', 'M', 'N'}, {'O', 'P', 'Q', 'R'}, {'S', 'T', 'U', 'V'}, // Deuxième matrice : on met les caractères correspondants aux lettre Hexa, de 0 à F {'0', '1', '2', '3'}, {'4', '5', '6', '7'}, {'8', '9', 'A', 'B'}, {'C', 'D', 'E', 'F'}, }; // On peut créer la variable globale, permettant de "piloter" le clavier Keypad keypad = Keypad( makeKeymap(_keys), _rowPins, _colPins, KEY_ROWS, KEY_COLS ); void setup() { // On ouvre le port série, pour pouvoir afficher sur l'ordinateur si notre montage fonctionne Serial.begin(9600); }; void loop() {
// On va afficher sur le port série toutes les touches tappées char key = keypad.getKey(); Serial.println(key); };
Pour que ça marche, il faut ajouter la librairie associée à ces claviers, en l’occurrence il s’agit de la librairie Keypad.
Après avoir entré ce programme, on peut le compiler, puis l’envoyer sur le arduino.
Si tout c’est bien passé, vous devriez voir s’afficher dans le moniteur série les caractères que vous tapez sur les claviers. Voila une bonne première étape.
reste à brancher l’écran. On voit ça lors de notre prochain épisode.