Учебное пособие по датчику отпечатков пальцев Arduino
Компоненты и расходные материалы
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Приложения и онлайн-сервисы
|
Об этом проекте
Дорогие друзья, добро пожаловать на очередной урок! Сегодня мы собираемся создать интересный проект Arduino, в котором используется модуль датчика отпечатков пальцев . . Без промедления, приступим!
Я всегда хотел попробовать модуль датчика отпечатков пальцев, чтобы узнать больше о его технологии и использовать его в некоторых своих проектах, чтобы добавить в них биометрическую безопасность.
Чтобы продемонстрировать простое использование датчика, был построен этот простой проект. Я подключил датчик к Arduino Nano, а также использую небольшой, но очень быстрый цветной TFT-дисплей 1,44 дюйма. Проект запрашивает действующий отпечаток пальца для разблокировки. Когда я кладу палец на датчик, он распознает мой палец, меняет цвет значка отпечатка пальца на зеленый и приветствует меня. Если моя девушка коснется сенсора пальцем, он также узнает ее и отобразит приветственное сообщение с ее именем. Если я коснусь сенсора другим пальцем, проект не разблокирует экран. Он работает нормально, и вы увидите, вы можете создать этот проект менее чем за 10 минут ! Посмотрим, как этого добиться!
Шаг 1. Получите все детали
Детали, необходимые для создания этого проекта, следующие:
- Arduino Nano ▶ http://educ8s.tv/part/ArduinoNano
- Модуль датчика отпечатков пальцев ▶ http://educ8s.tv/part/FingerprintSensor
- Цветной TFT-дисплей 1,44 дюйма ▶ http://bit.ly/144TFTLCD
- Маленькая макетная плата ▶ http://educ8s.tv/part/SmallBreadboard
- Некоторые провода ▶ http://bit.ly/Wires3InOne
- Powerbank ▶ http://educ8s.tv/part/Powerbank
Стоимость этого проекта составляет около 30 долларов. Если принять во внимание технологию, которую использует этот проект, то эта стоимость очень низкая. 10 лет назад подобные проекты стоили несколько сотен долларов!
Шаг 2. ЖК-дисплей 1,44 дюйма
Это отображение очень быстрое. Он использует драйвер ILI9163C. Он имеет разрешение 128x128 пикселей и может отображать до 260 000 цветов. Его очень легко использовать с Arduino, и он стоит около 4 долларов.
Дисплей использует протокол SPI для связи с платой Arduino. Нам нужно всего лишь подключить 8 проводов, чтобы он заработал. Приступим.
Подключение к Arduino
Vcc ▶ Вывод 5 В на Arduino
GND ▶ Вывод Arduino GND
CS ▶ Цифровой контакт 10
RST ▶ Цифровой вывод 9
A0 ▶ Цифровой контакт 8
SDA ▶ Цифровой вывод 11
SCK ▶ Цифровой вывод 13
Светодиод ▶ Вывод 3.3V Arduino
Как видите, этот дисплей очень легко использовать с Arduino. Он очень дешевый, очень быстрый, маленький по размеру и потребляет всего около 30 мА. Я думаю, что это хороший дисплей для использования в проектах, которые не требуют большого дисплея, но цвет подойдет.
Вы можете получить его здесь ▶ http://bit.ly/144TFTLCD
Шаг 3. Модуль датчика отпечатков пальцев
Модуль датчика отпечатков пальцев небольшой, красиво собран и использует внутри несколько усовершенствованных микросхем DSP (цифровой обработки сигналов).
Датчик работает так. Это оптический датчик, то есть он анализирует фотографию пальца. Затем он визуализирует изображение, производит некоторые вычисления, находит особенности этого пальца, а затем ищет в своей памяти отпечаток пальца с такими же характеристиками. Все это можно сделать менее чем за секунду!
Этот модуль может хранить до 1000 отпечатков пальцев в своей памяти, а уровень ложного принятия составляет менее 0,001%, что делает его довольно безопасным! Здорово! Мы получаем все это в очень простом в использовании модуле по очень низкой цене! Это действительно впечатляющая технология!
Вы можете получить его здесь ▶ http://educ8s.tv/part/FingerprintSensor
Шаг 4:Соединение частей
А теперь давайте соберем все части вместе.
Сначала нам нужно подключить модуль датчика отпечатков пальцев. Подключаем кабель сзади модуля. Пожалуйста, проверьте прикрепленное фото.
Подключение датчика отпечатков пальцев
Черный провод ▶ Arduino GND
Красный провод ▶ Arduino 5V
Зеленый провод ▶ Цифровой контакт 2
Белый провод ▶ Цифровой контакт 3
Теперь мы готовы подключить дисплей к Arduino.
Подключение дисплея
Vcc ▶ Вывод 5 В на Arduino
GND ▶ Вывод Arduino GND
CS ▶ Цифровой контакт 10
RST ▶ Цифровой вывод 9
A0 ▶ Цифровой контакт 8
SDA ▶ Цифровой вывод 11
SCK ▶ Цифровой вывод 13
Светодиод ▶ Вывод 3.3V Arduino
Вот и все! Мы готовы запустить проект. Как видите, работает нормально! Легко, правда?
Шаг 5:Код проекта
Давайте теперь посмотрим на программную сторону проекта и на то, как записать наши отпечатки пальцев во встроенную память модуля, чтобы распознать их.
Нам нужно скачать несколько библиотек. Прежде всего нам понадобится библиотека Adafruit Fingerprint, библиотека Adafruit GFX и библиотека Sumotoy для отображения.
https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/sumotoy/TFT_ILI9163C
Прежде всего, мы должны загрузить пример регистрации на нашу плату Arduino. Заходим в Файл -> Примеры -> Библиотека датчика отпечатков пальцев Adafruit -> Зарегистрироваться. С помощью этого примера программы мы можем хранить отпечатки пальцев во флэш-памяти модуля. Загружаем скетч и открываем Serial Monitor. Программа просит нас ввести идентификатор для регистрации. Затем мы дважды прикладываем палец к датчику в соответствии с инструкциями, и отпечаток пальца сохраняется! Таким образом можно сохранить до 1000 отпечатков пальцев!
Теперь загрузим код, который я разработал. Благодаря библиотекам Adafruit код проекта очень простой. Посмотрим небольшую часть кода.
void loop () {fingerprintID =getFingerprintID (); // Здесь мы сканируем отпечаток пальца delay (50); if (fingerprintID ==1) // Мы нашли действительный отпечаток пальца с идентификатором 1 {display.drawBitmap (30,35, icon, 60,60, GREEN); задержка (2000); displayUnlockedScreen (); displayIoanna (); задержка (5000); display.fillScreen (ЧЕРНЫЙ); displayLockScreen (); } if (fingerprintID ==2) // Мы нашли действительный отпечаток пальца с идентификатором 2 {display.drawBitmap (30,35, icon, 60,60, GREEN); задержка (2000); displayUnlockedScreen (); displayNick (); задержка (5000); display.fillScreen (ЧЕРНЫЙ); displayLockScreen (); }}
Мы запускаем сенсор и дисплей и проверяем наличие пальца на сенсоре каждые 50 мс. Если на датчике есть палец, мы запрашиваем у модуля поиск, зарегистрирован ли этот палец в его памяти. Если он находит отпечаток пальца в памяти, он возвращает идентификатор этого отпечатка. Затем он отображает приветственное сообщение и снова блокирует экран через несколько секунд.
Как всегда, вы можете найти код проекта в этом руководстве. Поскольку я время от времени обновляю код, для получения последней версии кода посетите веб-сайт проекта:http://educ8s.tv/arduino-fingerprint-sensor-module ...
Fingerprint.ino
Шаг 6:Заключительные мысли
Я действительно впечатлен производительностью и простотой использования этого модуля датчика отпечатков пальцев. При очень низких затратах мы можем добавить в наши проекты функции биометрической защиты. Это восхитительно. Подобные проекты были бы невозможны для производителя даже несколько лет назад. В этом красота и сила оборудования и программного обеспечения с открытым исходным кодом. После этого первого теста я собираюсь использовать модуль датчика отпечатков пальцев вместе с электрическим замком, чтобы увидеть, можем ли мы использовать этот датчик в реальной жизненной ситуации, так что следите за обновлениями. Пожалуйста, дайте мне знать, что вы думаете об этом датчике, в разделе комментариев ниже. Спасибо!
Код
- Фрагмент кода №1
Фрагмент кода №1 Обычный текст
void loop () {fingerprintID =getFingerprintID (); // Здесь мы сканируем отпечаток пальца delay (50); if (fingerprintID ==1) // Мы нашли действительный отпечаток пальца с идентификатором 1 {display.drawBitmap (30,35, icon, 60,60, GREEN); задержка (2000); displayUnlockedScreen (); displayIoanna (); задержка (5000); display.fillScreen (ЧЕРНЫЙ); displayLockScreen (); } if (fingerprintID ==2) // Мы нашли действительный отпечаток пальца с идентификатором 2 {display.drawBitmap (30,35, icon, 60,60, GREEN); задержка (2000); displayUnlockedScreen (); displayNick (); задержка (5000); display.fillScreen (ЧЕРНЫЙ); displayLockScreen (); }}
Github
https://github.com/sumotoy/TFT_ILI9163Chttps://github.com/sumotoy/TFT_ILI9163CGithub
https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Libraryhttps://github.com/adafruit/Adafruit-Fingerprint-Sensor-LibraryGithub
https://github.com/adafruit/Adafruit-GFX-Libraryhttps://github.com/adafruit/Adafruit-GFX-LibraryПроизводственный процесс
- In-Display Fingerprint Sensor
- Датчик освещенности Raspberry Pi:простое руководство по LDR
- Учебное пособие по блокировке RFID для Arduino
- Мониторинг CO2 с помощью датчика K30
- Какой ты рост?
- Емкостной датчик отпечатков пальцев с Arduino или ESP8266
- Башня датчика облаков Arduino
- Водяной пистолет с датчиком движения
- Мини-радар с Arduino
- Учебник по Arduino 01:Начало работы