Ёмкостный сканер отпечатков пальцев (встраиваемый): инструкция, подключение, примеры использования и документация

Используйте оптический сканер для управления электроникой с помощью биометрических данных или создания системы учёта рабочего времени. Сенсор отпечатков пальцев подружит дактилоскопическую идентификацию пользователей с миром Arduino или Raspberry Pi. 

Режим работы через COM-порт

Сканер общается с управляющей платой по протоколу UART. В зависимости от управляющей платформы выберите вариант подключения.

HardwareSerial

На управляющей плате Iskra JS и Arduino платах с микроконтроллером ATmega32U4 / ATSAMD21G18, интерфейс UART выведен на контактные пины, а данные по USB переедаются через виртуальный COM-порт. Это даёт возможность одновременно подключить Barcode-модуль к аппаратному UART и выполнять отладку по USB.

Список поддерживаемых плат:

Схема подключения

При подключении к платам формата Arduino R3 удобно использовать Troyka Shield.

В иллюстрации ошибка. Питание сенсора должно быть строго 3,3 вольта.

Исходный код

В качестве примера все сканированные штрихкоды выведем в консоль.

barcodeReadingHardwareSerial.ino
// serial-порт к которому подключён Barcode-модуль
#define BARCODE_SERIAL    Serial1
 
void setup()
{
  // открываем последовательный порт для мониторинга действий в программе
  // и передаём скорость 9600 бод
  Serial.begin(9600);
  // ждём, пока не откроется монитор последовательного порта
  // для того, чтобы отследить все события в программе
  while (!Serial) {
  }
  Serial.println("Serial init OK");
  // открываем Serial-соединение с Barcode-модулем на скорости 9600 бод
  BARCODE_SERIAL.begin(9600);
  // печатаем строку
  Serial.println("Init is OK");
  // печатаем строку
  Serial.print("Init is OK on speed 9600");
}
 
void loop()
{
  // если приходят данные из Barcode-модуля - отправим их в порт компьютера
  if (BARCODE_SERIAL.available()) {
    Serial.write(BARCODE_SERIAL.read());
  }
  // если приходят данные из компьютера - отправим их в Barcode-модуль
  if (Serial.available()) {
    BARCODE_SERIAL.write(Serial.read());
  }
}

SoftwareSerial

На управляющих платформах Arduino с микроконтроллером ATmega328 / ATmega2560, интерфейс UART выведен на контактные пины платы и он же используется для отладки по USB. Это означает невозможность использовать одновременно прошивку/отладку по USB и общение с Barcode-модулем. Решение проблемы — программный UART. Подключите пины TX и RX Barcode модуля к другим контактам управляющей платы и используйте библиотеку SoftwareSerial.

Схема подключения

Для примера подключим управляющие пины сканера TX и RX — на 10 и 11 контакты управляющей платы.

При подключении удобно использовать Troyka Shield.

В иллюстрации ошибка. Питание сенсора должно быть строго 3,3 вольта.

Исходный код

В качестве примера все сканированные штрихкоды выведем в консоль.

barcodeReadingSoftserial.ino
// библиотека для работы программного Serial
#include <SoftwareSerial.h>
 
// создаём объект для работы с программным Serial
// и назначаем ему пины RX и TX
SoftwareSerial mySerial(10, 11);
 
// serial-порт к которому подключён Barcode-модуль
#define BARCODE_SERIAL    mySerial
 
void setup()
{
  // открываем последовательный порт для мониторинга действий в программе
  // и передаём скорость 9600 бод
  Serial.begin(9600);
  // ждём, пока не откроется монитор последовательного порта
  // для того, чтобы отследить все события в программе
  while (!Serial) {
  }
  Serial.print("Serial init OK");
  // открываем Serial-соединение с Barcode-модулем на скорости 9600 бод
  BARCODE_SERIAL.begin(9600);
  // печатаем строку
  Serial.println("Init is OK");
  // печатаем строку
  Serial.print("Init is OK on speed 9600");
}
 
void loop()
{
  // если приходят данные из Barcode-модуля - отправим их в порт компьютера
  if (BARCODE_SERIAL.available()) {
    Serial.write(BARCODE_SERIAL.read());
  }
  // если приходят данные из компьютера - отправим их в Barcode-модуль
  if (Serial.available()) {
    BARCODE_SERIAL.write(Serial.read());
  }
}

HardwareSerial Mega

На платформах форм-фактора Arduino Mega 2560 интерфейс UART выведен на контактные пины платы и он же используется для отладки по USB. Это означает невозможность использовать одновременно прошивку/отладку по USB и общение с Barcode-модулем.

Но на платах такого форм-фактора есть ещё дополнительно три аппаратных 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.

В иллюстрации ошибка. Питание сенсора должно быть строго 3,3 вольта.

Исходный код

В качестве примера все сканированные штрихкоды выведем в консоль.

barcodeReadingHardwareSerial.ino
// serial-порт к которому подключён Barcode-модуль
#define BARCODE_SERIAL    Serial2
 
void setup()
{
  // открываем последовательный порт для мониторинга действий в программе
  // и передаём скорость 9600 бод
  Serial.begin(9600);
  // ждём, пока не откроется монитор последовательного порта
  // для того, чтобы отследить все события в программе
  while (!Serial) {
  }
  Serial.println("Serial init OK");
  // открываем Serial-соединение с Barcode-модулем на скорости 9600 бод
  BARCODE_SERIAL.begin(9600);
  // печатаем строку
  Serial.println("Init is OK");
  // печатаем строку
  Serial.print("Init is OK on speed 9600");
}
 
void loop()
{
  // если приходят данные из Barcode-модуля - отправим их в порт компьютера
  if (BARCODE_SERIAL.available()) {
    Serial.write(BARCODE_SERIAL.read());
  }
  // если приходят данные из компьютера - отправим их в Barcode-модуль
  if (Serial.available()) {
    BARCODE_SERIAL.write(Serial.read());
  }
}

Характеристики

  • Микроконтроллер: Anviz ANV401
  • Сенсор: ёмкостный
  • Разрешение отпечатка: 192×192
  • Плотность сканирования: 508 точек на дюйм
  • Кол-во сохранённых отпечатков: 500
  • Кол-во уровней доступа пользователей: 10
  • Ложные положительные срабатывания: 0,001%
  • Ложные отрицательные срабатывания: 0,1%
  • Время сравнения отпечатка: 0,5 с
  • Устойчивость к электростатическому разряду: 15 кВ (воздух), 8 кВ (контакт)
  • Интерфейсы: UART
  • Напряжение питания: 3,3 В
  • Ток потребления: <50 мА (рабочий режим), <16 мА (режим сна)
  • Габариты сканера: 19×19×6 мм

Ресурсы