• Première étape
  • Matériel et accessoires ; GPIO
  • Projets
  • Logiciel
    • Serveur Web
  • Arduino & ESP8266
  • Automatisation de la maison
  • Sonstiges
    • News
Facebook Twitter YouTube
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
  • Matériel et accessoires ; GPIO
  • Projets
  • Logiciel
  • Serveur Web
  • Première étape
  • Automatisation de la maison
  • Anglais
  • Allemand
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
Home»Matériel et accessoires ; GPIO»Connecter un clavier Raspberry Pi – Code Lock

Connecter un clavier Raspberry Pi – Code Lock

Facebook Twitter LinkedIn Tumblr Email Reddit
Share
Facebook Twitter LinkedIn Email Tumblr Reddit Telegram WhatsApp

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

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

 

Pièces de matériel requises

Comme je l’ai déjà mentionné, il existe plusieurs modèles différents de ces « interrupteurs à membrane », qui se distinguent 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 pour l’adapter à un clavier 4×4 (ou plus grand).
Les modèles suivants sont disponibles :

  • Matrice de clavier 3×4
  • Matrice de claviers 4×4
  • variantes spéciales du clavier 4×4 avec lettres imprimées (style T9)

Vous devriez également avoir des câbles jumper mâle-femelle sous la main.

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

 

Connexion et fonction du clavier du Raspberry Pi

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

Raspberry Pi Keypad scheme

Les 4 premières broches en partant de la 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, le cas échéant, quelle touche a été pressée, un signal est envoyé dans chaque cas par les quatre premières lignes. Les autres broches sont « tapées ».

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

 

Comme déjà mentionné, les 7 ou 8 GPIOs utilisés n’ont pas d’importance, 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 GPIOs à allouer. De gauche à droite, l’occupation est la suivante :

3×4 Keypad Raspberry Pi
Pin 1 GPIO 7 (Pin 26)
Pin 2 GPIO 8 (Pin 24)
Pin 3 GPIO 11 (Pin 23)
Pin 4 GPIO 25 (Pin 22)
Pin 5 GPIO 9 (Pin 21)
Pin 6 GPIO 10 (Pin 19)
Pin 7 GPIO 15 (Pin 10)

 

Schematically it looks like this:

Raspberry Pi Keypad Numpad 3x4 Breadboard

 

 

Code de pilotage du clavier

Pour pouvoir utiliser le petit clavier ensuite, nous nous chargeons d’une petite bibliothèque de GitHub. D’abord nous créons 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 GPIOs différents des miens, vous devrez ajuster les numéros GPIO dans le code en conséquence

(sudo nano keypad.py).

 

Nous pouvons ensuite utiliser cette classe. Pour clarifier la fonctionnalité, j’ai créé un petit exemple. Pour le copier, créez un nouveau fichier

sudo nano exemple.py

avec le code suivant :

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import time
import RPi.GPIO as GPIO
from keypad import keypad
 
GPIO.setwarnings(False)
 
if __name__ == '__main__':
    # Initialize
    kp = keypad(columnCount = 3)
 
    # waiting for a keypress
    digit = None
    while digit == None:
        digit = kp.getKey()
    # Print result
    print digit
    time.sleep(0.5)
 
    ###### 4 Digit wait ######
    seq = []
    for i in range(4):
        digit = None
        while digit == None:
            digit = kp.getKey()
        seq.append(digit)
        time.sleep(0.4)
 
    # Check digit code
    print(seq)
    if seq == [1, 2, 3, '#']:
        print "Code accepted"

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

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

sudo python exemple.py

 

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

Clé SicherheitsschlossSerrure de sécurité
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
Previous ArticleControl all GPIOs with the Raspberry Pi REST API via Python
Next Article Home Assistant auf dem Raspberry Pi – Erste Schritte

Related Posts

Construire un capteur de porte / fenêtre Raspberry Pi avec Reed Relais

MCP3008 : Lire des signaux analogiques sur le Raspberry Pi

Contrôler le module RTC de Raspberry Pi – Horloge temps réel I2C

Construisez votre propre boussole Raspberry Pi (HMC5883L)

Leave A Reply Cancel Reply

Comment établir une connexion Raspberry Pi à distance de bureau

Comment connecter et contrôler bande LED RVB WS2801 Raspberry Pi

Configuration du Wi-Fi et du Bluetooth du Raspberry Pi 4

Module GSM Raspberry Pi – Internet mobile (LTE, 3G, UMTS)

Comment configurer un serveur FTP Raspberry Pi – Installation du serveur Web

Connecter un clavier Raspberry Pi – Code Lock

ABONNEZ-VOUS MAINTENANT
Et recevez de nouveaux tutoriels dans votre boîte de réception.
Cliquez ici pour soumettre!

Merci!

Nous vous contacterons bientôt.

Tutorials for Raspberry Pi
Facebook Twitter YouTube
  • Politique de confidentialité
  • Conditions de service & Politique sur les cookies

Type above and press Enter to search. Press Esc to cancel.