Lector de huella digital

Sensor biométrico de huella digital

 

lector de huella digital
lector de huella digital

lector de huella digital

El sensor biométrico de huella digital es ideal para realizar un sistema capaz de proteger lo que tu requieras por medio del análisis de tu huella digital. El sistema realiza procesamiento digital de imágenes interno con un DSP ademas de incluir capacidades de comparación en base de datos y actualización de la misma. El dispositivo funciona con el protocolo serial, por lo que puede ser utilizado con cualquier microcontrolador o tarjeta de desarrollo.

lector de huella digital
lector de huella digital

 

El dispositivo tiene la capacidad de almacenar hasta 162 huellas dactilares en su memoria FLASH interna. El LED del dispositivo se ilumina cada que se encuentra tomando imagenes en busca de huellas digitales.

  • -Modelo: 071405
  • -Voltaje de alimentación: 3.6V – 6V
  • -Corriente de operación: 100mA – 150mA
  • -Interfaz: UART TTL
  • -Modo de paridad de huella: 1:1 1:N
  • -Baud Rate: 9600*N
  • -N = 1 a 12 (Por defecto es 6)
  • -Tiempo de adquisición menor a 1 segundo
  • -5 Niveles de seguridad
  • -Dimensión de la ventana: 14x18mm
  • -Entorno de trabajo: -10ºC a 40ºC (Humedad Relativa 40% a 85%)
  • -Dimensiones: 5.5 x 2.1 x 2.0 cm
  • -Peso: 22g

 

Para poder utilizar el dispositivo es necesario guardar las huellas en la base de datos del mismo. Estas huellas se les asigna un ID. Posteriormente se puede iniciar la secuencia de lectura y comparación para verificar las huellas de los usuarios y así poder discernir y ejecutar acciones en base al resultado.

Para utilizar el código de ejemplo es necesario primero tomar en cuenta que los cables del dispositivo no tienen acoplado ningún conector por lo que se recomienda soldar pines macho o pines hembra, ya que los headers de arduino o de un protoboard no hacen bien contacto y son motivo de que el dispositivo no funcione correctamente!.

lector de huella digital
lector de huella digital
lector de huella digital
lector de huella digital

 

Conexiones:

GND : Negro

Pin D2 : Verde

Pin D3: Blanco

5V: Rojo

 

Primero procedemos a descargar la biblioteca para Arduino del siguiente link:

https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library

 

Una vez descargada, se descomprime la biblioteca y se guarda dentro de:

C:\Program Files (x86)\Arduino\libraries\

Es necesario renombrar la carpeta de la biblioteca en caso de que se encuentre con un nombre diferente que el archivo “.cpp” que se encuentra en la misma.

 

Abrimos el IDE de Arduino y seleccionamos Archivo-Ejemplos- y buscamos la biblioteca que acabamos de instalar y seleccionamos el ejemplo de enroll. En este ejemplo primero identificara si el sensor se encuentra conectado. Si lo detecta primero preguntara una ID para asignarla a la huella a introducir.

lector de huella digital
lector de huella digital

 

Una vez enviado el ID deseado ponemos la huella en el sensor, la retiramos y la volvemos a poner para tomar una captura redundante de 2 imágenes. Podemos seguir este proceso para dar de alta en la base de datos del dispositivo todas las huellas que se requieran, ya que estas se guardan en la memoria interna del mismo.

lector de huella digital
lector de huella digital

 

Una vez dadas de altas las huellas, se puede cargar el ejemplo fingerprint, este lee la huella del sensor y nos dice que tan coherente es un resultado con su base de datos, siempre y cuando haya sido un resultado positivo, si no encuentra huella, no envía nada.

lector de huella digital
lector de huella digital

 

APENDICE

El sensor funciona a 57600 baudios, se puede configurar pero esta es la velocidad por defecto, al hacer uso del serial,  el arduino utiliza la biblioteca de serial por software.

#include <SoftwareSerial.h>

 

Si se requiere cambiar de pines el serial por software se puede hacer en la siguiente instrucción:

SoftwareSerial mySerial(2, 3);

 

Para el ejemplo de fingerprint, si se requieres que el arduino ejecute una accion al haber encontrado una huella, es necesario indicarlo en esta seccion de codigo:

Serial.print("Found ID #");
Serial.print(finger.fingerID);
Serial.print("With confidence of");
Serial.println(finger.confidence);
// Escribir el codigo aqui
return finger.fingerID;

 

 

 

 

112 comentarios en “Lector de huella digital

  1. Hola,

    Esta super bueno el tutorial, mas claro imposible.
    Aca una consulta..

    Llevo un proyecto a cabo en donde necesito registrar alrededor de 400 Personas en un lector.
    En otra área se necesitan registrar alrededor de 2000 visitas.

    Se que los registros escapan mucho de la solución entregada en el tutorial, pero me gustaría recibir orientación acerca de como llegar a ese numero.. es posible lograrlo con un arduino o arduinos ?!

    Gracias

    1. Hola que tal, con este producto no seria posible ya que maneja solo 162 registros para guardar huellas. La solucion quizas va por comprar un dispositivo USB e integrarlo a una Raspberry PI por ejemplo. Saludos

    2. Tomas, como método de experimentación se podría implementar una memoria SD para almacenamiento de datos ya que las huellas se guardan como imagen, aunque eso incrementaría los tiempos de lectura ya que tendrías que cargar bancos de información. La opción de la Raspberry seria mejor pero implica cambiar de plataforma 🙂

  2. Hola
    Tengo una consulta, existe alguna forma de poder obtener y capturar el valor de la huella? Por que como hace la huella para encontrar una coincidencia? O como es la funcionalidad de la huella. Gracias

    1. Jose, no me queda clara la pregunta, pero igual contesto lo que entendi. Mira el sensor es una camara y lo que realmente hace es tomar una fotografia cuando tu guardas una huella guarda la imagen y cuando tu quieres ingresar la huella ya guardada lo que hace es comparar la huella guardada con la actual y la salida es una medida de coincidencia entre huellas.

    1. Hola que tal Luis, si lo puedes usar con Picaxe ya que tambien tiene comunicación serial o UART. Para programarlo, solo revisa los comandos para comunicación serial, nosotros no tenemos experiencia en Picaxe. Personalmente lo que hago cuando cambio de embebido o microcontrolador es portar el codigo de uno a otro, verlo como pseudocodigo.

  3. hola…

    tengo el sensor similar a la foto…pero los cables son distintos

    el primer cable negro es gnd
    el segundo cable también negro es r
    el tercer cable verde es t
    el cuarto cable también verde es v
    el quinto cable rojo es tc
    el sexto cable rojo es vt

    hice las conexiones dejando de lado los cables rojos…
    el sensor parpadea cuando hago la conexión ,pero en el monitor
    aparece que no se encuentra el sensor…
    hay alguna conexión que hice mal??

    gracias

    1. Salva, puedes hacerlo en la memoria de tu control. Por ejemplo, si estas usando el Arduino guarda una tabla de la siguiente forma: primero el numero de ID en este caso usando solo un bit (te caben 256 IDs), posteriormente dejas por ejemplo 19 espacios para el nombre (caracteres ASCII), por lo que tu haces la relación en la memoria de que un ID corresponde a un nombre en particular. Para acceder ya sabes que si es el ID 13 te vas a la posición en la memoria de (13×20)+1 y encuentras el nombre asignado.

  4. hola…..
    se puede cambiar algo en el programa , de que guarde la huella sin ide??..
    que guarde la imagen de la huella ,fecha y hora??

    gracias

    saludos

  5. Felicidades por el artículo.Me encanta.

    Podrías decirme donde lo has comprado?

    Me gustaría comprar el modelo exacto que tienes tu.

    A mi me interesaría utilizar lo con arduino y cualquier aporte que hagas me viene fantástico.

    Gracias por tu trabajo

  6. hola…

    has probado guardar en una tarjeta de memoria??

    probé con EEPROM y me funciona….pero agregue un modulo Ethernet shield con memoria sd y no he podido agregar la instrucción en la librería

    saludos

  7. OLA.
    ESTOU COM PROBLEMA, EU SALVO 1 OU MAIS DIGITAIS NO ENROLL, MAIS QUANDO FOR NO FINGERPRINT SO FICA SALVO A ULTIMA DIGITAL E O ID SEMPRE É 0, SENDO QUE EU NÃO SALVEI COMO ID 0.

  8. Excelente aporte felicidades.

    Me gustaría saber que tipo de comunicación posee, necesito comunicarme con un microcontrolador y hacer un registro con hora y fecha de cada registro.

    Gracias.

  9. Cordial Saludo:

    Como podria llevar esta info, a una base de datos que me registre tanto fecha y hora que introduce la huella?.

    Gracias por la atencion. Espero una pronta respuesta

  10. Hola, gracias por tu tiempo, unciona todo ok pero ahora cuando ingreso el dedo y me reconoce como puedo hacer para que me traiga datos de una BD y los pueda motrar en algo mas visual, estaba pensando fucionarlo en netbeans o android pero tampoco se como se hace. gracias

    1. Mario, ya tu pregunta se enfoca en otra tematica, yo te recomiendo QT, VisualBasic, C# o Processing. Para android no tengo mucha experiencia pero si quieres algo relativamente rapido y no tan complejo te recomiendo app inventor. Saludos

  11. buenos dias

    me podria guiar sobre el proceso para conectarlo a una base de datos externa con posibilidad de consulta, es que estoy realizando un proyecto para grado y me seria muy util la info gracias.

    1. Jose, no te recomendamos mucho este módulo para manejo de datos remoto, ya que el proceso se alentaría mucho. El sistema internamente guarda la imagen y realiza la comparación pero para sacar los datos si esta medio limitado.

      1. we juice and make smoothies all the time…but i have a child who love cod liver oil, straight up…so she's pretty coetroapive. thinking of you and wishing you the best of days. one love Sis.

    2. Buenos dias Jose Manuel, mira yo estoy haciendo un trabajo de año final donde quiero mandar el id por metodo get a una base de datos en mysql a travez de un script php donde lo que hace es consultar si el id enviado por url desde el lector es igual al id de la base de datos en mysql, esto lo hago por medio de un ethernet shield, y en base a tu consulta en este foro queria saber si lo podistes realizar y a la vez solicitar tu ayuda

  12. Buenas,

    Excelente tutorial todo muy bien explicado.

    Ahora expongo mi problema ^^”:

    Compré un sensor de huella dactilar similar a este (pero sin marca). Cuando me llegó los cables eran 6 y todos rojos y no tenían pin macho en ninguno de los dos extremos, me decidí a cortarlos y les puse pins Dupont machos.

    Ahora cuando conecto mi sensora 5v parpadea la luz roja un milisegundo y ya no vuelve a encenderse. He probado a conectar el cable rojo al pin13 de mi placa Arduino y parpadea como si fuese un LED así que supongo que el problema no está en los cables.

    ¿Puede ser que al no estar soldados los pines, no llegue corriente continua al sensor de huellas?

    1. Yo también tenia ese problema, lo que yo hice, fue cambiar la alimentación, en lugar de conectarlo a 5v lo conecte a 3.3v, ademas de que descubrí que hasta que no conectas los otros cables (“T” y “R”) y le cargas un programa y lo pruebas, no va a prender el led, tienes que cargar un programa y probarlo.

    1. Hola que tal Josue, la veo algo difícil debido a que ya el sistema esta integrado. Lo que se me ocurre es poner algún tipo de sensor (quizas un elemento capacitivo) que al acercar el dedo active con un transistor la corriente que llega al vcc del sensor de huella, sin embargo para eso necesitarías tener “otro” sistema alterno siempre alimentado. O en su defecto algo mecánico como que cuando presiones el sensor también actives un botón.

  13. Buenas tardes, me gustaría saber donde puedo adquirir este lector de huella y si se pueden conseguir junto a un Arduino a buen precio. Gracias de antemano.

  14. una pregunta lo que deseo es almacenar 60 huellas que cada huella tenga su propio ID y que al momento que reconozca una huella abrar un mismo pin de salida del arduino es posible hacerlo directamente son necesidad de tener el puerto serial en el arduino es decir como que se ejecute en segundo plano es para que esas 60 personas registradas van a poder abrir una puerta por ejemplo ya saben encendemos un led y podemos mover al mundo

    1. No creo Sebastian ya que todas las instrucciones se basan en el Arduino, pero te recomiendo que revises que si estas usando el serial para otra cosa, siempre puedes usar la biblioteca de SoftwareSerial que te habilitara otros puertos seriales para que trabajes en paralelo.

    1. Hola que tal Yosse.
      No creo que puedas usar la libreria asi tal cual esta, ya que está hecha para el arduino, y el microcontrolador de arduino es de otra familia.

  15. Buen dia:

    Ya descargue la libreria, y he seguido los pasos del tutorial, cuando intento cargar el ejemplo “enroll” al arduino me dice que no esta especificado my serial, solucione esto al quitar los comentarios //SoftwareSerial mySerial(2, 3); ahora ya carga el programa, cuando abro el puerto serial empieza a buscar el sensor pero me arroja esta leyenda: Did not find fingerprint sensor 🙁
    , no logro solucionar esto, alguien me puede apoyar

    Saludos!!

  16. hola gracias!
    en tal caso que tambien quiera hacer un modulo bluetooth y tambien la huella digital, yo lo podria hacer todo junto en una misma tarjeta arduino UNO?
    Y si es asi como hago para que los dos se alimenten con 5v?

  17. hola amigos quisiera saber si en el sensor biometrico se pueden añadir mas huellas sin necesidad de conectarlo a el programa de arduino, o necesariamente hay que conectarlo a el programa de arduino para añadir nuevas huellas o eliminarlas, espero sus ayuda amigos, saludos

  18. ¡Hola qué tal!
    Estoy desarrollando un proyecto en el que requiero el uso del lector de huellas digitales y quisiera saber ¿cuántas huellas digitales puedo almacenar con este lector como máximo?

    ¿Puedo guardar la información de la huella dactilar?
    O sea, poniendo un ejemplo de aplicación muy sencillo:
    Que cuando Pedro ponga su huella digital, un display diga “Bienvenido Pedro”
    Cuando Juan ponga su huella, el display diga “Bienvenido Juan”…
    A eso me refiero, que si puedo almacenar la información de la huella dactilar para después asignarle a cada huella más información.

    1. ¿Puedo guardar la información de la huella dactilar? – Si se guarda en el sensor.
      Que cuando Pedro ponga su huella digital, un display diga “Bienvenido Pedro” – Si lo puedes programar con un LCD Keypad

  19. Hola!! 🙂 Estoy realizando un proyecto de huellas también. Estoy utilizando los mismo materiales que el tutorial, pero mi pregunta es ¿Puedo visualizar las imágenes de la huella ingresada en el sensor?, Necesito verlas en MatLab. 😮 !!

  20. Buen día
    Estoy haciendo un proyecto con el sensor de huellas, cargué el ejemplo de enroll, pero solo me guarda la huella en la posición cero, es decir solo puedo guardar una huella. por más que le asigne un número diferente de cero, siempre lo asigna a esa posición. Espero puedan ayudarme.

  21. Amigo quisiera saber si es posible usar el id almacenado en la memoria del lector y una vez que se compara la huella y me mande el id desde el lector al arduino utilizarlo y mandarlo a travez de un ethernet shield a un script php o a un servidor web, es decir conectar mi lector de huella sobre el ethernet shield y poder combinar y usar ambas partes, es que estoy haciendo un proyecto donde tengo una aplicacion web desarrollada en php que permite gestionar el control de acceso

  22. buenas a todos es que tengo un problema con el sensor resulta que me metí a el ejemplo que dice deleted y desde ay no he podido guardar ninguna huella no me deja siempre me sale error que hago porfa ayuda gracias

  23. Hola te comento que he realizado un subsitema para al presionar una tecla cambiar de un metodo a otro he realizado un solo codigo el de registro de huellas, validacion de huellas y eliminacion de huellas y me funciona a medias el problema que se me ha presentado es al momento de querer realizar un nuevo registro de huellas presiona la tecla que me permite llegar a este metodo “registro de huella” ´pero el inconveniente que tengo es el id nose porque se esta asigando el id 0 es decir que automaticamente me coge ese id y no me lo dejo ingresar por teclado

  24. Hola, acabo de comprar el sensor con ustedes y sirvió perfecto.
    ahora quiero realizar un proyecto similar pero usando un PIC, como podria adaptar la libreria de arduino para que el Pic hiciera el procesamiento?
    gracias

    1. Hola gracias por tus comentarios, puedes abrir la libreria y entonces ver el codigo fuente y poder pasar el codigo a la plataforma que utilizas, saludos

  25. Al usar enroll e ingresar las id no me acepta números, solo cuando pongo algún carácter seguido de otro numero u otro carácter me reconoce una id.

  26. hola muy buenas yo compré este lector de huellas dactilares https://www.amazon.com/KOOKYE-Optical-Fingerprint-Reader-Arduino/dp/B019TPP1UK/ref=sr_1_fkmr0_2?ie=UTF8&qid=1456969685&sr=8-2-fkmr0&keywords=Fingerprint+Recognition+Module+071405

    la cosa es que a la hora de detectar las huellas lo hace correctamente pero en el momento de guardarlas me sale el mensaje unknown error o sea como que algo no le permite o no le deja almacenar las imagenes tomadas porfa alguna solucion o es que las librerias y el ejemplo no es compatible con ese lector??

  27. Saludos, disculpe, me podría ayudar ya que estoy trabajando con los mismos dispositivos, pero al momento de correr el programa va todo bien pero al momento de llegar al método donde hace los registros me manda un error desconocido, no se si me pudieran ayudar ya que no he trabajado mucho con estos dispositivos. de antemano gracias por su tiempo.

  28. Hola. Un saludo. En la inteción de manejar el lector biométrico (huella digital) y otros módulos de servicios como gps y sms en un mismo arduino, existiría algún inconveniente por los protocolos de comunicación de cada uno. Y en el caso de inconvenientes habría una solución sugerida?

  29. buenos dias estoy haciendo un proyecto para una empresa, en el area del almacen de repuestos, quisiera saber si es posible crear un registro en el cual la persona que venga a solicitar o entregar un repuesto se le tome la huella y en una pantalla me muestre la identificacion de la persona y se pueda introducir los datos del repuesto que solicito y quede guardado, esto para que pueda ser verificado en cualquier momento por el encargado.

  30. buenas noches hector soy andres estoy realizando un proyecto con este tipo de lector y deseo que si no es la huella correcta active una alarma, yo quiero que tenga ej:5 intentos y se active la alarma, estoy utilizando contador pero no se que colocar en el digitalRead. para que lea las veces de contador++.
    agradezco tu colaboración.

    1. Carlos primero que nada voy a asumir que estas programando en C, entonces, usa una variable que se inicialice en 0, si entra una huella con error incrementa la variable en 1 (var++;), esto lo puedes hacer con un if (if (huella){ … } else {var++;}). en el else pones otro if anidado que condicione la variable var, si esta es igual a “N” entonces activa la alarma. Te recomiendo monitorear de todos modos que cada determinado tiempo automaticamente se reinicie la variable ya que si no, se va a activar por eventos erroneos generados en tiempos muy separados.

      1. hola hector buenas noches te digo ya solucione para que se me active y apague la sirena, en el lector he guardado 2 “ID” la ID 2 me apaga la sirena quiero que la ID 1 y otras que almacene me encienda un motor de 12v, he puesto el siguiente código

        if(finger.fingerID==1)
        {
        Serial.println(” encender motor “);
        {
        digitalWrite(11,HIGH);
        delay(50);
        }
        en el arduino se ve la señal recibida pero el pin 11 al cual para practica tengo un led el cual no enciende que puede ser el error.

        agradezco tu ayuda.

  31. Hola! Veo como a muchos se le han respondido sus preguntas, realmente muy completo el post, les felicito! Solo tengo un pequeño problema con un lector biometrico que compró de china un cliente y quiere que yo le conecte al arduino también, el detalle es que el lector viene con los cables conectores todos del mismo color y me es imposible saber cuál es cual… no tiene ningún nombre por el dispositivo, salvo la placa que tiene registrado que es un modeo DY-Main_V2.0 que no lo encuentro por internet, tampoco ha respondido el man que le vendió y aquí va mi pregunta: ¿Cómo puedo saber o probar cuáles son los cables de Vcc, GND, RX y TX? solo trae cuatro pines.. desde ya les agradezco la oportunidad de consultar!

    1. Ale, lamentablemente no te podemos asesorar ya que es un producto que no manejamos en stock y no podemos revisar. Mi sugerencia es que se contacten con el proveedor. El problema que le veo es que puedes tener un error conectando GND con VCC y dañar el módulo. Igual aveces esto se puede discernir si se sigue el camino de las pistas en el PCB.

  32. Cómo puedo obtener el valor de la huella digital (algún número hexadecimal o binario) en Arduino y en vez de guardar en la memoria del lector, lo envío a Java?

    1. Guillermo, el ejemplo ya te da en string el dato de la huella, puedes usar la función “stringOne.indexOf(‘#’);” y te dará el numero de posición para tomar el valor, ya de ahí le sumas uno ya que después de ese esta el numero. Guardas los 2 caracteres del numero o indice obtenido en otra variable y puedes usar la instrucción toInt() para pasarlo a tipo int, aquí un ejemplo de esa parte: https://www.arduino.cc/en/Tutorial/StringToIntExample

      1. A lo que me refería es que no quiero guardar en una posición(el id) de la memoria del lector el número que tira el lector al leer la huella(o la imagen de la huella, si así lo hace el lector), quiero enviar el dato de cada huella a Java y guardarlo en una base de datos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *