Module de capteur d’empreintes digitales avec Arduino

Module de capteur d'empreintes digitales avec Arduino

Cet article est un guide d’introduction sur l’utilisation du module de capteur d’empreintes digitales avec l’Arduino. Nous vous montrerons comment enregistrer un nouvel identifiant d’empreinte digitale et comment trouver une correspondance d’empreinte digitale.

Regardez la démonstration vidéo

YouTube video

Présentation du module de capteur d’empreintes digitales

Modules de capteur d’empreintes digitales, comme celui de la figure suivante, a rendu la reconnaissance d’empreintes digitales plus accessible et facile à ajouter à vos projets. Cela signifie qu’il est très facile de collecter, d’enregistrer, de comparer et de rechercher des empreintes digitales.

Module de capteur dempreintes digitales avec Arduino

Ces modules sont livrés avec une mémoire FLASH pour stocker les empreintes digitales et fonctionnent avec n’importe quel microcontrôleur ou système avec série TTL. Ces modules peuvent être ajoutés aux systèmes de sécurité, aux serrures de porte, aux systèmes de pointage et bien plus encore.

Les prix de ce capteur varient considérablement de 10 $ à 50 $. Nous vous recommandons de vérifier le Module de capteur d’empreintes digitales sur Maker Advisor qui compare les prix dans différents magasins. Les modules de capteur d’empreintes digitales présentés sur Maker Advisor doivent être compatibles avec ce guide.

Caractéristiques

Voici les spécifications du module de capteur d’empreintes digitales nous utilisons (vous devriez vérifier la fiche technique de votre capteur ou les spécifications fournies par votre fournisseur – elles ne devraient pas être très différentes de celles-ci) :

  • Alimentation en tension : DC 3,6 à 6,0 V
  • Alimentation en courant : <120mA
  • Couleur du rétroéclairage : vert
  • Interface : UART
  • Mauvais taux : 9600
  • Niveau de sécurité : cinq (de faible à élevé : 1,2,3,4,5)
  • Taux de fausses acceptations (FAR) : <0,001 % (niveau de sécurité 3)
  • Taux de faux rejets (FRR) : <1,0 % (niveau de sécurité 3)
  • Capable de stocker 127 empreintes digitales différentes

Brochage du capteur

Le capteur a six broches qui sont étiquetées dans la figure ci-dessous.

1642029847 304 Module de capteur dempreintes digitales avec Arduino

Le module de capteur d’empreintes digitales utilisé dans ce projet était livré avec des fils très fins, il était donc nécessaire de souder des fils compatibles avec la planche à pain. Nous vous recommandons d’utiliser différentes couleurs selon la fonction de la broche. Dans notre cas:

  • DNC – fils blancs
  • VCC – fil rouge
  • TX – fil bleu
  • RX – fil vert
  • GND – fil noir
1642029847 191 Module de capteur dempreintes digitales avec Arduino

Le tableau suivant montre comment câbler le capteur à l’Arduino.

Détecteur d’empreintes digitales Arduino
VCC 5V (ça marche aussi avec 3.3V)
Émission Réception (broche numérique 2, logiciel série)
Réception Émission (broche numérique 3, logiciel série)
GND GND

Installation de la bibliothèque de capteurs d’empreintes digitales Adafruit

Le moyen le plus simple de contrôler le module de capteur d’empreintes digitales avec l’Arduino consiste à utiliser la bibliothèque Adafruit pour ce capteur. Suivez les instructions suivantes pour installer la bibliothèque :

  1. Cliquez ici pour télécharger le Bibliothèque de capteurs d’empreintes digitales Adafruit. Vous devriez avoir un dossier .zip dans votre dossier Téléchargements
  2. Décompressez le dossier .zip et vous devriez obtenir le dossier Adafruit-Fingerprint-Sensor-Library-master
  3. Renommez votre dossier de Adafruit-Fingerprint-Sensor-Library-master dossier vers Dossier Adafruit_Fingerprint_Sensor_Library
  4. Déplacez le dossier vers votre dossier de bibliothèques d’installation Arduino IDE
  5. Enfin, rouvrez votre IDE Arduino

Enregistrer une nouvelle empreinte digitale

Après avoir connecté le module de capteur d’empreintes digitales à l’Arduino, suivez les étapes suivantes pour enregistrer une nouvelle empreinte digitale. Assurez-vous d’avoir déjà installé la bibliothèque Adafruit Fingerprint Sensor.

1. Dans l’IDE Arduino, accédez à Déposer > Exemples > Adafruit Empreinte digitale Capteur Bibliothèque > Inscrire.

2. Téléchargez le code et ouvrez le moniteur série à un débit en bauds de 9600.

3. Vous devez saisir un identifiant pour l’empreinte digitale. Comme il s’agit de votre première empreinte digitale, tapez 1 dans le coin supérieur gauche, puis cliquez sur le bouton Envoyer bouton.

1642029847 8 Module de capteur dempreintes digitales avec Arduino

4. Placez votre doigt sur le scanner et suivez les instructions sur le moniteur série.

1642029847 436 Module de capteur dempreintes digitales avec Arduino

Il vous sera demandé de placer deux fois le même doigt sur le scanner. Si vous obtenez le « Impressions assorties !« , comme indiqué ci-dessous, votre empreinte digitale a été enregistrée avec succès. Sinon, répétez le processus jusqu’à ce que vous réussissiez.

1642029847 363 Module de capteur dempreintes digitales avec Arduino

Stockez autant d’empreintes digitales que vous le souhaitez en utilisant cette méthode.

Trouver une correspondance

Vous devriez maintenant avoir plusieurs empreintes digitales enregistrées sur différents identifiants. Pour trouver une correspondance avec le capteur d’empreintes digitales, suivez les instructions suivantes.

1. Dans l’IDE Arduino, accédez à Déposer > Exemples > Adafruit Empreinte digitale Capteur Bibliothèque > Empreinte digitale et téléchargez le code sur votre carte Arduino.

2. Ouvrez le moniteur série à un débit en bauds de 9600. Vous devriez voir le message suivant :

1642029847 5 Module de capteur dempreintes digitales avec Arduino

3. Placer le doigt à identifier sur le scan.

4. Sur le moniteur série, vous pouvez voir l’ID qui correspond à l’empreinte digitale. Il montre également la confiance – plus la confiance est élevée, plus l’empreinte digitale est similaire à l’empreinte digitale stockée.

1642029847 216 Module de capteur dempreintes digitales avec Arduino

Exemple de projet – Afficher la correspondance des empreintes digitales sur l’écran OLED

Dans cet exemple de projet, nous allons enregistrer deux empreintes digitales de deux personnes différentes. Ensuite, nous afficherons un message d’accueil en fonction de la correspondance trouvée, sur un écran OLED.

Pour en savoir plus sur l’écran OLED, lisez : Guide pour l’écran OLED avec Arduino

Pièces requises

Pour cet exemple, vous aurez besoin des pièces suivantes :

1642029848 896 Module de capteur dempreintes digitales avec Arduino

Vous pouvez utiliser les liens précédents ou aller directement sur MakerAdvisor.com/tools pour trouver toutes les pièces pour vos projets au meilleur prix !

Module de capteur dempreintes digitales avec Arduino

Schémas

Voici le schéma de câblage que vous devez suivre pour réaliser le circuit de ce projet.

1642029848 579 Module de capteur dempreintes digitales avec Arduino

Installation des bibliothèques OLED de 0,96 pouces

Pour contrôler l’écran OLED, vous avez besoin du adafruit_SSD1306.h et le adafruit_GFX.h bibliothèques. Suivez les instructions suivantes pour installer ces bibliothèques.

1. Ouvrez votre IDE Arduino et accédez à Esquisser > Inclure la bibliothèque > Gérer les bibliothèques. Le gestionnaire de bibliothèque devrait s’ouvrir.

2. Tapez « SSD1306” dans le champ de recherche et installez la bibliothèque SSD1306 d’Adafruit.

Installation de la bibliothèque SSD1306 OLED ESP8266 ESP32 Arduino

3. Après avoir installé la bibliothèque SSD1306 d’Adafruit, tapez « GFX » dans la zone de recherche et installez la bibliothèque.

Installation de la bibliothèque GFX ESP8266 ESP32 Arduino

4. Après avoir installé les bibliothèques, redémarrez votre IDE Arduino.

Code

Avant de télécharger le code, vous devez enregistrer différentes empreintes digitales de différentes personnes. Aller à « Enregistrez une nouvelle empreinte digitale » section ci-dessus, téléchargez le code donné et suivez les instructions pour enregistrer deux empreintes digitales.

Ensuite, modifiez le code afin que les identifiants d’empreintes digitales correspondent au nom des personnes inscrites – faites défiler jusqu’à la page pour une explication du code. Enfin, vous pouvez télécharger le code fourni.

/*********
  Rui Santos
  Complete project details at https://www.raspberryme.com  
*********/

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
int fingerprintID = 0;
String IDname;

void setup(){
  //Fingerprint sensor module setup
  Serial.begin(9600);
  // set the data rate for the sensor serial port
  finger.begin(57600);
  
  if (finger.verifyPassword()) {
    Serial.println("Found fingerprint sensor!");
  } 
  else {
    Serial.println("Did not find fingerprint sensor :(");
    while (1) { delay(1); }
  }

  //OLED display setup
  Wire.begin();
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  //displays main screen
  displayMainScreen();
}

void loop(){
  displayMainScreen();
  fingerprintID = getFingerprintIDez();
  delay(50);
  if(fingerprintID == 1 || fingerprintID == 3 || fingerprintID == 4 || fingerprintID == 5){
    IDname = "Sara";
    displayUserGreeting(IDname);            
  }  
  else if(fingerprintID == 2){
    IDname = "Rui";  
    displayUserGreeting(IDname);            
  }
}

// returns -1 if failed, otherwise returns ID #
int getFingerprintIDez() {
  uint8_t p = finger.getImage();
  if (p != FINGERPRINT_OK)  return -1;

  p = finger.image2Tz();
  if (p != FINGERPRINT_OK)  return -1;

  p = finger.fingerFastSearch();
  if (p != FINGERPRINT_OK)  return -1;
  
  // found a match!
  Serial.print("Found ID #"); 
  Serial.print(finger.fingerID); 
  Serial.print(" with confidence of "); 
  Serial.println(finger.confidence);
  return finger.fingerID; 
}

void displayMainScreen(){
  display.clearDisplay();
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(7,5);
  display.println("Waiting fingerprint");
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(52,20);
  display.println("...");  
  display.display();
  delay(2000);
}

void displayUserGreeting(String Name){
  display.clearDisplay();
  display.setTextColor(WHITE);
  display.setTextSize(2);
  display.setCursor(0,0);
  display.print("Hello");
  display.setCursor(0,15);
  display.print(Name); 
  display.display();
  delay(5000);
  fingerprintID = 0; 
}

Afficher le code brut

Importation de bibliothèques

Le code commence par importer les bibliothèques nécessaires à écrire dans l’écran OLED et crée un Adafruit_SSD1306 objet appelé affichage.

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

Nous devons également importer les bibliothèques nécessaires au capteur d’empreintes digitales : Adafruit_Fingerprint.h et SoftwareSerial.h.

#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>

La ligne suivante définit la série logicielle sur les broches 2 et 3. Broche 2 comme RX, et Broche 3 comme TX.

SoftwareSerial mySerial(2, 3);

Ensuite, nous créons un Adafruit_Fingerprint objet appelé doigt sur les broches série que nous avons définies précédemment.

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

Les deux lignes suivantes créent des variables pour contenir l’ID d’empreinte digitale et le nom d’ID.

int fingerprintID = 0;
String IDname;

mettre en place()

Dans le mettre en place(), le capteur d’empreintes digitales et l’écran OLED sont tous deux initialisés. Nous imprimons également un message sur le moniteur série afin que nous sachions si le capteur d’empreintes digitales a été trouvé avec succès.

void setup(){
 //Fingerprint sensor module setup
 Serial.begin(9600);
 // set the data rate for the sensor serial port
 finger.begin(57600);
 
 if (finger.verifyPassword()) {
   Serial.println("Found fingerprint sensor!");
 } 
 else {
   Serial.println("Did not find fingerprint sensor :(");
   while (1) { delay(1); }
 }

//OLED display setup
 Wire.begin();
 display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
 //displays main screen
 displayMainScreen();
}

Lecture recommandée: Guide pour l’écran OLED I2C avec Arduino

boucler()

Dans le boucler(), le code affiche l’écran principal sur l’écran OLED – cela se fait dans le displayMainScreen() une fonction. Ensuite, le code vérifie en permanence les empreintes digitales entrantes. Si le capteur trouve une empreinte digitale enregistrée, l’Arduino enregistre l’ID correspondant dans le ID d’empreinte digitale variable.

Ensuite, le code a une instruction if/else pour vérifier l’ID auquel l’empreinte digitale correspond. Vous devez modifier les lignes de code suivantes avec les identifiants et les noms correspondants.

if(fingerprintID == 1 || fingerprintID == 3 || fingerprintID == 4 || fingerprintID == 5){
  IDname = "Sara";
  displayUserGreeting(IDname); 
} 
else if(fingerprintID == 2){
  IDname = "Rui";

Parfois, le capteur reconnaîtra mieux une empreinte digitale si elle est enregistrée plusieurs fois dans des identifiants différents. Après avoir identifié le nom de l’ID, l’OLED affiche un message d’accueil – cela se fait dans le displayUserGreeting() une fonction,

Manifestation

Désormais, lorsqu’une personne avec une empreinte digitale enregistrée place le doigt sur le capteur, il affiche un message d’accueil.

1642029848 125 Module de capteur dempreintes digitales avec Arduino

Conclusion

Dans cet article, nous vous avons montré comment utiliser le module de capteur d’empreintes digitales : enregistrez les empreintes digitales et trouvez une correspondance.

Parfois, le capteur a du mal à identifier l’empreinte digitale si vous ne placez pas votre doigt de la même manière que lorsque vous l’avez enregistré – en particulier les empreintes digitales des femmes (nous n’avons aucune idée de pourquoi cela se produit). Nous avons remarqué que le capteur fonctionne mieux si vous placez votre doigt lentement sur le scanner.

À notre avis, le module de capteur d’empreintes digitales fonctionne assez bien, et c’est un moyen abordable d’ajouter la reconnaissance biométrique à vos projets.

Vous aimerez peut-être aussi les projets suivants :

Merci d’avoir lu.

  • DollaTek Module de capteur Optique de Lecteur d'empreintes digitales de lumière Bleue pour Arduino R3
    Le module d'empreinte digitale JM-101 est un module de traitement d'empreintes digitales intégré qui intègre la partie de traitement de chemin optique et d'empreinte digitale. Il présente les caractéristiques suivantes: petite taille, faible consommation d'énergie et interface simple Il présente une fiabilité élevée, une vitesse de reconnaissance rapide, une bonne adaptabilité des doigts, tant au mouillé qu’au sec, et à la recherche d’empreintes digitales. haute vitesse. L’interface de communication du module JM-101 est une interface de communication USB et UART. Dimensions (23,3 * 20,3 * 48,1) mm
  • iHaospace AS608 Module de capteur d'empreintes digitales optique pour Arduino
    Caractéristiques : petite taille, faible consommation d'énergie, haute fiabilité, reconnaissance rapide. Tension d'alimentation : 3,3 V CC. Courant d'alimentation : courant de fonctionnement : < 60 mA. Temps d'entrée des empreintes digitales : < 1 seconde. Résolution : 500 dpi
  • Geekstory Module de capteur d'empreintes digitales optique pour porte de contrôle d'accès lumière rouge pour Arduino Mega2560 UNO R3
    Le capteur d'empreintes digitales optique sécurise votre projet avec la biométrie. Ce module d'empreintes digitales peut être utilisé pour la collecte d'empreintes digitales, l'enregistrement d'empreintes digitales, la comparaison d'empreintes digitales et la recherche d'empreintes digitales, il est facile à utiliser, il est donc parfait pour tout projet Le module de capteur d'empreintes digitales peut fonctionner avec n'importe quel microcontrôleur avec port série : compatible avec Arduino, 51, AVR, STM32, PIC, ARM, MSP430 Contenu de l'emballage : 1 capteur optique d'empreintes digitales, 2 câbles. Vous pouvez inscrire de nouveaux doigts directement – jusqu'à 240 empreintes de doigts peuvent être stockées Applications : serrures de porte à empreintes digitales, coffres-forts, pistolets, zones financières et autres zones de sécurité ; systèmes de contrôle d'accès, ordinateurs industriels, machines POS, formation de conduite, présence et autres domaines d'identité ; paiement d'empreintes digitales et autres domaines financiers Le lien de documentation du modèle d'empreintes digitales ne peut pas être affiché. Si vous avez besoin de documents techniques, veuillez cliquer sur « Geekstory » (vous pouvez trouver « Vendu par Geekstory » sous le bouton Acheter maintenant), dans la nouvelle page, cliquez sur « Poser une question » pour nous envoyer un e-mail