Connecter un clavier Raspberry Pi – Code Lock

Connecter un clavier Raspberry Pi Code Lock
Connecter un clavier Raspberry Pi Code Lock

Pour l’Arduino et le Raspberry Pi, il existe des matrices de clavier qui peuvent être connectées et lues relativement facilement. Semblables au pavé numérique d’un clavier, ces claviers ont des touches 3 × 4 ou 4 × 4. Ces modules peuvent être utilisés, par exemple, comme serrures à code ou pour la construction d’une petite calculatrice de poche. À l’aide de quelques petits changements, même un T9 un clavier peut être créé, avec lequel les textes peuvent être saisis comme sur les téléphones portables plus anciens.

Dans ce tutoriel, je vais montrer la connexion d’une telle matrice de clavier et comment les lire facilement avec les GPIO. Afin d’utiliser moins de GPIO, il est également possible de le connecter via le port d’extension I2C MCP23017.

Matériels requis

Comme je l’ai déjà mentionné, il existe plusieurs modèles différents de ces «interrupteurs à membrane», qui diffèrent principalement par leur taille et leur étiquetage. Dans ce tutoriel, j’ai utilisé un clavier 3 × 4, mais il n’y a aucun problème à le régler pour un clavier 4 × 4 (ou plus).
Les modèles suivants sont disponibles:

Vous devriez également avoir câbles de liaison mâle-femelle à portée de main.

Peu importe quel Raspberry Pi modèle vous utilisez tant que vous avez au moins 7 ou 8 GPIO inutilisés.

Connexion et fonction du clavier du Raspberry Pi

Fondamentalement, tous les GPIO libres et contrôlables peuvent être choisis pour cela. Selon que vous avez une membrane matricielle 3 × 4 ou 4 × 4, 7 ou 8 broches seront occupées. Les câbles de jonction mâle-femelle qui conviennent le mieux sont ceux qui s’insèrent dans les bornes du clavier. La structure de base d’une telle matrice de clavier est la suivante:

Schéma du clavier Raspberry Pi

Les 4 premières broches de gauche sont ici pour les lignes, les 3 ou 4 autres connexions pour une colonne. Dès qu’une touche est enfoncée, deux lignes sont connectées. Pour savoir et, si oui, quelle touche a été enfoncée, un signal est envoyé dans chaque cas par les quatre premières lignes. Les broches restantes sont «taraudées».

Si par ex. seule la touche 6 était enfoncée, les lignes «ligne 2» et «colonne 3» seraient connectées. Donc, si nous envoyons un flux au GPIO pour la ligne 2, seul un signal haut sera reçu au GPIO pour la colonne 3. Tous les autres GPIO ne reçoivent aucun signal. Ainsi, en envoyant un signal à travers toutes les lignes puis en vérifiant toutes les colonnes, nous pouvons dire si une touche a été enfoncée et bien sûr laquelle.

Eh bien, comme déjà mentionné, peu importe les 7 ou 8 GPIO que vous utilisez, mais cela doit être ajusté plus tard dans le code si nécessaire. Dans cet exemple, j’utilise un clavier 3 × 4, donc je n’ai que 7 GPIO à allouer. De gauche à droite, l’occupation est la suivante:

Clavier 3 × 4 Raspberry PI
Broche 1 GPIO 7 (broche 26)
Broche 2 GPIO 8 (broche 24)
Broche 3 GPIO 11 (broche 23)
Broche 4 GPIO 25 (broche 22)
Broche 5 GPIO 9 (broche 21)
Broche 6 GPIO 10 (broche 19)
Broche 7 GPIO 15 (broche 10)

Schématiquement, cela ressemble à ceci:

Raspberry Pi Keypad Numpad 3x4 Breadboard

Code de pilotage du clavier

Pour pouvoir utiliser le petit clavier maintenant, nous nous chargeons une petite bibliothèque de GitHub. Nous créons d’abord un dossier.

mkdir keypad-rpi && cd keypad-rpi

Ensuite, nous téléchargeons le fichier:

wget -O keypad.py https://raw.githubusercontent.com/rainierez/MatrixKeypad_Python/master/matrix_keypad/RPi_GPIO.py

Si vous utilisez un clavier 4 × 4 ou des GPIO différents de moi, vous devrez ajuster les numéros GPIO dans le code en conséquence (sudo nano keypad.py).

Maintenant, nous pouvons utiliser cette classe. Pour clarifier la fonctionnalité, j’ai créé un petit exemple. Pour copier ceci, créez un nouveau fichier

sudo nano example.py

avec le code suivant:

Vous pouvez enregistrer et quitter le fichier avec CTRL + O, CTRL + X.

Si nous exécutons le fichier maintenant, les entrées peuvent être sélectionnées.

sudo python example.py

Dans la vidéo suivante, vous pouvez voir à quoi peut ressembler la lecture des chiffres:

YouTube video

  • Clavier officiel Raspberry Pi - Version Française (Noir/Gris)
    Le clavier USB officiel Raspberry Pi. Clavier 79 touches 3 ports USB 2.0 de type A pour alimenter d'autres périphériques Détection automatique de la langue du clavier Compatible avec tous les produits Raspberry Pi
  • AZDelivery Matrix 4 x 4 Array Keypad Clavier Compatible avec Arduino et Raspberry Pi y Compris Un eBook
    ✅ Taille : 7,7 x 7 cm (L * l). ✅ Résistance de contact : 10 & # x3 a9; ~ 500 & # x3 a9;. ✅ 35 V (DC) 100 mA, 1 W. ✅ Rigidité diélectrique: 250 VRms (50 ~ 60 Hz 1 min). ✅ Ce produit inclut un E-Book qui fournit des informations utiles sur la façon de commencer votre projet. Il permet une installation rapide et fait gagner du temps sur le processus de configuration. On y trouve une série d'exemples d'applications, des guides d'installation complets et des bibliothèques.
  • AZDelivery Matrice 4 x 4 Clavier Compatible avec Arduino et Raspberry Pi incluant Un EBook!
    ✅ Type de clé: 4*4 ✅ En achetant AZDelivery, vous recevrez des produits de haute qualité et une livraison rapide depuis la France! ✅ Pour d'autres idées et projets, veuillez visiter notre blog en ligne ou télécharger nos E-books sur notre site web! ✅ De nombreux exemples d'application, des guides d'installation complets, des livres électroniques, des bibliothèques vous seront fournis. ✅ Ce produit inclut un E-Book qui fournit des informations utiles sur la façon de commencer votre projet. Il permet une installation rapide et fait gagner du temps sur le processus de configuration. On y trouve une série d'exemples d'applications, des guides d'installation complets et des bibliothèques.