Ёмкостный сканер отпечатков пальцев: инструкция, подключение, примеры использования и документация
Используйте оптический сканер для управления электроникой с помощью биометрических данных или создания системы учёта рабочего времени. Сенсор отпечатков пальцев подружит дактилоскопическую идентификацию пользователей с миром Arduino или Raspberry Pi.
Режим работы через USB
Сканер штрихкодов работает напрямую с компьютером без всяких приложений: он притворяется типовой USB-клавиатурой и выдаёт считанные данные в виде строки текста. Именно такой режим работы задан по умолчанию.
Режим работы через COM-порт
Barcode сканер общается с управляющей платой по протоколу UART. В зависимости от управляющей платформы выберите вариант подключения.
HardwareSerial
На управляющей плате Iskra JS и Arduino платах с микроконтроллером ATmega32U4 / ATSAMD21G18
, интерфейс UART выведен на контактные пины, а данные по USB переедаются через виртуальный COM-порт. Это даёт возможность одновременно подключить модуль к аппаратному UART и выполнять отладку по USB.
Список поддерживаемых плат:
Схема подключения
При подключении к платам формата Arduino R3 удобно использовать Troyka Shield.
Исходный код
В качестве примера все сканированные штрихкоды выведем в консоль.
- fingerReadingHardwareSerial.ino
// serial-порт к которому подключён fingerprint scanner #define FINGER_SERIAL Serial1 void setup() { // открываем последовательный порт для мониторинга действий в программе // и передаём скорость 9600 бод Serial.begin(9600); // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе while (!Serial) { } Serial.println("Serial init OK"); // открываем Serial-соединение с fingerprint scanner на скорости 9600 бод FINGER_SERIAL.begin(9600); // печатаем строку Serial.println("Fingerprint scanner init is OK"); // печатаем строку Serial.print("Fingerprint scanner init is OK on speed 9600"); } void loop() { // если приходят данные из Barcode-модуля - отправим их в порт компьютера if (FINGER_SERIAL.available()) { Serial.write(FINGER_SERIAL.read()); } // если приходят данные из компьютера - отправим их в fingerprint scanner if (Serial.available()) { FINGER_SERIAL.write(Serial.read()); } }
SoftwareSerial
На управляющих платформах Arduino с микроконтроллером ATmega328 / ATmega2560
, интерфейс UART выведен на контактные пины платы и он же используется для отладки по USB. Это означает невозможность использовать одновременно прошивку/отладку по USB и общение со сканером отпечатков пальца. Решение проблемы — программный UART. Подключите пины TX
и RX
модуля к другим контактам управляющей платы и используйте библиотеку SoftwareSerial.
Схема подключения
Для примера подключим управляющие пины сканера TX
и RX
— на 10
и 11
контакты управляющей платы.
При подключении удобно использовать Troyka Shield.
Исходный код
В качестве примера все сканированные штрихкоды выведем в консоль.
- fingerReadingSoftserial.ino
// библиотека для работы программного Serial #include <SoftwareSerial.h> // создаём объект для работы с программным Serial // и назначаем ему пины RX и TX SoftwareSerial mySerial(10, 11); // serial-порт к которому подключён fingerprint scanner #define FINGER_SERIAL mySerial void setup() { // открываем последовательный порт для мониторинга действий в программе // и передаём скорость 9600 бод Serial.begin(9600); // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе while (!Serial) { } Serial.print("Serial init OK"); // открываем Serial-соединение с fingerprint scanner на скорости 9600 бод FINGER_SERIAL.begin(9600); // печатаем строку Serial.println("fingerprint scanner init is OK"); // печатаем строку Serial.print("fingerprint scanner init is OK on speed 9600"); } void loop() { // если приходят данные из fingerprint scanner - отправим их в порт компьютера if (FINGER_SERIAL.available()) { Serial.write(FINGER_SERIAL.read()); } // если приходят данные из компьютера - отправим их в fingerprint scanner if (Serial.available()) { FINGER_SERIAL.write(Serial.read()); } }
HardwareSerial Mega
На платформах форм-фактора Arduino Mega 2560 интерфейс UART выведен на контактные пины платы и он же используется для отладки по USB. Это означает невозможность использовать одновременно прошивку/отладку по USB и общение со сканером отпечатков пальцев.
Но на платах такого форм-фактора есть ещё дополнительно три аппаратных UART:
Serial1:
пины 19(RX1) и 18(TX1);Serial2:
пины 17(RX2) и 16(TX2);Serial3:
пины 15(RX3) и 14(TX3).
Список поддерживаемых плат:
Схема подключения
Для примера подключим управляющие пины сканера TX
и RX
к аппаратному интерфейсу UART Serial2
— на 17
и 16
контакты управляющей платы.
При подключении удобно использовать Troyka Mega Tail Shield.
Исходный код
В качестве примера все сканированные штрихкоды выведем в консоль.
- fingerReadingHardwareSerial.ino
// serial-порт к которому подключён fingerprint scanner #define FINGER_SERIAL Serial2 void setup() { // открываем последовательный порт для мониторинга действий в программе // и передаём скорость 9600 бод Serial.begin(9600); // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе while (!Serial) { } Serial.println("Serial init OK"); // открываем Serial-соединение с Barcode-модулем на скорости 9600 бод FINGER_SERIAL.begin(9600); // печатаем строку Serial.println("fingerprint scanner init is OK"); // печатаем строку Serial.print("fingerprint scanner init is OK on speed 9600"); } void loop() { // если приходят данные из fingerprint scanner - отправим их в порт компьютера if (FINGER_SERIAL.available()) { Serial.write(FINGER_SERIAL.read()); } // если приходят данные из компьютера - отправим их в fingerprint scanner if (Serial.available()) { FINGER_SERIAL.write(Serial.read()); } }
Габаритные чертежи
Габариты платы управления
Габариты сенсора
Характеристики
- Микроконтроллер: STM32F205
- Сенсор: ёмкостный
- Разрешение отпечатка: 192×256
- Плотность сканирования: 508 точек на дюйм
- Кол-во сохранённых отпечатков: 1000 (с возможностью расширения до 4000)
- Кол-во уровней доступа пользователей: 10
- Ложные положительные срабатывания: 0,0001%
- Ложные отрицательные срабатывания: 0,01%
- Время сравнения отпечатка: 1 с
- Устойчивость к электростатическому разряду: 15 кВ (воздух), 8 кВ (контакт)
- Интерфейсы: UART, USB
- Напряжение питания: 3,3–5 В
- Ток потребления: <40 мА
- Габариты модуля управления: 45×30 мм
- Габариты считывателя: 33×20 мм