Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Проект датчика отпечатков пальцев на Arduino Nano – Пошаговое руководство

Компоненты и материалы

Компонент Количество
Arduino Nano R3 1
Платы для макетирования (generic) 1
Датчик отпечатков пальцев 1
1.44″ LCD ILI9163C 1

Приложения и онлайн-сервисы

О проекте

Друзья, добро пожаловать в очередное руководство! Сегодня мы построим интересный проект на Arduino с использованием модуля датчика отпечатков пальцев. Без лишних задержек начнем!

Я всегда хотел попробовать модуль датчика отпечатков пальцев, чтобы узнать больше о его технологии и использовать его в своих проектах для добавления биометрической безопасности.

Для демонстрации простого использования датчика я создал этот проект. Датчик подключен к Arduino Nano, а также используется небольшой, но очень быстрый 1.44-дюймовый цветной TFT-дисплей. Проект запрашивает действительный отпечаток пальца для разблокировки. Когда я кладу палец на датчик, он распознает мой палец, меняет иконку отпечатка на зеленую и приветствует меня. Если моя девушка кладет палец, датчик тоже её распознает и выводит приветствие с её именем. Если приложить другой палец, экран не разблокируется. Всё работает отлично, и вы можете собрать этот проект менее чем за 10 минут! Давайте посмотрим, как это сделать.

Шаг 1: Приобретение всех деталей

Необходимые детали для сборки проекта:

Стоимость проекта около $30. Учитывая используемые технологии, это очень низкая цена. 10 лет назад подобные проекты стоили бы несколько сотен долларов!

Шаг 2: 1.44″ LCD-дисплей

Этот дисплей очень быстрый. Он использует драйвер ILI9163C. Разрешение 128x128 пикселей, может отображать до 260 000 цветов. Очень просто использовать с Arduino, стоимость около $4.

Дисплей использует протокол SPI для связи с Arduino. Нам нужно подключить всего 8 проводов. Начнем.

Подключение к Arduino

Как видите, дисплей очень прост в использовании с Arduino. Он дешевый, быстрый, компактный и потребляет всего около 30 мА. Я думаю, это отличный дисплей для проектов, где не нужен большой экран, но желательны цвета.

Купить можно здесь ▶ https://bit.ly/144TFTLCD

Шаг 3: Модуль датчика отпечатков пальцев

Модуль датчика отпечатков пальцев компактный, качественно выполненный и использует внутри продвинутые DSP-чипы (цифровую обработку сигналов).

Датчик работает так: это оптический датчик, который анализирует фотографию пальца. Затем он рендерит изображение, выполняет вычисления, находит особенности пальца и ищет в своей памяти отпечаток с такими же характеристиками. Всё это происходит менее чем за секунду!

Модуль может хранить до 1000 отпечатков в памяти, а коэффициент ложных срабатываний менее 0.001%, что делает его довольно безопасным! Отлично! Всё это в очень простом для использования модуле и по низкой цене! По-настоящему впечатляющая технология!

Купить можно здесь ▶ https://educ8s.tv/part/FingerprintSensor

Шаг 4: Подключение деталей

Теперь соберем все детали вместе.

Сначала подключаем модуль датчика отпечатков пальцев. Вставляем кабель в заднюю часть модуля. Проверьте прикрепленное фото.

Подключение датчика отпечатков пальцев

Теперь подключим дисплей к Arduino.

Подключение дисплея

Всё готово! Можно включать проект. Как видите, работает отлично! Просто, не правда ли?

Шаг 5: Код проекта

Теперь посмотрим на программную часть проекта и как записать наши отпечатки во встроенную память модуля для их распознавания.

Нам нужно скачать несколько библиотек. Во-первых, библиотеку Adafruit Fingerprint, библиотеку Adafruit GFX и библиотеку Sumotoy для дисплея.

Сначала загрузим пример регистрации (enroll) на Arduino. Перейдите в Файл → Примеры → Adafruit Fingerprint Sensor Library → Enroll. С этой программой можно сохранять отпечатки во FLASH-памяти модуля. Загружаем скетч и открываем Монитор последовательного порта. Программа попросит ввести ID для регистрации. Затем кладем палец на датчик дважды, как указано в инструкциях, и отпечаток сохраняется! Так можно сохранить до 1000 отпечатков!

Теперь загрузим код, который я разработал. Благодаря библиотекам Adafruit код проекта очень прост. Посмотрим небольшой фрагмент:

void loop() {
  fingerprintID = getFingerprintID(); // Сканируем отпечаток
  delay(50);
  if(fingerprintID == 1) { // Найден действительный отпечаток с ID 1
    display.drawBitmap(30,35,icon,60,60,GREEN);
    delay(2000);
    displayUnlockedScreen();
    displayIoanna();
    delay(5000);
    display.fillScreen(BLACK);
    displayLockScreen();
  }
  if(fingerprintID == 2) { // Найден действительный отпечаток с ID 2
    display.drawBitmap(30,35,icon,60,60,GREEN);
    delay(2000);
    displayUnlockedScreen();
    displayNick();
    delay(5000);
    display.fillScreen(BLACK);
    displayLockScreen();
  }
}

Мы запускаем датчик и дисплей, проверяем наличие пальца на датчике каждые 50 мс. Если палец есть, просим модуль найти его в памяти. Если находит, возвращает ID отпечатка. Затем выводит приветствие и снова блокирует экран через несколько секунд.

Как всегда, код проекта можно найти во вложениях. Поскольку я время от времени обновляю код, для последней версии посетите сайт проекта: https://educ8s.tv/arduino-fingerprint-sensor-module...

Шаг 6: Заключительные мысли

Я действительно впечатлен производительностью и простотой использования этого модуля датчика отпечатков пальцев. С очень низкой стоимостью мы можем добавить биометрическую безопасность к нашим проектам. Это потрясающе. Проекты вроде этого были бы невозможны для энтузиастов даже несколько лет назад. В этом красота и сила открытого аппаратного и программного обеспечения. После этого первого теста я планирую использовать датчик отпечатков пальцев вместе с электрическим замком, чтобы проверить, можно ли использовать этот датчик в реальных условиях, так что следите за обновлениями. Пожалуйста, делитесь своими мыслями об этом датчике в комментариях ниже. Спасибо!

Код

Фрагмент кода #1

void loop() {
  fingerprintID = getFingerprintID();
  delay(50);
  if(fingerprintID == 1) {
    display.drawBitmap(30,35,icon,60,60,GREEN);
    delay(2000);
    displayUnlockedScreen();
    displayIoanna();
    delay(5000);
    display.fillScreen(BLACK);
    displayLockScreen();
  }
  if(fingerprintID == 2) {
    display.drawBitmap(30,35,icon,60,60,GREEN);
    delay(2000);
    displayUnlockedScreen();
    displayNick();
    delay(5000);
    display.fillScreen(BLACK);
    displayLockScreen();
  }
}

Полезные ссылки

Производственный процесс

  1. Датчик отпечатка пальца под экраном: эволюция, технологии и преимущества
  2. Учебник по датчику света на Raspberry Pi: подключение фоторезистора и чтение уровня освещенности на Python
  3. Создание надежного RFID-замка на Arduino — пошаговое руководство
  4. Датчик CO2 K30: мониторинг качества воздуха в реальном времени на Arduino
  5. Цифровой стадиометр на Arduino: отслеживание роста лазерным датчиком VL53L0X
  6. Интеграция ёмкостного сканера отпечатков DFRobot с Arduino или ESP8266
  7. Сенсорная башня на Arduino Cloud: Мониторинг температуры, движения и газа
  8. Умный водяной пистолет с датчиком движения на Arduino Nano
  9. Компактный радар на Arduino Nano с HC-SR04 и дисплеем 1.8"
  10. Урок Arduino для начинающих 01: Начало работы с первым проектом