Sensor Huella Dactilar

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 15

SENSOR BIOMETRICO CON SISTEMA DE PROGRAMACION ARDUINO

Carolina Acosta Alfonso

José Armando Vila Solano

Yeison Mauricio Guerrero Alfonso

Edwin Yesith Tunjano Rodríguez

Programa de Electromecánica, Escuela tecnológica Instituto Técnico Central

E12A; ELECTIVA DOMOTICA

WLADIMIR PAEZ GUERRA

21 de ABRIL2023
¿Qué es la biometría?

La biometría es la ciencia del análisis de las características físicas o del comportamiento,


propias de cada individuo, con el fin de autenticar su identidad. En el sentido literal y el
más simple, la biometría significa la "medición del cuerpo humano".

Hay dos categorías de tecnologías biométricas:

Mediciones fisiológicas

Pueden ser morfológicas o biológicas. Los análisis morfológicos, consisten, principalmente,


en las huellas dactilares, la forma de la mano, del dedo, el patrón de las venas, el ojo (iris y
retina) y la forma de la cara.

Los análisis biológicos, el ADN, la sangre, la saliva o la orina pueden usarse por parte de
los equipos médicos y la policía forense.

Mediciones del comportamiento

Las formas más comunes son el reconocimiento de voz, la dinámica de la firma (velocidad
de movimiento del bolígrafo, aceleraciones, presión ejercida, inclinación), la dinámica de la
pulsación de las teclas, la manera en que se utilizan los objetos, la marcha, el sonido de los
pasos, los gestos, etc.

Las diferentes técnicas utilizadas son objeto de investigación y desarrollo constante, y, por
supuesto, se mejoran continuamente.

Sin embargo, los diferentes tipos de mediciones no tienen el mismo nivel de confiabilidad.
Generalmente se considera que las mediciones fisiológicas ofrecen el beneficio de
permanecer más estables durante toda la vida de un individuo. Por ejemplo, no están tan
sujetas a los efectos del estrés, en comparación con la identificación mediante la medición
del comportamiento.
La biometría permite que una persona se identifique y autentique con base en un conjunto
de datos reconocibles y verificables, que son únicos y específicos para él/ella.

La identificación biométrica consiste en determinar la identidad de una persona. El objetivo


es capturar un elemento biométrico, por ejemplo, tomando una foto del rostro, grabando la
voz, o capturando una imagen de la huella dactilar. Luego, esos datos se comparan con los
datos biométricos de otras varias personas, alojados en una base de datos.

De ese modo, la pregunta es muy simple: "¿Quién es usted?".

La autenticación biométrica, también conocida como verificación, es el proceso por el que


se comparan los datos de las características de una persona con la "plantilla" biométrica de
esa persona, con el fin de determinar su semejanza. En primer lugar, el modelo de
referencia se almacena en una base de datos o en un elemento seguro portátil, como una
tarjeta inteligente. Luego se comparan los datos almacenados con los datos biométricos de
la persona para autenticarse. Aquí, lo que se está verificando es la identidad de la persona.

El lector de huella se halla entre una de las tecnologías más llamativas desarrolladas en los
últimos años. Integrado en un sistema de control de acceso, este tipo de lector
biométrico permite alcanzar cotas de seguridad nunca antes imaginadas, a la par que una
experiencia de usuario sin esperas ni otro tipo de inconvenientes.

Tipos de lectores de huella.

Las técnicas de identificación biométricas son capaces de garantizar un alto nivel de


seguridad y precisión, ya que se basan en las características fisiológicas o de
comportamiento de las personas. Estas técnicas prescinden del uso de claves nada seguras
que además son fácilmente olvidadas por los usuarios, o de elementos físicos como las
tarjetas, que se pierden, prestan entre compañeros y sobre las que no existe certeza al 100%
de la identidad del usuario.

¿Quién te asegura que la tarjeta que accedió a un determinado espacio lo hizo en posesión
de su dueño y no de un tercero? Por ello, la identificación biométrica es la que mayor
confianza y seguridad aporta, y dentro de las distintas técnicas, la huella dactilar sigue
siendo hoy en día el método de identificación más implementado y aceptado, debido a su
gran facilidad de uso, comodidad y alta seguridad.

Tipos de identificación biométrica por huella dactilar

Actualmente, existen distintos tipos de identificación biométrica por huella dactilar, como
veremos a continuación.

Sensor térmico de huella dactilar

Estos sensores se basan en la medición de los cambios de temperatura entre las crestas
(temperatura de la piel) y los valles (temperatura del aire) de una huella dactilar.

Cuando un dedo se coloca sobre el sensor, las crestas de la huella entran en contacto directo
con la superficie piro-eléctrica del dispositivo, lo que genera una mayor temperatura que en
la zona de los valles, que no se encuentran en contacto con el lector. El sensor reconstruye
una imagen en escala de grises de la huella dactilar utilizando el contraste de la distribución
térmica entre los patrones dactilares.

Una de las principales limitaciones de este tipo de sensores, es que requieren de una
diferencia de al menos un grado entre la superficie del dedo y la temperatura ambiente para
realizar una lectura correcta, lo que no siempre es posible (dependiendo de las condiciones
ambientales).

Sensor mecánico de huella dactilar

Estos sensores detectan la diferencia de presión entre las crestas y los valles de la huella
cuando un dedo entra en contacto con la superficie del dispositivo. Las crestas están más
próximas al sensor y generan una mayor presión, mientras que los valles, es decir, las capas
subdérmicas más profundas de la huella, producen una menor presión.
Gracias a sus miles de transductores de presión, el sensor puede recrear una imagen binaria
del dedo mediante la diferencia de fuerza aplicada sobre cada uno de los transductores
individuales de su superficie. La principal desventaja de estos sensores suele ser su limitada
resolución de medida, lo que hace casi imposible obtener una imagen de huella dactilar con
un nivel de detalle elevado. Esto limita su uso a aplicaciones de baja seguridad y con muy
pocos usuarios.

Sensor capacitivo de huella dactilar

El uso de este tipo de sensores es otra forma común de capturar las imágenes de las huellas
dactilares. El proceso de medida del sensor capacitivo se basa en la lectura de la corriente
eléctrica de una matriz de placas de condensadores ubicada debajo de la superficie de
contacto del dispositivo.

Debido a que la piel humana es conductora, las crestas de la huella generan un


acoplamiento capacitivo con los elementos individuales de la matriz del sensor. Las crestas,
que interactúan físicamente con las placas de los condensadores, crean una carga estática
que genera una capacidad eléctrica más alta, mientras que los valles de la huella producen
una capacidad inferior. Estas diferencias de capacidad eléctrica causadas por las crestas y
los valles de la huella permiten reconstruir una imagen de la huella dactilar.

Estos sensores son inmunes a los problemas de iluminación ambiental y a las


falsificaciones típicas basadas en fotografías de las huellas dactilares. Los de última
generación están dotados de una superficie muy resistente al desgaste, pero son más
sensibles a las descargas electrostáticas que los sensores ópticos. Por lo general, disponen
de un área de captura más pequeña en comparación con los sensores ópticos, lo que da
como resultado una imagen con menor información, que afecta la cantidad de usuarios que
es capaz de identificar con seguridad. Por lo que normalmente se deben de emplear
en aplicaciones con un número de usuarios más reducido, y proporcional a la superficie del
sensor.
Sensores ópticos de huella dactilar

Como sugiere su nombre, los sensores ópticos de huella dactilar se basan en capturar una
fotografía del patrón de crestas y valles de la huella determinado por las líneas claras y
oscuras de la huella dactilar. Estos sensores suelen ser los más utilizados en aplicaciones
donde se requiere un nivel de seguridad y robustez mayor, y utilizan una luz LED para
iluminar el dedo cuando éste se posa sobre una superficie de cristal o sobre una de las caras
de un prisma óptico.

La luz LED es absorbida por la piel, generando un patrón de dispersión y reflexión de luz
que genera una imagen invertida del patrón dactilar, donde las zonas más oscuras
representan a las crestas y las zonas más claras a los valles.

Los principales inconvenientes de este tipo de sensores, que son comunes también a otras
tecnologías de detección, suelen derivar de la escasa calidad y/o complejidad de las huellas
dactilares capturadas (desgastadas, secas, con cicatrices, cortes, mojadas, sucias…). No
obstante, muchos de estos problemas ya han sido resueltos con gran eficacia por los
sensores ópticos de última generación, que emplean sofisticadas técnicas de detección
óptica multiespectral para la detección de huellas difíciles. Estas técnicas capturan la
imagen de la huella bajo diferentes condiciones de iluminación (luces de diferente color -
longitud de onda-, orientación, polarización, etc.).

Estas imágenes individuales contienen una información complementaria (distinta) de la


huella, por lo que la combinación adecuada de todas ellas proporciona como resultado una
imagen de huella mucho más rica y fiable, incluso en los casos de huellas difíciles. Esta
característica única, junto a una mayor área de captura y calidad de imagen de este tipo de
sensores, ofrecen unos niveles de seguridad y robustez difícilmente alcanzables por otras
tecnologías de detección.
Sensores ópticos sin contacto de huella dactilar

Los últimos lectores ópticos de huella dactilar sin contacto, permiten la captura en el aire de
uno o varios dedos, sin necesidad de tener que colocarlos sobre una superficie de contacto.
Esto es posible gracias a una potente detección espacial de la posición del dedo, un
tratamiento sofisticado de la iluminación para capturar en alta resolución los detalles más
pequeños de la huella, un procesamiento digital de la imagen para conseguir el patrón de la
huella, y enviarlos a la base de datos para realizar el matching, e identificar a la persona con
precisión.

Estas características únicas de los sensores ópticos sin contacto, les confieren un conjunto
de ventajas adicionales frente a otras tecnologías, como, por ejemplo:

Una mejora en la ergonomía al capturar la imagen del dedo al vuelo

Incrementar la calidad de la imagen de huella al disponer de mayor área y resolución

La huella no se deforma al apretar el dedo en el cristal del sensor con más o menos presión

Eliminar posibles sensibilidades de algunas personas con la higiene

Al emplear procesadores más potentes, es posible aumentar los niveles de seguridad y


reducir los tiempos de respuesta, sobre todo en accesos con un flujo de paso intensivo.
• ¿Cómo funciona un sistema de control biométrico?

El funcionamiento de un sensor de huella digital o biométrico para un control de acceso o


asistencia se basa en registrar en la plantilla biométrica o huella. Funciona como un
dispositivo CCD (Charged Coupled Device), posee una configuración sensible a la luz, a
través de la cual se proyecta una señal eléctrica en respuesta a las radiaciones
electromagnéticas, ejemplo: los rayos X, la luz ultravioleta.

El proceso de lectura dactilar se inicia cuando la persona coloca su dedo sobre el lector, el
cual tiene su propia fuente de iluminación, generalmente, la luz y perfiles oscuros crean una
imagen de la huella detectada para iluminar las crestas de la huella digital, aquí se proyecta,
una figura invertida del dedo.

Características generales del sensor de huella digital


El proceso se inicia con una fase exploratoria, en el cual se determina el tiempo que dura en
realizarse la lectura de la huella digital. La misma debe medirse en segundos.

Tiene un lapso de revisión, el cual establece la demora en procesar las informaciones que
procesa de la huella digital, se mide en segundos y puede ser de hasta 1.5 s.

Algunos equipos independientes pueden tener la opción de insertar una contraseña como
medida de seguridad adicional.

Los modelos con conector USB, se alimentan desde el puerto USB de la computadora, a
diferencia de otros modelos tienen un conector DC o adaptador para enchufe doméstico.

Tienen dos valores llamados porcentajes de aceptación y rechazo falso, las cuáles
determinan la fiabilidad del dispositivo, este se mide en % y puede ser muy bajo como
ejemplo 0.001%.
• Sensor de Huella digital para Arduino

Gracias el sensor lector de huella de Arduino, se puede integrar con la electrónica y los
algoritmos que se necesiten para lograr una fase de verificación de la huella digital o
biométrica los cuales se puede aplicar para accesos, identificación y controles de seguridad.
Este módulo los cuales integran un DSP el cual es un proceso de señal digital que se
encarga de realizar el proceso de comparación y búsqueda imágenes, localización de
perfiles, creación y comparación de características para una ubicación de los usuarios, entre
otros.
Con estos procesos se facilita la activación personal para integrar ala base de datos de la
entidad que lo use.
Gracias a este sistema con Arduino, no se requiere de algoritmos complejos ya que es un
enlace con el lector de huella digital, la cual trabaja con una interface para capturar
imágenes con la cual se detecta la huella y se realiza una búsqueda en la base de datos.
Este módulo se caracteriza por tener la capacidad para almacenar hasta 1000 usuarios en la
memoria interna del Lector de huella digital para Arduino, así como identificarlos
luego. El sensor biométrico de huella digital es ideal para la realización de un
procedimiento capaz de proteger lo que tú solicites por medio del análisis de tu huella
digital.
Es importante resaltar que por intermedio de este módulo el proceso digital de imágenes
interno permite establecer las capacidades de comparación en las bases de datos y la
actualización de esta. El dispositivo funciona con el protocolo serial, por lo que puede ser
utilizado con cualquier microcontrolador o tarjeta de desarrollo.
Sensor Biométrico Lector de Huella FPM10A
El Sensor Biometrico funciona con el protocolo serial, por lo que
puede ser utilizado con cualquier Microcontrolador PIC,
Arduino, Raspberry PI ó cualquier tarjeta de desarrollo. 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 imágenes en busca de huellas
digitales.

Principales Características:

• Voltaje de alimentación DC: 3.3V

• Corriente de operación: 100mA ~ 150mA

• Tiempo de entrada de imágenes de huellas dactilares: < 1 segundo

• 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

• Temperatura de operación: -10 °C ~ 40 °C

• Dimensiones del área de lectura de la huella: 14 mm x 18 mm

• Dimensiones del modulo: 55 mm x 21 mm x 20 mm


El sensor óptico de huellas dactilares DY50 hace que agregar
detección y verificación de huellas dactilares con Arduino sea
muy simple. Estos módulos se utilizan normalmente en cajas
fuertes: hay un chip DSP de alta potencia que realiza la
representación, el cálculo, la búsqueda de características y la
búsqueda de imágenes. Se puede conectar a cualquier microcontrolador o sistema con TTL
serial. También puede registrar nuevos dedos directamente: hasta 162 huellas dactilares se
pueden almacenar en la memoria FLASH integrada.

Características del sensor DY50

 Tensión de alimentación: 3.6 – 6.0VDC


 Corriente de funcionamiento: 120mA max
 Corriente máxima: 150mA max
 Tiempo de imagen de huellas dactilares: <1.0 segundos
 Área de la ventana: 14mm x 18mm
 Archivo de firma: 256 bytes
 Archivo de plantilla: 512 bytes
 Capacidad de almacenamiento: 162 plantillas
 Clasificaciones de seguridad (1-5 de seguridad baja a alta)
 Tasa de aceptación falsa: <0.001% (nivel de seguridad 3)
 Tasa de rechazo falso: <1.0% (nivel de seguridad 3)
 Interfaz: Serie TTL
 Velocidad en baudios: 9600, 19200, 28800, 38400, 57600 (el valor
predeterminado es 57600)
 Clasificación de temperatura de trabajo: -20C a +50C
 Humedad de trabajo: 40% -85% HR
 Dimensiones completas: 56 x 20 x 21.5mm
 Dimensiones expuestas (cuando se coloca en la caja): 21mm x 21mm x

• Diagrama de conexión y codigo


1 /***************************************************
2 This is an example sketch for our optical Fingerprint sensor
3
4 Designed specifically to work with the Adafruit BMP085 Breakout
5 ----> http://www.adafruit.com/products/751
6
7 These displays use TTL Serial to communicate, 2 pins are required to
8 interface
9 Adafruit invests time and resources providing this open source code,
10 please support Adafruit and open-source hardware by purchasing
11 products from Adafruit!
12
13 Written by Limor Fried/Ladyada for Adafruit Industries.
14 BSD license, all text above must be included in any redistribution
15 ****************************************************/
16
17 #include <Adafruit_Fingerprint.h>
18
19
20 #if (defined(__AVR__) || defined(ESP8266)) && !defined(__AVR_ATmega2560__)
21 // For UNO and others without hardware serial, we must use software serial...
22 // pin #2 is IN from sensor (GREEN wire)
23 // pin #3 is OUT from arduino (WHITE wire)
24 // Set up the serial port to use softwareserial..
25 SoftwareSerial mySerial(2, 3);
26
27 #else
28 // On Leonardo/M0/etc, others with hardware serial, use hardware serial!
29 // #0 is green wire, #1 is white
30 #define mySerial Serial1
31
32 #endif
33
34
35 Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
36
37 uint8_t id;
38
39 void setup()
40 {
41 Serial.begin(9600);
42 while (!Serial); // For Yun/Leo/Micro/Zero/...
43 delay(100);
44 Serial.println("\n\nAdafruit Fingerprint sensor enrollment");
45
46 // set the data rate for the sensor serial port
47 finger.begin(57600);
48
49 if (finger.verifyPassword()) {
50 Serial.println("Found fingerprint sensor!");
51 } else {
52 Serial.println("Did not find fingerprint sensor :(");
53 while (1) { delay(1); }
54 }
55
56 Serial.println(F("Reading sensor parameters"));
57 finger.getParameters();
58 Serial.print(F("Status: 0x")); Serial.println(finger.status_reg, HEX);
59 Serial.print(F("Sys ID: 0x")); Serial.println(finger.system_id, HEX);
60 Serial.print(F("Capacity: ")); Serial.println(finger.capacity);
61 Serial.print(F("Security level: ")); Serial.println(finger.security_level);
62 Serial.print(F("Device address: ")); Serial.println(finger.device_addr, HEX);
63 Serial.print(F("Packet len: ")); Serial.println(finger.packet_len);
64 Serial.print(F("Baud rate: ")); Serial.println(finger.baud_rate);
65 }
66
67 uint8_t readnumber(void) {
68 uint8_t num = 0;
69
70 while (num == 0) {
71 while (! Serial.available());
72 num = Serial.parseInt();
73 }
74 return num;
75 }
76
77 void loop() // run over and over again
78 {
79 Serial.println("Ready to enroll a fingerprint!");
80 Serial.println("Please type in the ID # (from 1 to 127) you want to save this
81 finger as...");
82 id = readnumber();
83 if (id == 0) {// ID #0 not allowed, try again!
84 return;
85 }
86 Serial.print("Enrolling ID #");
87 Serial.println(id);
88
89 while (! getFingerprintEnroll() );
90 }
91
92 uint8_t getFingerprintEnroll() {
93
94 int p = -1;
95 Serial.print("Waiting for valid finger to enroll as #"); Serial.println(id);
96 while (p != FINGERPRINT_OK) {
97 p = finger.getImage();
98 switch (p) {
99 case FINGERPRINT_OK:
100 Serial.println("Image taken");
101 break;
102 case FINGERPRINT_NOFINGER:
103 Serial.println(".");
104 break;
105 case FINGERPRINT_PACKETRECIEVEERR:
106 Serial.println("Communication error");
107 break;
108 case FINGERPRINT_IMAGEFAIL:
109 Serial.println("Imaging error");
110 break;
111 default:
112 Serial.println("Unknown error");
113 break;
114 }
115 }
116
117 // OK success!
118
119 p = finger.image2Tz(1);
120 switch (p) {
121 case FINGERPRINT_OK:
122 Serial.println("Image converted");
123 break;
124 case FINGERPRINT_IMAGEMESS:
125 Serial.println("Image too messy");
126 return p;
127 case FINGERPRINT_PACKETRECIEVEERR:
128 Serial.println("Communication error");
129 return p;
130 case FINGERPRINT_FEATUREFAIL:
131 Serial.println("Could not find fingerprint features");
132 return p;
133 case FINGERPRINT_INVALIDIMAGE:
134 Serial.println("Could not find fingerprint features");
135 return p;
136 default:
137 Serial.println("Unknown error");
138 return p;
139 }
140
141 Serial.println("Remove finger");
142 delay(2000);
143 p = 0;
144 while (p != FINGERPRINT_NOFINGER) {
145 p = finger.getImage();
146 }
147 Serial.print("ID "); Serial.println(id);
148 p = -1;
149 Serial.println("Place same finger again");
150 while (p != FINGERPRINT_OK) {
151 p = finger.getImage();
152 switch (p) {
153 case FINGERPRINT_OK:
154 Serial.println("Image taken");
155 break;
156 case FINGERPRINT_NOFINGER:
157 Serial.print(".");
158 break;
159 case FINGERPRINT_PACKETRECIEVEERR:
160 Serial.println("Communication error");
161 break;
162 case FINGERPRINT_IMAGEFAIL:
163 Serial.println("Imaging error");
164 break;
165 default:
166 Serial.println("Unknown error");
167 break;
168 }
169 }
170
171 // OK success!
172
173 p = finger.image2Tz(2);
174 switch (p) {
175 case FINGERPRINT_OK:
176 Serial.println("Image converted");
177 break;
178 case FINGERPRINT_IMAGEMESS:
179 Serial.println("Image too messy");
180 return p;
181 case FINGERPRINT_PACKETRECIEVEERR:
182 Serial.println("Communication error");
183 return p;
184 case FINGERPRINT_FEATUREFAIL:
185 Serial.println("Could not find fingerprint features");
186 return p;
187 case FINGERPRINT_INVALIDIMAGE:
188 Serial.println("Could not find fingerprint features");
189 return p;
190 default:
191 Serial.println("Unknown error");
192 return p;
193 }
194
195 // OK converted!
196 Serial.print("Creating model for #"); Serial.println(id);
197
198 p = finger.createModel();
199 if (p == FINGERPRINT_OK) {
200 Serial.println("Prints matched!");
201 } else if (p == FINGERPRINT_PACKETRECIEVEERR) {
202 Serial.println("Communication error");
203 return p;
204 } else if (p == FINGERPRINT_ENROLLMISMATCH) {
205 Serial.println("Fingerprints did not match");
206 return p;
207 } else {
208 Serial.println("Unknown error");
209 return p;
210 }
211
212 Serial.print("ID "); Serial.println(id);
213 p = finger.storeModel(id);
214 if (p == FINGERPRINT_OK) {
215 Serial.println("Stored!");
216 } else if (p == FINGERPRINT_PACKETRECIEVEERR) {
217 Serial.println("Communication error");
218 return p;
219 } else if (p == FINGERPRINT_BADLOCATION) {
220 Serial.println("Could not store in that location");
221 return p;
222 } else if (p == FINGERPRINT_FLASHERR) {
223 Serial.println("Error writing to flash");
224 return p;
225 } else {
226 Serial.println("Unknown error");
227 return p;
228 }
229
230 return true;
}

También podría gustarte