Instrucciones del módulo sensor de huellas dactilares con Arduino (FPM10A)

¿Alguna vez imaginaste poder controlar dispositivos electrónicos con solo utilizar tus huellas dactilares? Con el módulo sensor de huellas dactilares con Arduino (FPM10A) este escenario se convierte en realidad. En este artículo, te enseñaremos paso a paso cómo utilizar este sensor para proyectos de seguridad y autenticación. ¡Sigue leyendo para descubrir cómo hacerlo!

Esta publicación es una introducción al uso del módulo sensor de huellas dactilares con Arduino. Le mostraremos cómo registrar una nueva identificación de huella digital y encontrar una coincidencia de huellas dactilares.

Mira el vídeo de demostración

Presentamos el módulo del sensor de huellas dactilares

Módulos de sensores de huellas dactilarescomo se muestra en la siguiente imagen, hace que el reconocimiento de huellas dactilares sea más accesible y fácil de integrar en sus proyectos. Esto significa que capturar, registrar, comparar y buscar huellas dactilares es sencillo.

Instrucciones del módulo sensor de huellas dactilares con Arduino (FPM10A)

Estos módulos cuentan con memoria FLASH para almacenar huellas dactilares y funcionan con cualquier microcontrolador o sistema con serie TTL. Estos módulos se pueden agregar a sistemas de seguridad, cerraduras de puertas, sistemas de seguimiento del tiempo y mucho más.

Los precios de este sensor varían mucho entre 10 y 50 dólares. Recomendamos que Módulo sensor de huellas dactilares en Maker Advisor que compara precios en diferentes tiendas. Los módulos del sensor de huellas dactilares que aparecen en Maker Advisor deben ser compatibles con esta guía.

Especificaciones

Aquí están las especificaciones del Módulo sensor de huellas dactilares utilizado por nosotros (consulte la hoja de datos de su sensor o las especificaciones de su proveedor; no deben diferir significativamente de estas):

  • Fuente de alimentación: CC 3,6 a 6,0 V
  • Fuente de alimentación: <120mA
  • Color de luz de fondo: verde
  • Interfaz: UART
  • Mal precio: 9600
  • Nivel de seguridad: cinco (de menor a mayor: 1,2,3,4,5)
  • Tasa de aceptación falsa (FAR): <0,001% (nivel de seguridad 3)
  • Tasa de falso rechazo (FRR): <1,0% (nivel de seguridad 3)
  • Puede almacenar 127 huellas dactilares diferentes

Distribución de pines del sensor

El sensor tiene seis pines, etiquetados en la imagen de abajo.

Instrucciones del módulo sensor de huellas dactilares con Arduino (FPM10A)

El módulo del sensor de huellas dactilares utilizado en este proyecto presentaba cables muy delgados que requerían cables de placa soldables. Recomendamos utilizar diferentes colores dependiendo de la función del pin. En nuestro caso:

  • DNC – cables blancos
  • VCC – cable rojo
  • TX – cable azul
  • RX – cable verde
  • GND – cable negro
Instrucciones del módulo sensor de huellas dactilares con Arduino (FPM10A)

La siguiente tabla muestra cómo conectar el sensor al Arduino.

Sensor de huellas dactilares arduino
VCC 5V (también funciona con 3,3V)
Texas RX (bolígrafo digital 2serie de software)
RX TX (bolígrafo digital 3serie de software)
Dimensiones Dimensiones

Instalación de la biblioteca de sensores de huellas dactilares de Adafruit

La forma más sencilla de controlar el módulo del sensor de huellas dactilares con Arduino es utilizar la biblioteca Adafruit para este sensor. Siga las siguientes instrucciones para instalar la biblioteca:

  1. Haga clic aquí para ver el Biblioteca de sensores de huellas dactilares de Adafruit. Deberías tener una carpeta .zip en tu carpeta de Descargas.
  2. Extraiga la carpeta ZIP y debería obtener la carpeta Adafruit-Fingerprint-Sensor-Library-master.
  3. Cambie el nombre de su carpeta de Biblioteca maestra de sensores de huellas dactilares de Adafruit carpeta en Carpeta Adafruit_Fingerprint_Sensor_Library
  4. Mueva la carpeta a la carpeta de bibliotecas de instalación de Arduino IDE
  5. Finalmente, vuelva a abrir su IDE de Arduino

Registrar una nueva huella digital

Después de conectar el módulo del sensor de huellas dactilares al Arduino, siga los siguientes pasos para registrar una nueva huella digital. Asegúrese de haber instalado previamente la biblioteca del sensor de huellas dactilares Adafruit.

1. En el IDE de Arduino, vaya a archivo > Ejemplos > Adafruta huella dactilar sensor biblioteca > Correo registrado.

2. Cargue el código y abra el monitor serie con una velocidad de baudios de 9600.

3. Debe ingresar una identificación para la huella digital. Dado que esta es su primera huella digital, ingrese 1 en la parte superior izquierda y luego haga clic en Enviar Botón.

Instrucciones del módulo sensor de huellas dactilares con Arduino (FPM10A)

4. Coloque su dedo en el escáner y siga las instrucciones en el monitor serie.

Instrucciones del módulo sensor de huellas dactilares con Arduino (FPM10A)

Se le pedirá que coloque el mismo dedo en el escáner dos veces. Si ves el mensaje “¡Impresiones coordinadas!«Mensaje como se muestra a continuación, su huella digital se ha guardado correctamente. De lo contrario, repita el proceso hasta que tenga éxito.

Instrucciones del módulo sensor de huellas dactilares con Arduino (FPM10A)

Guarde tantas huellas digitales como desee utilizando este método.

Encontrar una coincidencia

Ahora debería tener varias huellas dactilares guardadas con diferentes ID. Para encontrar una coincidencia con el sensor de huellas dactilares, siga las siguientes instrucciones.

1. En el IDE de Arduino, vaya a archivo > Ejemplos > Adafruta huella dactilar sensor biblioteca > huella dactilar y sube el código a tu placa Arduino.

2. Abra el monitor serie con una velocidad de 9600 baudios. Debería ver el siguiente mensaje:

Instrucciones del módulo sensor de huellas dactilares con Arduino (FPM10A)

3. Coloque el dedo a identificar en el escaneo.

4. La identificación que coincide con la huella digital se muestra en el monitor de serie. También se muestra la confianza: cuanto mayor sea la confianza, más similar será la huella digital a la huella almacenada.

Instrucciones del módulo sensor de huellas dactilares con Arduino (FPM10A)

Ejemplo de proyecto: mostrar coincidencia de huellas dactilares en la pantalla OLED

En este ejemplo de proyecto, recopilamos dos huellas dactilares de dos personas diferentes. Luego mostramos un mensaje de bienvenida en una pantalla OLED correspondiente a la coincidencia encontrada.

Para conocer más sobre la pantalla OLED, lea: Instrucciones para pantalla OLED con Arduino

Piezas requeridas

Para este ejemplo necesitarás las siguientes piezas:

Instrucciones del módulo sensor de huellas dactilares con Arduino (FPM10A)

Puedes utilizar los enlaces anteriores o ir directamente MakerAdvisor.com/tools ¡Para encontrar todas las piezas para tus proyectos al mejor precio!

Instrucciones del módulo sensor de huellas dactilares con Arduino (FPM10A)

Esquema

Aquí está el diagrama del circuito que debe seguir para crear el circuito para este proyecto.

Instrucciones del módulo sensor de huellas dactilares con Arduino (FPM10A)

Instalación de las bibliotecas OLED de 0,96 pulgadas

Para controlar la pantalla OLED necesitas adafruit_SSD1306.h y eso adafruit_GFX.h Bibliotecas. Siga las siguientes instrucciones para instalar estas bibliotecas.

1. Abra su IDE de Arduino y vaya a Bosquejo > incluir biblioteca > Administrar bibliotecas. El administrador de la biblioteca debería abrirse.

2. Ingrese «SSD1306”en el cuadro de búsqueda e instale la biblioteca SSD1306 de Adafruit.

Instrucciones del módulo sensor de huellas dactilares con Arduino (FPM10A)

3. Después de instalar la biblioteca SSD1306 de Adafruit, escriba «gráfico“ en el campo de búsqueda e instale la biblioteca.

Instrucciones del módulo sensor de huellas dactilares con Arduino (FPM10A)

4. Reinicie su IDE de Arduino después de instalar las bibliotecas.

código

Antes de cargar el código, debe registrar diferentes huellas digitales de diferentes personas. Ir a «Registrar una nueva huella digital” En la sección anterior, cargue el código proporcionado y siga las instrucciones para registrar dos huellas digitales.

A continuación, cambie el código para que las identificaciones de huellas dactilares coincidan con los nombres de las personas registradas. Puede encontrar una explicación del código en la página siguiente. Finalmente, puede cargar el código proporcionado.

/*********
  Rui Santos
  Complete project details at https://randomnerdtutorials.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; 
}

Ver código sin formato

Importando bibliotecas

El código primero importa las bibliotecas necesarias para escribir en la pantalla OLED y crea una Adafruit_SSD1306 Objeto llamado Display.

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

También necesitamos importar las bibliotecas necesarias para el sensor de huellas dactilares: Adafruit_Fingerprint.h Y SoftwareSerial.h.

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

La siguiente línea configura la conexión serial del software en los pines 2 y 3. Pluma 2 como RX y Pluma 3 como TX.

SoftwareSerial mySerial(2, 3);

Luego creamos uno Adafruit_huella digital Objeto nombrado dedo en los pines seriales que especificamos anteriormente.

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

Las siguientes dos líneas crean variables para almacenar la identificación de la huella digital y el nombre de la identificación.

int fingerprintID = 0;
String IDname;

configuración()

En el configuración()Tanto el sensor de huellas dactilares como la pantalla OLED están inicializados. También imprimimos un mensaje en el monitor serie para saber si el sensor de huellas dactilares se encontró correctamente.

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();
}

Recomendaciones de literatura: Instrucciones para pantalla OLED I2C con Arduino

Cinta()

En el Cinta()el código muestra la pantalla principal en la pantalla OLED; esto sucede en el mostrar pantalla principal() Función. A continuación, el código comprueba continuamente si se reciben huellas dactilares. Cuando el sensor encuentra una huella digital almacenada, Arduino almacena la identificación correspondiente en el Identificación de huellas dactilares Variable.

Luego, el código contiene una declaración if/else para verificar la identificación a la que corresponde la huella digital. Debe editar las siguientes líneas de código con los ID y nombres apropiados.

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

A veces, el sensor reconoce mejor una huella digital si se almacena varias veces en diferentes ID. Después de identificar el nombre del ID, el OLED muestra un saludo; esto sucede en el mostrarSaludoUsuario() Función,

demostración

Ahora, cuando una persona con una huella dactilar guardada coloque su dedo sobre el sensor, aparecerá un mensaje de bienvenida.

Instrucciones del módulo sensor de huellas dactilares con Arduino (FPM10A)

Envolver

En esta publicación, le mostramos cómo usar el módulo del sensor de huellas dactilares: registrar huellas dactilares y encontrar una coincidencia.

A veces, el sensor tiene dificultades para identificar la huella digital si no colocas el dedo exactamente como lo guardaste, especialmente con huellas dactilares femeninas (no tenemos idea de por qué sucede esto). Descubrimos que el sensor funciona mejor si coloca lentamente el dedo sobre el escáner.

En nuestra opinión, el módulo del sensor de huellas dactilares funciona bastante bien y es una forma rentable de agregar reconocimiento biométrico a sus proyectos.

También te pueden interesar los siguientes proyectos:

  • Mini curso gratuito de Arduino
  • Pantalla Nextion con Arduino: introducción
  • Instrucciones para el módulo GPS NEO-6M con Arduino
  • Curso de proyecto Arduino paso a paso.

Gracias por leer.

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded




Instrucciones del módulo sensor de huellas dactilares con Arduino (FPM10A)

Introducción al módulo sensor de huellas dactilares

Los módulos de sensor de huellas dactilares han hecho que el reconocimiento de huellas sea más accesible y fácil de añadir a tus proyectos con Arduino. Estos módulos cuentan con memoria FLASH para almacenar las huellas dactilares y funcionan con cualquier microcontrolador o sistema con TTL serial. Pueden ser utilizados en sistemas de seguridad, cerraduras de puertas, sistemas de control de asistencia, y mucho más.

Especificaciones

A continuación se detallan las especificaciones del módulo sensor de huellas dactilares que estamos utilizando:

  1. Tensión de suministro: DC 3.6 a 6.0V
  2. Corriente de suministro: <120mA
  3. Color de retroiluminación: verde
  4. Interfaz: UART
  5. Velocidad de baudios: 9600
  6. Nivel de seguridad: cinco (de bajo a alto: 1,2,3,4,5)
  7. Tasa de Aceptación Falsa (FAR): <0.001% (nivel de seguridad 3)
  8. Tasa de Rechazo Falsa (FRR): <1.0% (nivel de seguridad 3)
  9. Capacidad para almacenar 127 huellas dactilares diferentes

Pinout del sensor

El sensor tiene seis pines que están etiquetados de la siguiente manera:

  1. DNC – cables blancos
  2. VCC – cable rojo
  3. TX – cable azul
  4. RX – cable verde
  5. GND – cable negro

Instalación de la librería del Sensor de Huella Dactilar de Adafruit

La forma más sencilla de controlar el módulo de sensor de huellas dactilares con Arduino es utilizando la librería de Adafruit para este sensor. Sigue las siguientes instrucciones para instalar la librería:

  1. Haz clic aquí para descargar la librería del Sensor de Huella Dactilar de Adafruit. Deberías tener una carpeta .zip en tu carpeta de Descargas.
  2. Descomprime la carpeta .zip y deberías obtener la carpeta Adafruit-Fingerprint-Sensor-Library-master.
  3. Cambia el nombre de tu carpeta de Adafruit-Fingerprint-Sensor-Library-master a Adafruit_Fingerprint_Sensor_Library.
  4. Mueve la carpeta a la carpeta de librerías de instalación de Arduino IDE.
  5. Finalmente, vuelve a abrir tu Arduino IDE.

Registro de una nueva huella dactilar

Teniendo el módulo de sensor de huellas dactilares conectado a Arduino, sigue los siguientes pasos para registrar una nueva huella:

  1. En el Arduino IDE, ve a Archivo > Ejemplos > Adafruit Fingerprint Sensor Library > Enroll.
  2. Carga el código y abre el monitor serial a una velocidad de baudios de 9600.
  3. Debes introducir un ID para la huella. Como esta es tu primera huella, escribe 1 en la esquina superior izquierda y luego haz clic en el botón Enviar.
  4. Coloca tu dedo en el escáner y sigue las instrucciones en el monitor serial.

Búsqueda de una coincidencia

Deberías tener varias huellas guardadas con IDs diferentes. Para encontrar una coincidencia con el sensor de huellas, sigue las siguientes instrucciones:

  1. En el Arduino IDE, ve a Archivo > Ejemplos > Adafruit Fingerprint Sensor Library > Fingerprint y carga el código en tu placa Arduino.
  2. Abre el Monitor Serial a una velocidad de baudios de 9600. Deberías ver el siguiente mensaje.
  3. Coloca el dedo a identificar en el escáner.
  4. En el monitor serial, podrás ver el ID que coincide con la huella y la confianza de la coincidencia.

¡Gracias por leer!


4 comentarios en «Instrucciones del módulo sensor de huellas dactilares con Arduino (FPM10A)»

  1. ¡Wow, este artículo es justo lo que necesitaba! Me sacó de muchas dudas y ahora me siento listo para probar el módulo sensor de huellas dactilares con Arduino. ¡Gracias por la guía tan clara y útil! 👍🏽

Deja un comentario