Сканер отпечатков пальцев с помощью Arduino UNO

Хотя вы можете получить доступ к защищенным системам через пароли и ключи, обе опции могут быть неудобными и легко забываемы. В этом уроке узнаем, как использовать модуль FPM10A с библиотекой Adafruit Arduino для создания биометрической системы отпечатков пальцев.

Что нам понадобится?

По традиции начинаем с комплектующих для нашего урока.

Детали

  • Модуль отпечатков пальцев FPM10A
  • Arduino Uno
FPM10A модуль для Ардуино
FPM10A модуль для Ардуино

Библиотеки и ПО

  • Arduino IDE
  • Adafruit Fingerprint Library

Схема соединения

Схема соединения модуля FPM10A и Ардуино Уно нужно соединить вместе как на рисунке выше. Подробнее мы остановимся на следующем шаге.

Подключаем комплектующие

Начать работать с этим модулем невероятно просто из-за того, что он использует последовательный порт для связи. Однако, поскольку у Arduino Uno только один аппаратный последовательный порт, вам необходимо использовать последовательный порт через программное обеспечение, используя контакты 2 и 3, чтобы общаться с модулем отпечатков пальцев (серийный порт аппаратного обеспечения зарезервирован для связи с ПК).

Ленточный кабель, который поставляется вместе с модулем FPM10A, является не очень удобным для хобби, так провода сидят в корпусе с шагом 1,27 мм, поэтому мы отрезали с одной стороны, а затем провода подключили к перемычкам.

Установка и использование библиотеки

Первым шагом в использовании FPM10A является установка библиотеки Fingerprint от Adafruit, которая может быть выполнена с помощью Менеджера библиотек. Откройте Arduino IDE и перейдите в:

Sketch → Include Library → Manage Libraries (Управление библиотеками)

Когда менеджер библиотек загружает поиск по "Fingerprint", то первым результатом должна быть библиотека "отпечатков пальцев" от Adafruit. Установите её.

После установки библиотеки пришло время создать новый проект Ардуино. Нажмите Файл → Создать, а затем сохраните проект в своей собственной папке. На этом этапе откройте папку проекта и скопируйте в нее файл «fingerprint.h».

Это специальный файл заголовок, который был написан для того, чтобы сделать библиотеку отпечатков пальцев более легкой в использовании. Файл заголовка имеет только три функции:

  • fingerprint_setup () - конфигурирует последовательный порт для 9600 бод и подключается к модулю;
  • readFingerprint () - функция опроса, которая возвращает -1, если что-то пошло не так, или возвращает информацию о том, что найден успешный отпечаток
  • enrollFingerprint (int id) - добавляет отпечаток в систему с присвоенным идентификатором «id».

Чтобы включить этот файл в свой проект, просто используйте команду include, как показано ниже:

#include "fingerprint.h"

Первой функцией, которую необходимо вызвать в setup (), является fingerprint_setup (), которая автоматически соединяется с модулем и подтверждает, что все работает.

void setup() 
{
  fingerprint_setup();
}

Чтобы добавить новый отпечаток, вызовите функцию enrollFingerprint (id).

Это приведет к возврату -1, если произойдет сбой. В противном случае значения указывают на успешную регистрацию отпечатков пальцев. Идентификатор передал этой функции ссылки на отсканированный отпечаток пальца, и каждый отпечаток имел уникальный идентификационный номер.

enrollFingerprint(0x01);

Код Ардуино

Итоговый скетч для нашей платы Ардуино вы можете скопировать ниже:

#include "fingerprint.h"

void setup() 
{
  fingerprint_setup();
}

void loop() 
{
  // Create a new fingerprint entry
  enrollFingerprint(0x01);
  delay(1000);

  // Request entry
  Serial.println(" \nUSER LOGIN REQUEST...PLACE FINGER ONTO SENSOR  \n");
  while(readFingerprint() == -1);
  Serial.println(" \nACCESS GRANTED \n");
  Serial.println(" \nFingerprint confidence : " + String(confidence) + " \n");  
  delay(3000);
}

Принцип работы

Когда вы включите этот проект, он сначала попросит вас поместить палец на сканер. Если сканер способен считывать ваши отпечатки пальцев, он попросит вас удалить и затем заменить палец на сканер. Это должно привести к тому, что сканер успешно добавит ваш отпечаток пальца в ID 1, а перенос пальца на сканер должен привести к доступу системы.

Этот проект можно легко расширить, включив блокировки и реле соленоида, чтобы разрешить авторизованным пользователям вносить изменения и разблокировать систему. Как только ваш проект будет готов, - установите новый сканер в двери, шкафы, сейфы, окна, электрические системы, компьютеры и многое другое!

Ардуино+