Sensor de huellas dactilares Arduino. Cerradura biométrica: configuración del escáner y programación del microcontrolador. Desconexión del puerto com

Aunque puede acceder a sistemas seguros mediante contraseñas y claves, ambas opciones pueden resultar incómodas y fáciles de olvidar. En este tutorial aprenderemos a utilizar el módulo FPM10A con la biblioteca Adafruit Arduino para crear sistema biométrico huellas dactilares.

Por tradición, comenzamos con los componentes de nuestra lección.

Detalles

  • Módulo de huellas dactilares FPM10A
  • ArduinoUno

Bibliotecas y software

  • IDE de Arduino
  • Biblioteca de huellas dactilares de Adafruit

Diagrama de conexión

El diagrama de conexión del módulo FPM10A y Arduino Uno deben conectarse juntos como en la figura anterior. Entraremos en más detalles en el siguiente paso.

Componentes de conexión

Comenzar con este módulo es increíblemente fácil porque utiliza un puerto serie para la comunicación. Sin embargo, dado que Arduino Uno solo tiene un puerto serie de hardware, es necesario utilizar el puerto serie a través de software, utilizando los pines 2 y 3 para comunicarse con el módulo de huellas dactilares (el puerto serie del hardware está reservado para la comunicación con la PC).

El cable plano que viene con el módulo FPM10A no es muy apto para aficionados, ya que los cables se encuentran en la carcasa en pasos de 1,27 mm, por lo que cortamos un lado y luego conectamos los cables a los puentes.

Instalación y uso de la biblioteca

El primer paso para usar el FPM10A es instalar la biblioteca Fingerprint de Adafruit, lo que se puede hacer usando el Administrador de biblioteca. Abra el IDE de Arduino y vaya a:

Bosquejo → Incluir biblioteca → Administrar bibliotecas

Cuando el administrador de la biblioteca carga una búsqueda de "Huella digital", el primer resultado debería ser la biblioteca de huellas digitales de Adafruit. Instalarlo.

Después de instalar la biblioteca, es hora de crear. nuevo proyecto Arduino. Hacer clic Archivo → Nuevo y luego guarde el proyecto en su propia carpeta. En este punto, abra la carpeta de su proyecto y copie el archivo "fingerprint.h" en ella.

Este archivo especial un título que fue escrito para hacer que la biblioteca de huellas digitales sea más fácil de usar. El archivo de encabezado tiene solo tres funciones:

  • huellas dactilares_setup() - configura el puerto serie para 9600 baudios y se conecta al módulo;
  • readFingerprint(): una función de sondeo que devuelve -1 si algo salió mal o devuelve información de que se encontró una huella digital exitosa
  • enrollFingerprint (int id): agrega una huella digital al sistema con el identificador asignado "id".

Para incluir este archivo en su proyecto, simplemente use el comando de inclusión como se muestra a continuación:

#incluir "huella digital.h"

La primera función que debe llamar en setup() es huellas dactilares_setup(), que se conecta automáticamente al módulo y confirma que todo está funcionando.

Configuración nula() (printprint_setup(); )

Para agregar una nueva huella digital, llame a la función enrollFingerprint(id).

Esto devolverá -1 si ocurre una falla. De lo contrario, los valores indican un registro exitoso de la huella digital. La identificación proporcionaba esta función con enlaces a la huella digital escaneada, y cada huella digital tenía un número de identificación único.

Registrar huella digital (0x01);

código arduino

Puedes copiar el boceto final de nuestra placa Arduino a continuación:

#include "fingerprint.h" void setup() (printprint_setup(); ) void loop() ( // Crear una nueva entrada de huella digital enrollFingerprint(0x01); delay(1000); // Solicitar entrada Serial.println(" \nUSER SOLICITUD DE INICIO DE SESIÓN...COLOQUE EL DEDO EN EL SENSOR \n"); while(readFingerprint() == -1); Serial.println(" \nACCESO CONCEDIDO \n"); Serial.println(" \nConfianza en la huella digital: " + String (confianza) + "\n"); retraso(3000);

Principio de funcionamiento

Cuando habilite este proyecto, primero le pedirá que coloque su dedo en el escáner. Si el escáner es capaz de leer sus huellas digitales, le pedirá que retire y luego reemplace su dedo con el escáner. Esto debería hacer que el escáner agregue correctamente su huella digital al ID 1, y colocar su dedo en el escáner debería generar acceso al sistema.

Este proyecto se puede ampliar fácilmente para incluir relés y enclavamientos de solenoide para permitir a los usuarios autorizados realizar cambios y desbloquear el sistema. Una vez que su proyecto esté listo, instale nuevo escáner en puertas, gabinetes, cajas fuertes, ventanas, sistemas eléctricos, computadoras y mucho más!

Para crear una conexión con el sensor de huellas dactilares se utilizaron instrucciones de Josh Hawley (descarga directa de instrucciones).

Para depurar el funcionamiento del escáner de huellas dactilares con visualización de letras, es necesaria la sincronización.

El sensor de huellas dactilares tiene su propia memoria para almacenar imágenes escaneadas. Entonces, después de que el sensor comience a funcionar, descárguelo agregándolo a la base de datos de huellas digitales en la dirección 0. Abra la consola de administración en su computadora y siga las instrucciones emergentes.

Códigos – Ejemplo de parpadeo:

/* Ejemplo de biblioteca para controlar el escáner de huellas dactilares (FPS) GT-511C3 */ #include "FPS_GT511C3.h" #include "SoftwareSerial.h" //Configuración del hardware: FPS conectado a: //pin digital 10(arduino rx, fps tx) // pin digital 11 (arduino tx - resistencia de 560 ohmios fps tx - resistencia de 1000 ohmios - tierra) // esto reduce la línea de 5v tx a aproximadamente 3.2v para que no freímos nuestros fps FPS_GT511C3 fps(10, 11); void setup())( Serial.begin(9600); fps.UseSerialDebug = true; // para que puedas ver los mensajes en la pantalla de depuración serial fps.Open(); ) void loop())( // LED parpadeante de FPS Prueba fps .SetLED(true); // enciende el LED dentro del retardo de fps(1000); apagar el LED dentro del retardo de fps (1000); )

Códigos – Ejemplo de inscripción:

/* FPS_Enroll.ino - Ejemplo de biblioteca para controlar el escáner de huellas dactilares (FPS) GT-511C3 */ #include "FPS_GT511C3.h" #include "SoftwareSerial.h" //Configuración de hardware - FPS conectado a: //pin digital 10 (arduino rx, fps tx) //pin digital 11(arduino tx - resistencia de 560 ohmios fps tx - resistencia de 1000 ohmios - tierra) //esto reduce la línea de transmisión de 5v a aproximadamente 3,2 v para que no freímos nuestros fps FPS_GT511C3 fps(10, once); void setup())( Serial.begin(9600); delay(100); fps.Open(); fps.SetLED(true); Enroll(); ) void Enroll())( // Inscribir prueba // buscar abierto inscribir id int enrollid = 0; fps.EnrollStart(enrollid); // inscribir Serial.print("Presione el dedo para registrar #"); while(fps.IsPressFinger() == false) delay(100); .CaptureFinger(true); int iret = 0; if (bret!= false) ( Serial.println("Quitar dedo"); fps.Enroll1(); while(fps.IsPressFinger() == true ) retraso(100) ; Serial.println("Presione el mismo dedo nuevamente"); while(fps.IsPressFinger() == false) delay(100); (Serial.println("Quitar el dedo"); fps.Enroll2(); while(fps. IsPressFinger() == true) delay(100); Serial.println("Presione el mismo dedo una vez más"); while(fps. IsPressFinger() == false) delay(100); if (bret != false) ( Serial.println("Quitar dedo"); iret = fps.Enroll3(); if (iret == 0) ( Serial.println("Inscripción exitosa"); ) else ( Serial.print("Inscripción falló con código de error:"); Serial.println(iret); ) ) else Serial.println("No se pudo capturar el tercer dedo"); ) else Serial.println("No se pudo capturar el segundo dedo"); ) else Serial.println( "Error al capturar el primer dedo"); bucle vacío())( retraso(100000); )

Archivo de sincronización:

Archivo de registro de boceto:

Etapa 7: Programación del procesador ATtiny85

El microchip ATtiny85 es barato y totalmente compatible con la placa Arduino. ¡Es probablemente la mejor pieza eléctrica jamás creada!

También se necesita un programador Arduino para actualizar el chip ATmega328, que controla el funcionamiento de la pantalla LCD.

En el dispositivo ensamblado, el procesador ATtiny ejecutará comandos muy simples: verificará si hay señal de ATmega y abrirá la puerta del garaje cuando se confirme la señal.

Para programar el procesador es necesario conectarlo mediante tablero de circuitos al programador junto con un condensador de 10 uF, como se muestra en la siguiente imagen.

Y luego descargar código final y sigue las recomendaciones instrucciones de alta y baja tecnología.

Después, la salida 13 de la placa Arduino, conectada al LED, debe cambiarse al estado ALTO para monitorear el funcionamiento mediante la indicación luminosa.

código final para pequeño :

//fpsAttiny por Nodcah //Recibe una breve señal del módulo principal para cerrar una configuración de vacío de relé())( pinMode(2,OUTPUT); //indicador guiado a través de una resistencia de 10K pinMode(4,OUTPUT); //pin del trasistor eso abre el garaje pinMode(0,INPUT); //input delay(500); //da tiempo para iniciar digitalWrite(2, HIGH); //indicador LED void loop())( if(digitalRead(0) ) ( //patrón simple para activar el retardo del transistor(125); if(digitalRead(0)==false)( delay(55); //los tiempos están desactivados porque el temporizador del ATtiny no es perfecto if(digitalRead ( 0))( retraso(55); if(digitalRead(0)==false)( retraso(55); if(digitalRead(0))( retraso(55); if(digitalRead(0)==false)( digitalWrite (4, ALTO); //transistor "presiona" el botón delay(1000); digitalWrite(2,LOW);

Cerradura biométrica: código final, corte de la cubierta, preparación del garaje reloj gps en arduino Cerradura biométrica: diagrama y montaje de la pantalla LCD

Como no tengo coche, no necesito llevar las llaves a todas partes. Debido a esto, resultó que varias veces me encontré sin llaves afuera de la casa y tuve que esperar a que algún familiar viniera a casa y me dejara entrar, y en algún momento decidí que tenía que hacer algo al respecto. y diseñó una cerradura de garaje casera.

En este proyecto, te mostraré cómo hacer una cerradura con huella digital para la puerta de entrada.

Paso 1: Materiales


Aquí hay una lista de materiales y herramientas necesarios.

Electrónica:

  • Escáner de huellas dactilares (y conector JST)
  • Conjunto de LCD (con ATmega328)
  • ATtiny85
  • Transistor NPN
  • altavoz de agudos
  • Cable de altavoz
  • Caso (en el paso 9 habrá archivos para impresión 3D)
  • Película de cobre
  • Regulador de voltaje 5V
  • batería de 9v
  • Conector para batería de 9V
  • interruptor SPDT

Para mayor comodidad, adjuntaré una lista de deseos ya preparada en el sitio web de Sparkfun.

Herramienta:

  • Soldador y soldadura
  • Cinta insultiva
  • Cables y puentes
  • Pinzas/destripadoras
  • tablero de prototipos
  • Varias resistencias
  • Tornillos
  • Perforar
  • Varios LED para pruebas.
  • Placa FTDI 5V
  • Pistola de silicona
  • Acceso a una impresora 3D
  • Opcional: toma para circuitos integrados(8 pines para ATtiny y 28 pines para ATmega)
  • Opcional: otra placa Arduino/condensador de 10uF (detalles en el paso 5)

Paso 2: Diagrama del dispositivo






El kit LCD comprado en Sparkfun venía con un ATmega328 que controla la pantalla. ATmega328 es bastante potente y puede usarse no sólo para controlar la pantalla, sino también para otras tareas. En vista de esto, podemos usarlo en lugar de Arduino para comunicarnos con el escáner de huellas digitales y enviar comandos al ATtiny85, controlar la pantalla y el beeper.

Para evitar que la cerradura biométrica de la puerta funcione todo el tiempo, le incorporé un interruptor que funciona en el momento en que se cierra la caja. Si la carcasa está cerrada, no se suministra energía al dispositivo y ahorramos recursos de batería.

Nota importante: el escáner de huellas dactilares funciona a 3,3 V, por lo que recomiendo usar un divisor de voltaje que convertirá las señales del ATmega a 3,2 V. El divisor de voltaje consta de una resistencia de 560 ohmios entre D10/segundo pin del escáner y una resistencia de 1K entre GND/segundo pin del escáner.

Distribución de pines LCD:

  • D10 - pin 1 del escáner (cable negro)
  • D11 - escáner pin 2 (a través del divisor de voltaje)
  • D12 - ATtiny85
  • D13 - Chirriador

Configuración de pines de ATtiny85:

  • Pin 5 (0 en el código del programa): entrada de ATmega
  • Pin 3 (4 en el código del programa) - transistor / LED amarillo
  • Pin 7 (2 en el código del programa) - LED de indicación

Paso 3: ensamblar los componentes del kit LCD

El nombre del paso habla por sí solo: práctica guía rápida de inicio/montaje

Paso 4: ensamblar el circuito en la placa de prototipos




La ubicación de los componentes en la placa depende de usted, solo intente soldar los cables para que miren en la misma dirección y no se rompan.

Una vez ensamblado, cubrí la parte superior e inferior del tablero con pegamento caliente; esto aseguró y aisló los elementos del circuito. El pegamento caliente no dañará el chip.

Al igual que con la placa principal, suelde todo a la placa ATtiny y aplique pegamento caliente para asegurar y aislar los componentes. El regulador de voltaje puede calentarse mucho, por lo que es una buena idea evitar aplicar pegamento caliente a él o a cualquier superficie cercana. También es mejor no cubrir la placa ATtiny con pegamento caliente, ya que es posible que desees quitarla y reprogramarla.

Paso 5: Programar el ATmega328

Como se mencionó en el paso 2, el ATmega328 tiene suficiente procesador fuerte y suficientes pines para controlar la pantalla LCD mientras controla otros componentes opcionales. Para lograr esto, es necesario programar el chip.

Si tienes un Arduino Uno o Duemilanove, simplemente puedes quitarle el chip y reemplazarlo por el que viene en el kit. O puede encontrar una placa de conexión básica FTDI (5 V) y accesorios para soldar en su costado (vea las imágenes en el paso 3)

También deberá cargar el código en el modo "Duemilanove con ATmega328".

Código a continuación - programa de trabajo para comprobar el funcionamiento del dispositivo.

#incluye "LiquidCrystal.h" LiquidCrystal lcd(2,3,4,5,6,7,8); void setup() ( pinMode(9, SALIDA); // retroiluminación pinMode(13, SALIDA); // busca lcd.begin(16, 2); // 16 caracteres de ancho, 2 de alto digitalWrite(9, ALTO); / /encender la luz de fondo lcd.print(" ¡Hola mundo! "); //centrar el texto usando espacios delay(2000); void loop() ( //el beeper se enciende y apaga, su estado se muestra en la pantalla lcd. .clear( ); lcd.print(" El zumbador está activado "); retraso(1000); lcd.print(" El zumbador está apagado ");

Paso 6: configurar el escáner de huellas dactilares

Utilicé esta biblioteca para comunicarme con el escáner. Enlace de descarga directa.

Para comprobar si su código funciona, descargue este probador de parpadeo.

El escáner de huellas dactilares tiene su propia memoria integrada para almacenar datos. Entonces, después de estar seguro de que el escáner está funcionando, descargue este programa para agregar su huella digital a la base de datos con el ID #0. Abra su consola serie y simplemente siga las instrucciones.

Programa de parpadeo de LED para probar el escáner.

/* Este código simple encenderá y apagará el LED. Se utiliza para comprender si la comunicación está funcionando. */ #include "FPS_GT511C3.h" #include "SoftwareSerial.h" //Configuración del hardware: escáner de dedo conectado a: //pin digital 10(arduino rx, fps tx) //pin digital 11(arduino tx - resistencia de 560 ohmios fps tx - resistencia de 1000 ohmios - GND) //esto reduce el tx de 5v a aproximadamente 3,2v y no quemaremos nuestro escáner FPS_GT511C3 fps(10, 11); void setup())( Serial.begin(9600); fps.UseSerialDebug = true; // puedes ver mensajes en la pantalla de depuración serial fps.Open(); ) void loop())( // Prueba de parpadeo del LED para el escáner de fps. SetLED(true); // enciende el LED dentro del retraso del escáner (1000);

Programa para registrar datos en el escáner.

#include "FPS_GT511C3.h" #include "SoftwareSerial.h" //Configuración del hardware: escáner de dedo conectado a: //pin digital 10(arduino rx, fps tx) //pin digital 11(arduino tx - resistencia de 560 ohmios fps tx - resistencia de 1000 ohmios - GND) //esto reduce el tx de 5v a aproximadamente 3,2v y no quemaremos nuestro escáner FPS_GT511C3 fps(10, 11); void setup())( Serial.begin(9600); delay(100); fps.Open(); fps.SetLED(true); Enroll(); ) void Enroll())( // Prueba de registro // buscar open id int enrollid = 0; fps.EnrollStart(enrollid); // registro Serial.print("Presione el dedo para registrar #"); while(fps.IsPressFinger() == false) delay(100); .CaptureFinger(true); int iret = 0; if (bret!= false) ( Serial.println("Quitar dedo"); fps.Enroll1(); while(fps.IsPressFinger() == true) retraso(100) ; Serial.println("Presione el mismo dedo nuevamente"); while(fps.IsPressFinger() == false) delay(100); bret = fps.CaptureFinger(true); "Quitar el dedo"); while(fps.IsPressFinger() == true) delay(100) () == false) delay(100); bret = fps.CaptureFinger(true); Serial.println("Quitar dedo"); iret = fps.Enroll3(); if (iret = = 0) ( Serial.println("Inscripción exitosa"); ) else ( Serial.print("Error al registrarse con código de error:"); Serial.println(iret); ) ) else Serial.println("Error al capturar el tercer dedo"); ) else Serial.println("Error al capturar el segundo dedo"); ) else Serial.println("Error al capturar el primer dedo"); ) bucle vacío() ( retraso(100000); ) Archivos

Paso 7: programe el ATtiny85


ATtiny85 es algo así como un Arduino barato ensamblado en un solo chip. El ATtiny85 puede ser programado por otros Arduinos, incluido el ATmega328 que se encuentra en nuestro kit LCD. En el proyecto se utiliza para ejecutar comandos muy simples: verificar la señal del ATmega y abrir la puerta si la señal es correcta.

Para programarlo conecta todo según las fotos adjuntas. Luego descargue los archivos necesarios y siga estas instrucciones.

Después de descargar el código, el pin 13 del Arduino (LED incorporado) debería iluminarse, lo que indica que el código se ha descargado.

Código final:

//Recibe una señal corta del módulo principal para cerrar el relé void setup())( pinMode(2,OUTPUT); //Indicación LED a través de una resistencia de 10K pinMode(4,OUTPUT); //pin del transistor que abre el garaje pinMode(0,INPUT ); //retardo de entrada(500); //da tiempo al dispositivo para iniciar digitalWrite(2, HIGH); //indicación LED ) void loop())( if(digitalRead(0))( / /patrón simple para cambiar el retardo del transistor (125); if(digitalRead(0)==false)( retardo(55); //espera, ya que el temporizador ATtiny no es ideal if(digitalRead(0))( retardo(55); ); if(digitalRead(0)= =false)( retraso(55); if(digitalRead(0))( retraso(55); if(digitalRead(0)==false)( digitalWrite(4, ALTO); / / el transistor “presiona” el botón delay(1000 ); digitalWrite(4,LOW); digitalWrite(2,LOW);

Paso 8: Código final

A continuación se muestra un programa Arduino que escribí usando las bibliotecas de escáner y pantalla. Para dejar claro lo que pasa en cada parte del programa, intenté comentar todo de la mejor manera posible. Después de descargar este código todo debería funcionar y solo queda integrar el sistema en la puerta.

Advertencia: si la biblioteca del escáner no funciona, intente usar versión antigua IDE de Arduino.

Código para ATmega238:

#include "LiquidCrystal.h" //biblioteca de visualización #include "FPS_GT511C3.h" //biblioteca de fps (escáner de huellas dactilares) #include "SoftwareSerial.h" //utilizado por la biblioteca del escáner //Configurar los pines de la pantalla y del escáner LiquidCrystal lcd( 2, 3, 4, 5, 6, 7, 8); //mostrar configuración de pines FPS_GT511C3 fps(10, 11); //RX, TX booleano isFinger = false; //verdadero si la biblioteca fps detecta el dedo en el escáner //pines de salida const int buzzerPin = 13; const int retroiluminaciónPin = 9; const int attinyPin = 12; const String idNames = ("self", "Bro", "Ryan", "Mamá", "Papá", "Tía", "Abuela", "Zeide", "Persona", "persona", "Pulgar"); void setup())( //configura las salidas pinMode(buzzerPin, OUTPUT); pinMode(backlightPin, OUTPUT); pinMode(attinyPin, OUTPUT); //para depurar //Serial.begin(9600); fps.UseSerialDebug = false; / /se vuelve verdadero para la depuración de fps a través del puerto serie //inicializando bibliotecas lcd.begin(16,2); LCD luz de fondo fps.Open(); fps.SetLED (verdadero); //LED para fps //cargando sonido for(int i=0; i<30; i++){ tone(buzzerPin, 50+10*i, 30); delay(30); } tone(buzzerPin, 350); //вывод стартового сообщения lcd.print("Put your finger "); //команда вывода на экран lcd.setCursor(0, 1); //устанавливаем курсор на нулевую колонку первой строки lcd.print(" on the scanner "); delay(150); noTone(buzzerPin); //останавливаем стартовый звук } void loop(){ //сканируем и распознаём отпечаток, когда приложен палец waitForFinger(); lcd.clear(); //очищаем экран и устанавливаем курсов в положение 0,0 fps.CaptureFinger(false); //захватываем отпечаток для идентификации int id = fps.Identify1_N(); //идентифицируем отпечаток и сохраняем id if(id <= 10){ lcd.print(" Access granted "); //сообщение об успехе lcd.setCursor(0,1); //выводим на экран имя когда дверь открывается String message = " Hey " + idNames + "!"; lcd.print(message); tone(buzzerPin, 262, 1000); delay(1500); //отправляем сигнал для открытия двери digitalWrite(attinyPin, HIGH); //первый импульс синхронизирует задержку (10ms) delay(5); digitalWrite(attinyPin, LOW); delay(3); digitalWrite(attinyPin, HIGH); //следующие два - открывают дверь delay(15); digitalWrite(attinyPin, LOW); delay(5); digitalWrite(attinyPin, HIGH); delay(10); digitalWrite(attinyPin, LOW); delay(1000); lcd.clear(); lcd.print("Don"t forget to "); lcd.setCursor(0,1); lcd.print(" shut me off! "); delay(2000); waitForFinger(); //нажмите чтобы продолжить запись while(true){ //сохраняет новый отпечаток //выводит сообщение на экран lcd.clear(); lcd.print(centerText("So you want to")); lcd.setCursor(0,1); lcd.print(centerText("scan a new one?")); delay(2000); //Скопировано и слегка модифицировано из примера регистрации данных: int enrollid = 11; //выбираете какой id переписать\создать //отпустите палец, когда хотите записать id/имя, напечатанное на экране waitForFinger(); //ждёт, когда будет нажат fps while(enrollid==11){ for (int i = 1; i1){ lcd.print(i); enrollid = i-1; break; } } } //предупреждение, если в данном слоте уже есть данные if(fps.CheckEnrolled(enrollid)){ lcd.clear(); lcd.print(" Warning! ID #"); lcd.print(enrollid); lcd.setCursor(0,1); lcd.print(" has data. OK? "); delay(2500); waitForFinger(); //ждёт, когда будет нажат fps fps.DeleteID(enrollid); //удаляет данные delay(100); } //Enroll fps.EnrollStart(enrollid); lcd.clear(); lcd.print("Place finger to "); lcd.setCursor(0,1); lcd.print("enroll #"); lcd.print(enrollid); //выводит id, который был добавлен waitForFinger(); //ждёт, когда будет нажат fps //захватывает отпечаток и сохраняет его в память трижды для точности данных bool bret = fps.CaptureFinger(true); //картинка высокого качества для записи int iret = 0; //в случае ошибки if (bret != false){ //первая регистрация lcd.clear(); lcd.print(" Remove finger "); fps.Enroll1(); while(fps.IsPressFinger() == true) delay(100); //ждёт пока уберут палец lcd.clear(); lcd.print(" Press again "); waitForFinger(); //ждёт, когда будет нажат fps bret = fps.CaptureFinger(true); if (bret != false){ //вторая регистрация lcd.clear(); lcd.print(" Remove finger "); fps.Enroll2(); while(fps.IsPressFinger() == true) delay(100); lcd.clear(); lcd.print("Press yet again "); waitForFinger(); bret = fps.CaptureFinger(true); if (bret != false){ //третья регистрация iret = fps.Enroll3(); if (iret == 0){ //проверяет, были ли какие-нибудь ошибки lcd.clear(); lcd.print(" Success! "); delay(2000); beep(); //выключает Ардуино } else{ //запускает этот код в случае любой ошибки lcd.clear(); lcd.print("Fail. Try again "); delay(1000); } } lcd.clear(); lcd.print(" Failed 3rd "); //ошибка на третьей записи delay(1000); } lcd.clear(); lcd.print(" Failed 2nd "); //ошибка на второй записи delay(1000); } lcd.clear(); lcd.print(" Failed 1st "); //ошибка на первой записи delay(1000); } } else{ lcd.print("Fingerprint is"); //если отпечаток не распознан lcd.setCursor(0,1); lcd.print(" unverified "); delay(2000); lcd.clear(); lcd.print("Please try again"); lcd.setCursor(0,1); lcd.print("Use your pointer"); //pointer - указательный палец (можете использовать любой и заменить это слово) delay(500); } delay(250); } void beep(){ //издаёт звуки, чтобы кто-нибудь закрыл кейс lcd.clear(); lcd.print("Please close the"); lcd.setCursor(0,1); lcd.print(" case! "); for(int i=0;i=80 && !fps.IsPressFinger()){ beep(); } } timer = 0; //обнуляет таймер как только функция завершится } String centerText(String s) { //центрует текст на дисплее, чтобы он лучше смотрелся while(16-s.length()>1)( //si el texto necesita centrado s = " " + s + " "; // agrega espacios uniformemente en ambos lados) return s; ) Archivos

Para crear un sistema de seguridad biométrico simple para proteger su automóvil del acceso no autorizado, necesitaremos un sensor de huellas dactilares y un microcontrolador Arduino. Este proyecto utiliza material de formación de Adafruit. Para facilitar la repetición, se utiliza el código de programa completo de este material, con cambios menores.

En primer lugar modificamos el sistema de arranque del vehículo. La conexión principal es el conductor IG del interruptor de encendido, que suministra energía al regulador de voltaje, luego al microcontrolador Arduino para encenderlo y apagarlo y escanear el sensor con el dedo durante 10 segundos. Si la huella dactilar coincide, el sistema activa la caja de relés, que controla el relé de arranque. Ahora puede arrancar el motor. Después de 10 segundos, el sensor de huellas dactilares se apaga. Puede volver a encenderlo repitiendo el ciclo de encendido. Si en 10 segundos el sensor no detecta una huella digital o la huella no coincide con la de referencia, entonces el sistema de arranque se apaga y el motor no arranca.

Dado que cada vehículo tiene un sistema de configuración de arranque diferente, deberá consultar a un electricista sobre el sistema eléctrico del vehículo o revisar el diagrama de cableado antes de modificar el sistema de arranque.

Tenga en cuenta que el sensor de huellas dactilares no arranca el motor. Simplemente activa y desactiva el relé de arranque, que prohíbe o permite que el motor arranque.

En este proyecto, se instala un dispositivo antirrobo en un cupé Mitsubishi Lancer 2000 de 2 puertas.

Paso 1: Componentes utilizados

Paso 4: Cargando el programa principal

Conecte el sensor de huellas dactilares como se muestra en el diagrama y cargue el programa principal. Conecte un LED y una resistencia al pin 12 para monitorear el correcto funcionamiento.

El programa funciona según el principio del material educativo Adafruit Fingerprint. Sin embargo, modifiqué ligeramente el código y agregué un temporizador para apagar el sensor después de 10 segundos para evitar la distracción del LED parpadeante del sensor.

Paso 5: Montaje Parte 1

Retire los tornillos debajo del tablero. Afloje la palanca de liberación del capó. Retire la parte inferior del tablero. Coloque el sensor en el espacio libre.

Paso 6: Montaje, Parte 2

Mida la distancia requerida y corte un área pequeña para instalar de forma segura el sensor.

Paso 7: Montaje, Parte 3

Lo mejor es instalar la placa Arduino Uno detrás del sensor de huellas dactilares. Afilé un poco el asiento para que la placa Arduino Uno quedara en la posición correcta.


Para crear tal proyecto, el autor tuvo que modificar el sistema de arranque de su vehículo. La conexión principal es el conductor IG del interruptor de encendido, a través del cual se suministra voltaje de suministro al regulador de voltaje, y luego al propio Arduino para encenderlo, así como encender el sensor de escaneo digital. Si el escaneo digital tiene éxito, el sistema activa la unidad de relé y controla el relé de arranque. Ahora puedes arrancar el coche. El sensor funciona durante 10 segundos y se puede reiniciar repitiendo el ciclo de arranque del encendido. Si dentro del tiempo asignado el sensor no detecta una huella digital o no coincide con la especificada, el sistema de arranque se desactivará y el motor no arrancará.

Dado que cada coche tiene su propio sistema de configuración de arranque, es necesario mirar el diagrama eléctrico antes de modificar el sistema de arranque del motor.

Este artículo describe cómo conectar un dispositivo antirrobo a un cupé Mitsubishi Lancer 2000 de 2 puertas.

Materiales:
-Arduino Uno.
- Sensor de huellas dactilares.
- Fuente de alimentación.
- Unidad de relé.
-Transistor NPN BC547B
- Resistencia 1 kOhmio










Diagrama de conexión:
El circuito se modifica ligeramente según los componentes utilizados. Recuerde que es válido sólo para este modelo de coche.

Paso 1 Preparación de los componentes del software:
En el IDE de Arduino, la biblioteca se carga y agrega.
Se carga un archivo de la biblioteca Blank.ino en Arduino, que servirá como interfaz entre el sensor y el microcontrolador.
El programa está instalado y el sensor está conectado al Arduino como se muestra en el diagrama. Después de lo cual la huella digital se carga a través del programa instalado.


Ahora el sensor está conectado como se muestra en el siguiente diagrama. Luego de lo cual el autor procede a descargar el programa principal. Un LED con una resistencia está conectado al pin 12.

El programa funcionará principalmente basándose en el material de capacitación de Adafruit Fingerprint. Lo único que se agrega al código del programa es un temporizador de apagado del sensor de 10 segundos. Puede descargar el código debajo del artículo.

Paso 3 montaje:
Parte 1:

Primero, desatornille los tornillos debajo del tablero. Se retira la parte inferior del panel y se puede colocar el sensor en el espacio libre.



Parte 2:
En la ubicación seleccionada para el sensor, se corta una zona para su instalación confiable.





parte 3:
La placa Arduino está instalada detrás del sensor de huellas dactilares. El lugar para instalar el Arduino se afiló ligeramente para que la placa pudiera tomar la posición correcta.



parte 4:
La fuente de alimentación regulada está montada detrás del salpicadero del lado del conductor.

parte 5:
Los componentes restantes del equipo se conectan según el diagrama al principio del artículo.







Instalación del paso 4:
Se conectan los cables necesarios y el dispositivo se instala debajo del tablero. El autor se asegura de que no haya ningún cortocircuito.