- Необходимые компоненты:
- Модуль датчика отпечатков пальцев с Arduino:
- Рабочее объяснение:
- Описание схемы:
- Пояснение к программе:
Безопасность является серьезной проблемой в нашей повседневной жизни, и цифровые замки стали важной частью этих систем безопасности. Есть много типов систем безопасности, чтобы обезопасить нас. Некоторыми примерами являются система безопасности на основе PIR, система безопасности на основе RFID, система цифрового замка, биоматричные системы, электронный кодовый замок. В этом посте мы свяжем модуль датчика отпечатков пальцев с Arduino и создадим биометрическую систему безопасности на основе отпечатков пальцев с дверным замком. Отпечаток пальца считается одним из самых безопасных ключей для блокировки или разблокировки любой системы, поскольку он может однозначно распознать любого человека и не может быть легко скопирован.
Необходимые компоненты:
- Ардуино Уно
- Модуль отпечатков пальцев
- Кнопка -4
- Светодиоды -2
- Резистор 1К -3
- Резистор 2.2К -1`
- Источник питания
- Соединительные провода
- Картонная коробка
- Серводвигатель -1
- 16x2 ЖК-1
- Хлебная доска -1
Модуль датчика отпечатков пальцев с Arduino:
Модуль датчика отпечатка пальца или сканер отпечатка пальца - это модуль, который захватывает изображение отпечатка пальца, затем преобразует его в эквивалентный шаблон и сохраняет их в своей памяти на выбранном идентификаторе (месте) с помощью Arduino. Здесь всем процессом управляет Arduino, например, снятие изображения отпечатка пальца, преобразование его в шаблоны, сохранение местоположения и т. Д.
В этом проекте датчика отпечатков пальцев Arduino мы использовали модуль датчика отпечатков пальцев для получения отпечатка пальца или большого пальца в качестве входного сигнала в систему. Здесь мы используем 4 кнопки для регистрации / возврата, удаления / OK, вверх и вниз. Каждая клавиша имеет двойные функции. Клавиша регистрации используется для регистрации нового слепка пальца в системе, а также для функции спины. Означает, что когда пользователь хочет зарегистрировать новый палец, ему / ей нужно нажать клавишу регистрации, после чего ЖК-дисплей запрашивает идентификатор или место, где пользователь хочет сохранить отпечаток пальца. Теперь, если в это время пользователь не хочет продолжать, он / она может снова нажать кнопку регистрации, чтобы вернуться (на этот раз кнопка регистрации действует как кнопка возврата). Означает, что ключ регистрации имеет функцию регистрации и возврата. Клавиша DEL / OKтакже имеет ту же двойную функцию, как когда пользователь регистрирует новый палец, тогда ему / ей нужно выбрать идентификатор пальца или местоположение с помощью еще двух клавиш, а именно UP / MATCH И DOWN / MATCH (который также имеет двойную функцию), теперь пользователю нужно нажать DEL / OK (на этот раз эта клавиша ведет себя как OK), чтобы продолжить с выбранным идентификатором или местоположением. Клавиши ВВЕРХ / ВНИЗ также поддерживают функцию сопоставления отпечатков пальцев. Проверьте видео в конце для полной демонстрации.
Здесь мы также прикрепили картонную коробку с серводвигателем, который действует как ворота безопасности, которые открываются только тогда, когда система считывает правильный отпечаток пальца. Желтый светодиод указывает на то, что ворота закрыты, а зеленый светодиод указывает на открытие ворот.
Рабочее объяснение:
Работа этого дверного замка с датчиком отпечатков пальцевэто просто. В этом проекте мы использовали ворота, которые открываются, когда мы помещаем сохраненный палец в модуль отпечатков пальцев. Прежде всего, пользователю необходимо зарегистрировать палец с помощью кнопки / клавиш. Для этого пользователю необходимо нажать кнопку ENROLL, после чего на ЖК-дисплее появится запрос на ввод местоположения / идентификатора, где finger будет магазином. Итак, теперь пользователю необходимо ввести идентификатор (местоположение) с помощью клавиш ВВЕРХ / ВНИЗ. После выбора местоположения / идентификатора пользователю необходимо нажать кнопку OK (клавишу DEL). Теперь ЖК-экран попросит приложить палец к модулю отпечатка пальца. Теперь пользователю нужно положить палец на модуль отпечатков пальцев. Затем ЖК-дисплей попросит убрать палец с модуля отпечатка пальца и снова попросит приложить палец. Теперь пользователю нужно снова положить палец на модуль отпечатков пальцев.Теперь модуль отпечатка пальца берет изображение, преобразует его в шаблоны и сохраняет его по выбранному идентификатору в памяти модуля отпечатка пальца. Теперь пользователь может открыть ворота, поместив тот же палец, который он / она добавил или зарегистрировал в системе, а затем нажмите клавишу MATCH (клавишу ВВЕРХ / ВНИЗ). Таким же способом пользователь может добавить больше пальцев. Посмотрите видео ниже для полной демонстрации.
Теперь, если пользователь хочет удалить или удалить какой-либо из сохраненных идентификаторов, ему / ей нужно нажать клавишу DEL, после нажатия клавиши DEL, ЖК-дисплей попросит выбрать местоположение означает выбрать идентификатор, который будет удален. Теперь пользователю нужно выбрать ID и нажать кнопку OK (та же кнопка DEL). Теперь ЖК-дисплей сообщит вам, что палец был успешно удален. Теперь пользователь может проверить, был ли он удален, поместив тот же палец на модуль отпечатка пальца и нажав клавишу MATCH (клавиши ВВЕРХ / ВНИЗ).
Когда установленный палец будет действительным, зеленый светодиод будет светиться в течение пяти секунд, и одновременно с этим открывается дверь. Через 5 секунд ворота закроются автоматически. Пользователь может настроить открытие и закрытие ворот / дверей в соответствии со своими требованиями. Сервомотор отвечает за открытие и закрытие ворот.
Описание схемы:
Схема этой системы защиты от отпечатков пальцев Arduino очень проста, она содержит Arduino, который контролирует весь процесс проекта, кнопку, зуммер и ЖК-дисплей. Arduino контролирует все процессы.
Кнопка напрямую подключена к контакту D14 (ENROLL), D15 (DEL), D16 (UP) и D17 (DOWN) Arduino по отношению к земле, а желтый светодиод подключен к цифровому контакту D7 Arduino по отношению к земле через Резистор 1 кОм и зеленый светодиод подключаются к D6 Arduino тем же способом. Rx и Tx модуля Finger Print Module напрямую подключены к программному последовательному или цифровому контакту D2 и D3 Arduino. Источник питания 5 В используется для питания модуля отпечатков пальцев, снятого с платы Arduino, а серводвигатель также подключен к выводу D5 PWM Arduino. ЖК-дисплей 16x2 настроен в 4-битном режиме, а его RS, EN, D4, D5, D6 и D7 напрямую подключены к цифровому выводу D13, D12, D11, D10, D9 и D8 Arduino.
Примечание: здесь D14, D15, D16, D17 - это A0, A1, A2, A3 соответственно.
Пояснение к программе:
В программе мы использовали библиотеку датчиков отпечатков пальцев Adafruit для взаимодействия модуля отпечатков пальцев с платой Arduino. Вы можете проверить полный код ниже, его легко понять. Здесь мы объясняем основные функции программы Arduino.
Приведенный ниже фрагмент кода используется для ввода отпечатка пальца и принятия мер в соответствии с проверкой пальца. Если палец будет подтвержден, ворота будут открыты, иначе останутся закрытыми.
для (int я = 0; я <5; я ++) {lcd.clear (); lcd.print («Поместите палец»); задержка (2000); int result = getFingerprintIDez (); если (результат> = 0) {digitalWrite (openLight, HIGH); digitalWrite (closeLight, LOW); lcd.clear (); lcd.print («Разрешено»); lcd.setCursor (0,1); lcd.print ("Gete Opened"); myServo.write (0); задержка (5000); myServo.write (180); digitalWrite (closeLight, HIGH); digitalWrite (openLight, LOW); lcd.setCursor (0,1); lcd.print («Ворота закрыты»);
Данная функция void checkKeys () используется для проверки того, нажата ли клавиша Enroll или DEL и что делать, если она нажата. Если нажата клавиша ENROLL, вызывается функция Enroll () и нажимается клавиша DEL, вызывается функция delete () .
void checkKeys () {если (digitalRead (enroll) == 0) {lcd.clear (); lcd.print («Подождите»); задержка (1000); while (digitalRead (enroll) == 0); Enroll (); } иначе, если (digitalRead (del) == 0) {lcd.clear (); lcd.print («Подождите»); задержка (1000); delet (); }}
Данная функция используется для ввода удаляемого идентификатора и вызова функции uint8_t deleteFingerprint (uint8_t id) , которая удаляет палец из записей.
void delet () {int count = 0; lcd.clear (); lcd.print («Удалить палец»); lcd.setCursor (0,1); lcd.print ("Местоположение:"); в то время как (1) {lcd.setCursor (9,1); lcd.print (количество); если (digitalRead (вверх) == 0) {счет ++; если (count> 25) count = 0; задержка (500); }……………….
Данная функция используется для удаления отпечатка пальца из записи выбранного идентификатора.
uint8_t deleteFingerprint (uint8_t id) {uint8_t p = -1; lcd.clear (); lcd.print («Подождите»); p = finger.deleteModel (id); if (p == FINGERPRINT_OK) {Serial.println ("Удалено!"); lcd.clear (); lcd.print ("Фигер удален"); lcd.setCursor (0,1); lcd.print («Успешно»); задержка (1000); } else {Serial.print ("Что-то не так"); lcd.clear (); lcd.print («Что-то не так»); lcd.setCursor (0,1); lcd.print («Попробовать позже»); задержка (2000); return p; }}
Данная функция используется для получения изображения отпечатка пальца, преобразования его в шаблон и сохранения его по выбранному идентификатору в памяти модуля отпечатка пальца.
uint8_t getFingerprintEnroll () {int p = -1; lcd.clear (); lcd.print ("идентификатор пальца:"); lcd.print (id); lcd.setCursor (0,1); lcd.print («Поместите палец»); задержка (2000); в то время как (p! = FINGERPRINT_OK) {p = finger.getImage ();…………………
Вот как мы можем использовать Arduino с модулем считывания отпечатков пальцев для системы безопасности.