¿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.
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.
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
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:
- 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.
- Extraiga la carpeta ZIP y debería obtener la carpeta Adafruit-Fingerprint-Sensor-Library-master.
- Cambie el nombre de su carpeta de
Biblioteca maestra de sensores de huellas dactilares de Adafruitcarpeta en Carpeta Adafruit_Fingerprint_Sensor_Library - Mueva la carpeta a la carpeta de bibliotecas de instalación de Arduino IDE
- 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.
4. Coloque su dedo en el escáner y siga las instrucciones en el monitor serie.
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.
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:
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.
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:
- Arduino UNO – leer Los mejores kits de inicio de Arduino
- Módulo sensor de huellas dactilares
- Pantalla OLED de 0,96 pulgadas
- tablero de circuitos
- Cables de puente
Puedes utilizar los enlaces anteriores o ir directamente MakerAdvisor.com/tools ¡Para encontrar todas las piezas para tus proyectos al mejor precio!
Esquema
Aquí está el diagrama del circuito que debe seguir para crear el circuito para este proyecto.
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.
3. Después de instalar la biblioteca SSD1306 de Adafruit, escriba «gráfico“ en el campo de búsqueda e instale la biblioteca.
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;
}
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.
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.
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:
- Tensión de suministro: DC 3.6 a 6.0V
- Corriente de suministro: <120mA
- Color de retroiluminación: verde
- Interfaz: UART
- Velocidad de baudios: 9600
- Nivel de seguridad: cinco (de bajo a alto: 1,2,3,4,5)
- Tasa de Aceptación Falsa (FAR): <0.001% (nivel de seguridad 3)
- Tasa de Rechazo Falsa (FRR): <1.0% (nivel de seguridad 3)
- Capacidad para almacenar 127 huellas dactilares diferentes
Pinout del sensor
El sensor tiene seis pines que están etiquetados de la siguiente manera:
- DNC – cables blancos
- VCC – cable rojo
- TX – cable azul
- RX – cable verde
- 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:
- 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.
- Descomprime la carpeta .zip y deberías obtener la carpeta Adafruit-Fingerprint-Sensor-Library-master.
- Cambia el nombre de tu carpeta de Adafruit-Fingerprint-Sensor-Library-master a Adafruit_Fingerprint_Sensor_Library.
- Mueve la carpeta a la carpeta de librerías de instalación de Arduino IDE.
- 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:
- En el Arduino IDE, ve a Archivo > Ejemplos > Adafruit Fingerprint Sensor Library > Enroll.
- Carga el código y abre el monitor serial a una velocidad de baudios de 9600.
- 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.
- 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:
- En el Arduino IDE, ve a Archivo > Ejemplos > Adafruit Fingerprint Sensor Library > Fingerprint y carga el código en tu placa Arduino.
- Abre el Monitor Serial a una velocidad de baudios de 9600. Deberías ver el siguiente mensaje.
- Coloca el dedo a identificar en el escáner.
- En el monitor serial, podrás ver el ID que coincide con la huella y la confianza de la coincidencia.
¡Gracias por leer!
¡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! 👍🏽
Me encantó el tutorial, súper sencillo de seguir y muy útil. ¡Gracias por compartir tus conocimientos con la comunidad! 🙌🏼
¡Buena explicación! Me ayudó a entender mejor cómo funciona el sensor de huellas dactilares con Arduino. ¡Gracias por compartir!
¡Increíble guía! Me resultó muy útil y ahora me siento más confiado para trabajar con el módulo sensor de huellas dactilares y Arduino. Gracias por compartir, ¡sigue así! 🙌🏽