- Назначение и принцип работы,
- Технические характеристики,
- Подключение к ПК,
- Подключение к Ардуино,
- Вывод,
- FAQ.
Назначение и принцип работы
Нам попал в руки немного устаревший, но до сих пор самый распространенный в DIY-мире сканер отпечатков пальцев, работающий на принципе оптического фиксирования папиллярного узора пальца.Данный конкретный экземпляр снабжен не обязательным, но облегчающим жизнь адаптером, который согласует все сигналы из шести проводов разного цвета, исходящих из сканера, в два пина питания и два знакомых и любимых всеми RX и TX от протокола UART.
Сам сканер представляет собой “черный ящик” со стеклянной призмой для поднесения пальца с одной стороны и пучком интерфейсных проводов с другой. Призма подсвечивается таинственным зеленым сиянием из недр сканера, что позволяет датчику, расположенному тоже где-то в глубине устройства, различать узоры наших пальцев, прижатых в это время к стеклу.
Часть принципа работы, которую мы можем наблюдать за пределами внутренних алгоритмов датчика, примерно такая: сканер считывает изображение отпечатка пальца и трансформирует его в некий файл-картинку. Далее, в зависимости от команд извне, он либо сохраняет информацию в собственной памяти для дальнейшего сравнения, либо сравнивает с той базой отпечатков, что уже есть в памяти. В первом случае “отпечатку отпечатка”, то есть полученной сигнатуре, присваивается уникальный номер, который в дальнейшем будет предъявляться в качестве результата, если будет замечено совпадение. Во втором случае будет произведен поиск и выдан упомянутый выше результат в виде номера из базы данных, если такой отпечаток там обнаружится.
Таким образом работа со сканером разбивается на два этапа. Первый этап: сканируем эталонный “хозяйский” палец (согласно внутренним алгоритмам делаем это дважды), запоминаем его в базе данных под некоторым номером. Возможно повторить первый этап несколько раз для нескольких пальцев одного или нескольких людей. Одновременно в памяти может храниться до 162 различных отпечатков. Второй этап: рабочий режим, ждем поднесения пальца, считываем картинку, сравниваем с теми, что в памяти, получаем уникальный номер в случае совпадения, передаем его выше, на компьютер или контроллер.
А вот что делать с этой информацией, решать уже вам как создателю устройства: открыть дверь, какую именно, включить музыку, облить водой, ударить током и так далее.
Необходимы комплектующие для Arduino ?
Купить Arduino запчасти можно в нашем магазине 3DIY
Технические характеристики
- Напряжение питания: 3.6 - 6.0 В (постоянный ток);
- Рабочая сила тока: 120 мА;
- Максимальная сила тока: 150 мА;
- Время обработки изображения отпечатка: < 1.0 секунды;
- Размер окна: 14 мм x 18 мм;
- Количество одновременно записываемых файлов: 162 файла;
- Уровень безопасности (от 1 до 5);
- Интерфейс (подключение): TTL последовательный;
- Скорость передачи данных (Baud rate): 9600, 19200, 28800, 38400, 57600 (по умолчанию 57600);
- Рабочий диапазон температур: от -20 C до +50 C;
- Допустимый уровень влажности: 40 % - 85 % RH;
- Габаритные размеры: 56 x 20 x 21.5 мм;
- Вес: 20 грамм.
Подключение к ПК
Подключать сканер к ПК есть смысл для нескольких процедур. Для начала настоятельно рекомендуем удалить из памяти сенсора чужие отпечатки пальцев. Да, они там есть. Например, на нашем было аж пять штук. С точки зрения экономии ресурсов, и если не хотим, чтобы какой-нибудь китаец вскрыл наш сейф, следует все предварительно почистить. Для внесения нужных отпечатков в базу данных тоже удобнее пользоваться компьютером. Интерфейс программы хоть и не самый дружественный, но все равно намного лучше, чем то, что мы можем создать за несколько часов из непонятных мигающих светодиодов.Для подключения годится любой USB-TTL переходник, например тот, которым мы прошиваем Ардуино Про Мини и подобные, лишенные собственного USB. Если под рукой такого переходника не оказалось, используем,например, саму Ардуино UNO. Скачиваем и запускаем программу SFGDemo. Подключаем плату к ПК, указываем правильный COM-порт.
Если все сделано правильно, то нажатие на кнопку “Open Device” моментально соединит нас с устройством. В закладке “Match” появится тот самый список отпечатков пальцев хитрых китайцев, сохраненных ранее в сканере. При помощи кнопки “Delete” безжалостно их удаляем по одному. А используя кнопку “Enroll” добавляем свои. Как уже было сказано выше, внесение нового отпечатка потребует двойного сканирования и указания его ID. После удачной процедуры отпечаток появится в списке. Не будем надолго останавливаться на работе с программой SFGDemo, она достаточно проста и разобраться с ее возможностями можно за десяток минут.
Подключение к Ардуино
К контроллеру сканер подключается согласно закону UART-жанра, перекрестным соединением RX-TX пациента и реципиента. Для работы в среде Ардуино понадобится скачать и подключить библиотеку Adafruit-Fingerprint-Sensor-Library. Библиотека снабжена необходимыми примерами с подробными пояснениями, в том числе про аппаратное подключение. Пример ”enroll” демонстрирует возможность записи новой сигнатуры без ПК. Если же отпечатки уже хранятся в памяти сканера, воспользуемся примерном “fingerprint”, чтобы проверить, как они распознаются.Обратите внимание, в данном примере сканер подключается к пинам 2 и 3, так как для связи с ним используется программный сериал-порт. Аппаратный в это время занят общением у компьютером. Вы же, как программист, легко сможете перевести протокол обмена куда угодно, все зависит от потребностей конкретного проекта.
Запускаем, видим приглашение приложить палец, что мы немедленно и делаем. Если отпечаток имеется в базе, на экране появится его ID. Вам лишь останется придумать как на это реагировать. Напомню, что в памяти девайса может храниться более полутора сотен отпечатков и действия на них можно запрограммировать разные.
Вывод
Оптический сканер отпечатков пальцев остается востребованным в DIY-проектах устройством благодаря невысокой цене, высокой надежности и простоте подключения. Недостатками можно считать: долгую реакцию - иногда приходится прикладывать палец к призме десяток-другой раз, прежде чем он будет опознан, и довольно большие габариты по современным стандартам. Наличие подсветки можно считать и плюсом, и минусом, в зависимости от того, нужно ли привлекать к сканеру внимание по условиям проекта.FAQ
Говоря о том, что сканер морально устарел, что вы имеете ввиду?На данный момент рынок предлагает более современные решения, например, емкостный сканер. Он гораздо меньше, легче, быстрее и не требует подсветки. Примеры таких сканеров имеются почти во всех современных смартфонах. Однако он обычно значительно дороже.
Насколько надежен данный сканер с антивандальной и всепогодной точки зрения?
Предполагается, что большая его часть будет скрыта внутри основного устройства, для доступа извне следует оставлять лишь саму стеклянную призму. С этой стороны датчик не боится прямого попадания воды и способен выдержать довольно сильные удары. Но при желании сломать можно что угодно.
Насколько необходим адаптер?
Можно обойтись без него, но следует внимательнее ознакомиться с инструкцией по подключению. Провода имеют разный цвет и важно не перепутать один с другим, особенно это касается питания. Кроме того, потребуется источник питания на 3.3В, который есть на всех контроллерах.
Регулируется ли “строгость” опознавания пальца?
Да, согласно спецификации, сканер имеет 6 уровней “строгости”. Однако советуем не злоупотреблять перфекционизмом, это значительно увеличит время распознавания и любое небольшое изменение может стать критичным, например царапина на коже.