SENSOR FINGERPRINT 071405

by

·

,

El FINGERPRINT 071405 es un sensor óptico de huella digital compacto y fácil de integrar en proyectos de seguridad y acceso biométrico. Ofrece detección rápida y un alto nivel de precisión, lo que lo convierte en una opción recomendada para cerraduras inteligentes, control de asistencia y aplicaciones IoT.


Principio de funcionamiento

  1. Captura óptica: Una pequeña cámara CMOS interna ilumina el dedo con un LED infrarrojo y toma una imagen de la huella.
  2. Procesado interno: El propio módulo extrae los “minucias” (optimiza las crestas y valles) y genera un template digital.
  3. Comparación: El microcontrolador puede enviar patrones de huella almacenados para comprobación o pedir al sensor que registre un nuevo usuario.

Especificaciones técnicas

  • Resolución: 500 dpi
  • Interface: UART TTL (3,3 V lógico)
  • Voltaje de alimentación: 3,6 V – 6 V
  • Corriente en reposo: ≈ 40 mA
  • Corriente en captura: ≈ 60 mA
  • Tiempo de verificación: < 1 s
  • Plantillas almacenables: hasta 2 000
  • Dimensiones: 35 × 20 × 16 mm

Conexión al microcontrolador

  1. Alimentación: VIN a 5 V, GND a masa.
  2. Datos:
    • TX del sensor → RX del microcontrolador
    • RX del sensor → TX del microcontrolador
  3. Nivel lógico: Si se trabaja a 3,3 V, asegurar que VIN sea ≥ 3,6 V y usar un conversor de nivel para la señal RX.

[Sensor] [Microcontrolador]
VIN ──► 5 V
GND ──► GND
TX ──► RX (UART)
RX ──► TX (UART)*

  • con conversor de nivel si MCU opera a 3,3 V

Uso con librería Adafruit

Se recomienda la biblioteca Adafruit Fingerprint para gestionar enrolamiento y verificación de forma sencilla:

#include <Adafruit_Fingerprint.h>
#include <HardwareSerial.h>

// Usar Serial1 para ESP32, Serial para otros microcontroladores
HardwareSerial uart(1);
Adafruit_Fingerprint sensor(&uart);

void setup() {
  uart.begin(57600, SERIAL_8N1, RX_PIN, TX_PIN);
  sensor.begin(57600);
  if (sensor.verifyPassword()) {
    Serial.println("Sensor listo");
  } else {
    Serial.println("Error de comunicación");
    while (1);
  }
}

uint8_t getFingerprintID() {
  if (sensor.getImage() != FINGERPRINT_OK) return FINGERPRINT_NOFINGER;
  sensor.image2Tz();
  return sensor.fingerFastSearch();
}

void loop() {
  uint8_t id = getFingerprintID();
  if (id == FINGERPRINT_NOFINGER) return;
  if (id == FINGERPRINT_OK) {
    Serial.print("Huella reconocida con ID: ");
    Serial.println(sensor.fingerID);
  } else {
    Serial.println("Huella no reconocida");
  }
  delay(1000);
}

Aplicaciones comunes

  • Control de acceso en cerraduras electrónicas
  • Registro de asistencia en oficinas o aulas
  • Autenticación en dispositivos IoT
  • Seguridad en proyectos de domótica y automatización

Ventajas de el modelo:

  • Rápido y fiable: verificación en menos de 1 s.
  • Alto almacenamiento: hasta 2 000 plantillas.
  • Fácil integración: comunicación por puerto serie TTL.
  • Robustez: carcasa de resina protege el sensor óptico.

Para maximizar la fiabilidad, se aconseja limpiar periódicamente la superficie y evitar la exposición directa a la luz solar intensa.

Comentarios

2 respuestas a “SENSOR FINGERPRINT 071405”

  1. pol Avatar
    pol

    Ojo al piojo con la alimentación en el ESP32. A mí me pasó que alimentándolo con los 3.3V del pin del devkit el sensor encendía pero fallaba al leer la huella (se ve que el LED consume pico de corriente). Tuve que sacarle 5V directo del pin VIN (USB) y ahí anduvo joya. Gracias por el código de ejemplo, usar HardwareSerial(1) es clave para no renegar.

  2. Ricardo Avatar
    Ricardo

    Muy clara la explicación de la librería de Adafruit. Tengo una duda sobre el rendimiento: decís que aguanta hasta 2000 plantillas. La velocidad de verificación de < 1s se mantiene cuando la memoria está casi llena? Es para un control de asistencia y me da miedo que cuando carguemos 500 o 600 usuarios se empiece a poner lenta la búsqueda

Deja un comentario

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