- Composants requis:
- Schéma de circuit et explication:
- Installation de la bibliothèque pour le capteur d'empreintes digitales:
- Fonctionnement du capteur d'empreintes digitales avec Raspberry Pi:
- Programmation Python:
Le capteur d' empreintes digitales , que nous avions l'habitude de voir dans les films de science-fiction il y a quelques années, est maintenant devenu très courant pour vérifier l'identité d'une personne à des fins diverses. À l'heure actuelle, nous pouvons voir des systèmes basés sur les empreintes digitales partout dans notre vie quotidienne comme pour la présence dans les bureaux, la vérification des employés dans les banques, pour les retraits d'espèces ou les dépôts dans les guichets automatiques, pour la vérification d'identité dans les bureaux du gouvernement, etc. Nous l'avons déjà interfacé avec Arduino, aujourd'hui, nous allons interfacer FingerPrint Sensor avec Raspberry Pi. En utilisant ce système d'empreintes digitales Raspberry Pi, nous pouvons enregistrer de nouvelles empreintes digitales dans le système et supprimer les empreintes digitales déjà alimentées. Le fonctionnement complet du système a été montré dans la vidéo donnée à la fin de l'article.
Composants requis:
- Tarte aux framboises
- Convertisseur USB vers série
- Module d'empreintes digitales
- Boutons poussoir
- Écran LCD 16x2
- Pot de 10k
- Planche à pain ou PCB (commandé auprès de JLCPCB)
- Fils de cavalier
- LED (en option)
- Résistance 150 ohm -1 k ohm (en option)
Schéma de circuit et explication:
Dans ce projet d'interfaçage de capteur d' empreinte digitale Raspberry Pi, nous avons utilisé 4 boutons poussoirs: un pour enregistrer le nouveau doigt, un pour supprimer les empreintes digitales déjà alimentées et deux autres pour incrémenter / décrémenter la position des empreintes digitales déjà alimentées. Une LED est utilisée pour indiquer que le capteur d'empreintes digitales est prêt à prendre le doigt pour la correspondance. Ici, nous avons utilisé un module d'empreintes digitales qui fonctionne sur UART. Nous avons donc interfacé ce module d'empreintes digitales avec Raspberry Pi à l'aide d'un convertisseur USB vers série.
Donc, tout d'abord, nous devons effectuer toutes les connexions requises comme indiqué dans le schéma de circuit ci-dessous. Les connexions sont simples, nous venons de connecter le module d'empreintes digitales au port USB du Raspberry Pi en utilisant un convertisseur USB vers série. Un écran LCD 16x2 est utilisé pour afficher tous les messages. Un pot 10k est également utilisé avec l'écran LCD pour contrôler le contraste de celui-ci. 16x2 broches LCD RS, EN, d4, d5, d6 et d7 sont connectées aux broches GPIO 18, 23, 24, 25, 8 et 7 du Raspberry Pi respectivement. Quatre boutons poussoirs sont connectés aux broches GPIO 5, 6, 13 et 19 du Raspberry Pi. La LED est également connectée à la broche 26 du RPI.
Installation de la bibliothèque pour le capteur d'empreintes digitales:
Après avoir effectué toutes les connexions, nous devons mettre le Raspberry Pi sous tension et le préparer avec le terminal ouvert. Nous devons maintenant installer la bibliothèque d'empreintes digitales pour Raspberry Pi en langage python en suivant les étapes ci-dessous.
Étape 1: Pour installer cette bibliothèque, les privilèges root sont requis. Donc, d'abord, nous entrons en racine par une commande donnée:
sudo bash
Étape 2: Téléchargez ensuite certains packages requis en utilisant les commandes données:
wget –O - http://apt.pm-codeworks.de/pm-codeworks.de.gpg - ajout de clé apt - wget http://apt.pm-codeworks.de/pm-codeworks.list -P / etc / apt / sources.list.d /
Étape 3: Après cela, nous devons mettre à jour le Raspberry pi et installer la bibliothèque de capteurs d'empreintes digitales téléchargée:
sudo apt-get update sudo apt-get install python-fingerprint –oui
Étape 4: Après avoir installé la bibliothèque, nous devons maintenant vérifier le port USB sur lequel votre capteur d'empreintes digitales est connecté, en utilisant la commande donnée:
ls / dev / ttyUSB *
Maintenant, remplacez le port USB n °, par le port USB que vous avez sur l'écran et remplacez-le dans le code python. Le code Python complet est donné à la fin de ce projet.
Fonctionnement du capteur d'empreintes digitales avec Raspberry Pi:
Le fonctionnement de ce projet est simple, exécutez simplement le code python et il y aura des messages d'introduction sur l'écran LCD, puis l'utilisateur sera invité à placer le doigt sur le capteur d'empreinte digitale. Maintenant, en plaçant un doigt sur le module d'empreintes digitales, nous pouvons vérifier si nos empreintes digitales sont déjà stockées ou non. Si votre empreinte digitale est stockée, l'écran LCD affichera le message avec la position de stockage de l'empreinte digitale comme « Fount at Pos: 2», sinon il affichera «No Match Found» .
Maintenant, pour enregistrer une empreinte digitale , l' utilisateur doit appuyer sur le bouton d'inscription et suivre les messages d'instructions sur l'écran LCD.
Si l'utilisateur souhaite supprimer l'une des empreintes digitales, il doit appuyer sur le bouton Supprimer. Après quoi, l'écran LCD vous demandera la position de l'empreinte digitale à supprimer. Maintenant, en utilisant deux autres boutons-poussoirs pour incrémenter et décrémenter, l'utilisateur peut sélectionner la position de l' empreinte digitale enregistrée et appuyer sur le bouton d'inscription (à ce stade, le bouton d'inscription se comporte comme le bouton Ok) pour supprimer cette empreinte digitale. Pour plus de compréhension, jetez un œil à la vidéo donnée à la fin du projet.
Programmation Python:
Python pour interfacer le capteur d' empreintes digitales avec RPi est facile grâce à l'utilisation des fonctions de bibliothèque d'empreintes digitales. Mais si l'utilisateur veut l'interfacer lui-même, ce sera un peu difficile pour la première fois. Dans les fiches techniques des capteurs d'empreintes digitales, tout est donné ce qui est nécessaire pour interfacer le même module. Un code GitHub est disponible pour tester votre Raspberry pi avec capteur d'empreinte digitale.
Ici, nous avons utilisé la bibliothèque, nous devons donc simplement appeler la fonction de bibliothèque. Dans le code, nous devons d'abord importer des bibliothèques telles que l'empreinte digitale, le GPIO et l'heure, puis nous devons définir des broches pour l'écran LCD, la LED et les boutons poussoirs.
import time from pyfingerprint.pyfingerprint import PyFingerprint import RPi.GPIO as gpio RS = 18 EN = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 enrôler = 5 delet = 6 inc = 13 dec = 19 led = 26 HIGH = 1 FAIBLE = 0
Après cela, nous devons initialiser et donner une direction aux broches sélectionnées
gpio.setwarnings (Faux) gpio.setmode (gpio.BCM) gpio.setup (RS, gpio.OUT) gpio.setup (EN, gpio.OUT) gpio.setup (D4, gpio.OUT) gpio.setup (D5, gpio.OUT) gpio.setup (D6, gpio.OUT) gpio.setup (D7, gpio.OUT) gpio.setup (inscrit, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (delet, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (inc, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (déc, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (led, gpio.OUT)
Maintenant, nous avons initialisé le capteur d'empreintes digitales
essayez: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) if (f.verifyPassword () == False): augmenter ValueError ('Le mot de passe du capteur d'empreintes digitales donné est faux!') sauf Exception comme e: print ('Message d'exception:' + str (e)) exit (1)
Nous avons écrit une fonction pour initialiser et piloter l'écran LCD, vérifiez le code complet ci-dessous dans la section code:
def begin (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
Après avoir écrit toutes les fonctions du pilote LCD, nous avons placé des fonctions pour l'enregistrement, la recherche et la suppression d'empreintes digitales.
La fonction def enrôlerFinger () est utilisée pour enregistrer ou enregistrer les nouvelles empreintes digitales.
def La fonction searchFinger () est utilisée pour rechercher les empreintes digitales déjà enregistrées.
def deleteFinger () functinos est utilisée pour déoter l'empreinte digitale déjà enregistrée en appuyant sur le bouton poussoir correspondant.
Tout le code de la fonction ci-dessus est donné dans le code python ci-dessous.
Après cela, enfin, nous devons initialiser le système par in while 1 boucle en demandant de placer le doigt sur le capteur d'empreinte digitale, puis le système vérifiera si cette empreinte digitale est valide ou non et affichera les résultats en conséquence.
begin () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Interfacing") time.sleep (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) lcdprint ("vous souhaite la bienvenue") time.sleep (3) flag = 0 lcdclear () while 1: gpio.output (led, HIGH) lcdcmd (1) lcdprint ("Placer le doigt") if gpio.input (register) == 0: gpio.output (led, LOW) registerFinger () elif gpio.input (delet) == 0: gpio.output (led, LOW) tandis que gpio.input (delet) == 0: time.sleep (0.1) deleteFinger () else: searchFinger ()
Le code Python complet et une vidéo de travail sont donnés ci-dessous.