- Componentes requeridos:
- Diagrama de circuito y explicación:
- Instalación de la biblioteca para el sensor de huellas dactilares:
- Funcionamiento del sensor de huellas dactilares con Raspberry Pi:
- Programación Python:
El sensor de huellas dactilares , que solíamos ver en las películas de ciencia ficción hace unos años, ahora se ha vuelto muy común para verificar la identidad de una persona para varios propósitos. En la actualidad, podemos ver sistemas basados en huellas dactilares en todas partes de nuestra vida diaria, como asistencia en oficinas, verificación de empleados en bancos, retiro de efectivo o depósitos en cajeros automáticos, verificación de identidad en oficinas gubernamentales, etc. Ya lo hemos interconectado con Arduino, hoy vamos a conectar el sensor FingerPrint con Raspberry Pi. Con este sistema de huellas dactilares Raspberry Pi, podemos registrar nuevas huellas dactilares en el sistema y podemos eliminar las huellas dactilares ya alimentadas. El funcionamiento completo del sistema se muestra en el video que se encuentra al final del artículo.
Componentes requeridos:
- Frambuesa pi
- Convertidor de USB a Serie
- Módulo de huellas dactilares
- Apretar botones
- LCD de 16x2
- Bote de 10k
- Placa de pan o PCB (pedido a JLCPCB)
- Cables de puente
- LED (opcional)
- Resistencia 150 ohmios -1 k ohmios (opcional)
Diagrama de circuito y explicación:
En este proyecto de interfaz del sensor de huellas dactilares de Raspberry Pi, hemos utilizado 4 botones: uno para registrar la nueva huella dactilar, otro para eliminar las huellas dactilares ya alimentadas y el resto dos para incrementar / disminuir la posición de las huellas dactilares ya alimentadas. Se utiliza un LED para indicar que el sensor de huellas dactilares está listo para tomar el dedo para hacer coincidir. Aquí hemos utilizado un módulo de huellas dactilares que funciona en UART. Así que aquí hemos interconectado este módulo de huellas dactilares con Raspberry Pi usando un convertidor de USB a Serie.
Entonces, en primer lugar, debemos realizar todas las conexiones necesarias como se muestra en el diagrama de circuito a continuación. Las conexiones son simples, acabamos de conectar el módulo de huellas dactilares al puerto USB de la Raspberry Pi mediante el uso de un convertidor de USB a serie. Se utiliza una pantalla LCD de 16x2 para mostrar todos los mensajes. También se utiliza un potenciómetro de 10k con LCD para controlar el contraste del mismo. Los pines LCD de 16x2 RS, EN, d4, d5, d6 y d7 están conectados con los pines GPIO 18, 23, 24, 25, 8 y 7 de Raspberry Pi respectivamente. Cuatro botones están conectados a GPIO Pin 5, 6, 13 y 19 de Raspberry Pi. El LED también está conectado en el pin 26 de RPI.
Instalación de la biblioteca para el sensor de huellas dactilares:
Después de realizar todas las conexiones necesitamos encender Raspberry Pi y prepararlo con el terminal abierto. Ahora necesitamos instalar la biblioteca de huellas digitales para Raspberry Pi en lenguaje Python siguiendo los pasos a continuación.
Paso 1: para instalar esta biblioteca, se requieren privilegios de root. Entonces, primero ingresamos en la raíz con el comando dado:
sudo bash
Paso 2: luego descargue algunos paquetes requeridos usando los comandos dados:
wget –O - http://apt.pm-codeworks.de/pm-codeworks.de.gpg - apt-key add - wget http://apt.pm-codeworks.de/pm-codeworks.list -P / etc / apt / sources.list.d /
Paso 3: Después de esto, necesitamos actualizar la Raspberry pi e instalar la biblioteca de sensores de huellas dactilares descargada:
sudo apt-get update sudo apt-get install python-fingerprint –sí
Paso 4: Después de instalar la biblioteca, ahora necesitamos verificar el puerto USB en el que está conectado su sensor de huellas dactilares, usando el comando dado:
ls / dev / ttyUSB *
Ahora reemplace el número de puerto USB, con el puerto USB que obtuvo sobre la pantalla y reemplácelo en el código Python. El código completo de Python se proporciona al final de este proyecto.
Funcionamiento del sensor de huellas dactilares con Raspberry Pi:
La operación de este proyecto es simple, simplemente ejecute el código Python y habrá algunos mensajes de introducción en la pantalla LCD y luego se le pedirá al usuario que coloque el dedo en el sensor de huellas digitales. Ahora, poniendo un dedo sobre el módulo de huellas dactilares, podemos comprobar si nuestras huellas dactilares ya están almacenadas o no. Si su huella digital está almacenada, la pantalla LCD mostrará el mensaje con la posición de almacenamiento de la huella digital como ' Fount at Pos: 2'; de lo contrario, mostrará 'No Match Found' .
Ahora, para registrar una huella digital, el usuario debe presionar el botón de registro y seguir los mensajes de instrucciones en la pantalla LCD.
Si el usuario desea eliminar alguna de las huellas digitales, debe presionar el botón Eliminar. Después de lo cual, la pantalla LCD le pedirá la posición de la huella dactilar que se va a eliminar. Ahora, al usar otros dos botones para incrementar y disminuir, el usuario puede seleccionar la posición de la huella digital guardada y presionar el botón de registro (en este momento, el botón de registro se comporta como el botón Aceptar) para eliminar esa huella digital. Para mayor comprensión, eche un vistazo al video que se encuentra al final del proyecto.
Programación Python:
Python para la interfaz del sensor de huellas dactilares con RPi es fácil con el uso de funciones de biblioteca de huellas dactilares. Pero si el usuario quiere interactuar con él mismo, entonces será un poco difícil por primera vez. En las hojas de datos del sensor de huellas dactilares, se da todo lo que se requiere para interconectar el mismo módulo. Hay un código de GitHub disponible para probar su Raspberry pi con sensor de huellas dactilares.
Aquí hemos usado la biblioteca, por lo que solo necesitamos llamar a la función de biblioteca. En el código, primero necesitamos importar bibliotecas como huellas dactilares, GPIO y tiempo, luego necesitamos definir pines para LCD, LED y botones.
importar tiempo desde pyfingerprint.pyfingerprint importar PyFingerprint importar RPi.GPIO como gpio RS = 18 EN = 23 D4 = 24 D5 = 25 D6 = 8 D7 = 7 enroll = 5 delet = 6 inc = 13 dec = 19 led = 26 HIGH = 1 BAJO = 0
Después de esto, necesitamos inicializar y dar dirección a los pines seleccionados.
gpio.setwarnings (Falso) gpio.setmode (gpio.BCM) gpio.setup (RS, gpio.OUT) gpio.setup (EN, gpio.OUT) gpio.setup (D4, gpio.OUT) gpio.setup (D5, gpio.OUT) gpio.setup (D6, gpio.OUT) gpio.setup (D7, gpio.OUT) gpio.setup (registrar, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (delet, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (inc, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (dec, gpio.IN, pull_up_down = gpio.PUD_UP) gpio.setup (led, gpio.OUT)
Ahora hemos inicializado el sensor de huellas dactilares
intente: f = PyFingerprint ('/ dev / ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) if (f.verifyPassword () == False): raise ValueError ('¡La contraseña del sensor de huellas dactilares dada es incorrecta!') excepto Excepción como e: print ('Mensaje de excepción:' + str (e)) exit (1)
Hemos escrito alguna función para inicializar y controlar la pantalla LCD, verifique el código completo a continuación en la sección de códigos:
def begin (), def lcdcmd (ch), def lcdwrite (ch), def lcdprint (Str), def setCursor (x, y)
Después de escribir todas las funciones del controlador LCD, hemos colocado funciones para registrar, buscar y eliminar huellas dactilares.
def La función enrollFinger () se utiliza para registrar o guardar las nuevas huellas digitales.
La función def searchFinger () se usa para buscar las huellas dactilares ya almacenadas. Los functinos
def deleteFinger () se usan para deotar la huella dactilar ya guardada presionando el botón correspondiente.
Todo el código de la función anterior se proporciona en el código en Python que se muestra a continuación.
Después de esto, finalmente, necesitamos inicializar el sistema en while 1 loop pidiendo que coloque el dedo en el sensor de huellas digitales y luego el sistema verificará si esta huella digital es válida o no y mostrará los resultados en consecuencia.
begin () lcdcmd (0x01) lcdprint ("FingerPrint") lcdcmd (0xc0) lcdprint ("Interfaz") time.sleep (3) lcdcmd (0x01) lcdprint ("Circuit Digest") lcdcmd (0xc0) lcdprint ("Le da la bienvenida") time.sleep (3) flag = 0 lcdclear () while 1: gpio.output (led, HIGH) lcdcmd (1) lcdprint ("Colocar dedo") if gpio.input (enroll) == 0: gpio.output (led, LOW) enrollFinger () elif gpio.input (delet) == 0: gpio.output (led, LOW) while gpio.input (delet) == 0: time.sleep (0.1) deleteFinger () else: searchFinger ()
A continuación se muestra el código Python completo y un video funcional.