Giới thiệu cảm biến vân tay
Thực hành làm cỗ khóa cửa thông minh

1. Giới thiệu cảm biến vân tay


*

Công nghệ cảm ứng vân tay ngày dần thông dụng và phát triển. Không chỉ được áp dụng để tích phù hợp tính năng bảo mật trên những dòng điện thoại thông minh đời mới. Công nghệ chạm màn hình vân tay còn được vận dụng tích đúng theo vào các thiết bị hiện đại khác như: Laptop, Tivi, Khóa cửa, vật dụng chấm công…. Vậy cảm ứng vân tay là gì? Hãy cùng Nshop tìm hiểu để biết về tính chất năng, cùng cách hoạt động của công nghệ cảm ứng vân tay nhé.

Bạn đang xem: Cảm biến vân tay arduino

Định nghĩa:

Cảm đổi thay vân tay giỏi còn mang tên gọi không giống là cảm ứng nhận diện vân tay là 1 trong những dạng lưu trữ vân tay của người tiêu dùng bằng technology sinh trắc học tập với những loại sóng khác nhau, sau đó lưu lại những mặt phẳng lồi lõm với cả lớp da của tay để lưu lại nhằm đảm bảo tính bảo mật khi người tiêu dùng đăng nhập vào thiết bị.

Nguyên lý hoạt động:

Về cơ bản, cảm thay đổi vân tay là 1 trong những hệ thống có chức năng lưu bạn dạng in vân tay của người dùng một cách gấp rút nhờ một khối hệ thống được đặt dưới form quét. Người tiêu dùng đặt tay lên form quét với các cảm biến trên form quét đã lưu lại các hình hình ảnh đó và các phân mềm, vi xử lý sẽ so với hình ảnh này theo các vị trí lồi/lõm trên đầu ngón tay của bạn. Lúc để ngón tay lên trên một máy đọc lốt vân tay, ngay nhanh chóng thiết bị này đã quét hình hình ảnh ngón tay kia và gửi vào hệ thống. Hệ thống sẽ xử lý dấu vân tay, đưa sang dạng dữ liệu số rồi đối chiếu các đặc điểm của vân tay kia với dữ liệu đã được tàng trữ trong hệ thống.

Ưu điểm yếu kém của cảm ứng vân tay:

Ưu điểm:

So với các thiết bị thông thường việc unlock bằng cảm biến vân tay sẽ cấp tốc hơn cùng với độ tinh tế cao: chỉ cần chạm hoặc vuốt nhẹ
Không cần ghi nhớ mật khẩu, tiện lợi thao tác, tiếp cận thuận lợi với bạn dùng
Có tính bảo mật, xác thực cao: bởi vân tay của mỗi người là không giống nhau

Nhược điểm:

Không thể mở đồ vật nếu vân tay của người tiêu dùng bị xước, biến dạng mà không có phương án dự phòng
Cảm vươn lên là vân tay là một hệ thống xác thực, không tồn tại chức năng bảo vệ dữ liệu. Chính vì vậy tín đồ khác có thể sử dụng ngón tay của bạn unlock thiết bị khi chúng ta ngủ hoặc mất ý thức.Phân loại cảm ứng vân tay

Cảm biến chuyển này sẽ sử dụng một camera chuyên dụng để chụp lại hình hình ảnh của vệt vân tay trên mặt phẳng kính, bề mặt kính của cảm biến loại này được phủ một lớp cấu tạo từ chất đặc biệt giúp dấu vân tay hiển thị được rõ rệt hơn trên mặt phẳng lớp mặt kính. Bức hình ảnh sau khi được khối hệ thống camera chụp lại sẽ tiến hành nén lại và gửi sang biểu lộ số nhằm chuyển đến khối xử trí hình hình ảnh phía sau.

Công nghệ này còn có nhược điểm là thừa nhận dạng vân tay lâu. Thiếu độ đúng đắn cao, tài năng xử lý lốt vân tay mất quá nhiều thời gian hơn so với các loại khác.


*

Cảm phát triển thành điện dung:

Cảm biết nhiều loại này dựa trên nguyên lý cảm ứng điện từ, mặt phẳng cảm biến sẽ được bố trí một ma trận tụ điện, ma trận này sẽ sở hữu được nhiệm vụ tái sản xuất lại hình hình ảnh vân tay khi được mang mẫu. Khi ngón tay của người tiêu dùng đặt trên mặt phẳng cảm biến, ngay mau lẹ nó sẽ làm cho sự thay đổi điện dung trong từng bé tụ trên ma trận tụ điện, tùy theo độ nông sâu của vệt vân tay sinh sống từng điểm mà trị số tụ điện đang khác nhau. Phụ thuộc vào trị số năng lượng điện dung sinh hoạt từng node hệ thống sẽ dựng lại ảnh vân tay trên ngón vừa lấy mẫu để nhờ cất hộ về khối giải pháp xử lý và so sánh.

Cảm thay đổi loại này có kết cấu mỏng và bao gồm độ bảo mật thông tin cao hơn cảm biến quang học chính vì như vậy nó được áp dụng ở những thiết bị cá nhân như máy điện thoại di hễ hoặc một vài dòng thiết bị cao cấp khác.


*

Ứng dụng của cảm ứng vân tayHệ thống khóa cửa ngõ vân tay
Két sắt
Máy chấm công
Kiểm soát ra vào
Điện thoại thông minh…

2. Hướng dẫn sử dụng cảm ứng vân tay cùng với Arduino

Để sử dụng cảm biến vân tay với arduino ta cần sẵn sàng một cảm ứng vân tay, board mạch Arduino, máy tính đã thiết đặt Arduino. Các chúng ta có thể tham khảo các thành phầm có sẵn tại shop:

Board Arduino
Cảm trở thành vân tay:Cảm biến quang học:Cảm biến điện dung:

Sau khi download và thiết lập phần mềm tiến hành cài thư viện cho cảm ứng vân tay:

Link thư viện: https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library

Tiến hành kết nối cảm biến với Arduino theo sơ vật dụng sau:

Cảm biến chuyển vân tay Arduino Uno

5V —> 5V

TX —> 2

RX —> 3

0V —> GND

Ở phía trên mình sử dụng cảm biến R307, một cảm biến sẽ tất cả một sơ vật dụng chân khác nhau, chúng ta cần xác minh đúng chân trước khi kết nối:


*


Như vậy là bọn họ đã khám nghiệm được cảm ứng vân tay hoạt tốt, từ kia ta có thể kết hợp với các linh phụ kiện khác để tạo nên thành một sản phẩm hoàn hảo theo ý muốn.

3. Thực hành: làm cỗ khóa cửa bằng cảm ứng vân tay hoàn chỉnh

Để triển khai một bộ khóa cửa ngõ hoàn chỉnh, chúng ta cần chuẩn bị các linh kiện sau:

Arduino UNO R3 DIP x1Cảm trở thành nhận dạng vân tay R307 x1LCD 1602 kèm module I2C x1Module 1 Relay cùng với Opto phương pháp Ly Kích H/L (5VDC) x1Khóa Chốt Điện từ LY-03 12VDC x1Nút nhấn x4

Sơ đồ gia dụng kết nối:

*

Hướng dẫn sử dụng:

Đăng kí vân tay: nhận nút Enroll để đăng kí vân tay, chọn add lưu ID vân tay bằng cách nhấn Up hoặc Down kế tiếp nhấn Ok. Đặt ngón tay đề xuất đăng kí vào cảm ứng cho mang lại khi màn hình hiển thị báo Stored!.

Xóa vân tay: nhận nút Del nhằm xóa vân tay, chọn add ID mà bạn cần xóa bằng cách nhấn UP hoặc Down tiếp nối nhấn Ok. Screen báo Figer Deleted Successfully là thành công.

Mở khóa năng lượng điện từ: nhận giữ Up/Down 2s để bắt đầu kiểm tra, hôm nay đặt ngón tay vào cảm biến, nếu vân tay đúng khóa năng lượng điện từ sẽ tự động mở 5s sau đó đóng; trường hợp vân tay ko đúng màn hình hiển thị sẽ báo Finger Not Found Try Later và khóa chốt sẽ không còn mở.

Code:

#includeLiquid
Crystal_I2C
.h>Liquid
Crystal_I2C
lcd(0x27, 16, 2);#include Software
Serial
.h>#include Adafruit_Fingerprint.h>Software
Serial
finger
Print(2, 3);Adafruit_Fingerprint finger = Adafruit_Fingerprint(&finger
Print);uint8_t id;#define enroll A0#define del A1#define up A2#define down A3#define open
Light 4#define close
Light 5#define door 6void setup() // put your thiết đặt code here, to lớn run once: lcd.begin(); delay(100); Serial.begin(9600); pin
Mode(enroll, INPUT_PULLUP); pin
Mode(up, INPUT_PULLUP); pin
Mode(down, INPUT_PULLUP); pin
Mode(del, INPUT_PULLUP); pin
Mode(open
Light, OUTPUT); pin
Mode(close
Light, OUTPUT); pin
Mode(door, OUTPUT); digital
Write(door, LOW); lcd.begin(); lcd.print("Cam Bien Van Tay"); lcd.set
Cursor(0,1); lcd.print(" by Nshop"); delay(2000); finger.begin(57600); Serial.begin(9600); lcd.clear(); lcd.print("Finding Module"); lcd.set
Cursor(0,1); delay(1000); if (finger.verify
Password()) Serial.println("Found fingerprint sensor!"); lcd.clear(); lcd.print("Found Module "); delay(1000); else lcd.clear(); lcd.print("Module not Found"); lcd.set
Cursor(0,1); lcd.print("Check Connections"); while (1); void loop() digital
Read(down)==0) for(int i=0;i5;i++) lcd.clear(); lcd.print("Place Finger"); delay(2000); int result=get
Fingerprint
IDez(); if(result>=0) digital
Write(open
Light, HIGH); digital
Write(door, HIGH); digital
Write(close
Light, LOW); lcd.clear(); lcd.print("Allowed"); lcd.set
Cursor(0,1); lcd.print("Gete Opened "); delay(5000); digital
Write(close
Light, HIGH); digital
Write(door, LOW); digital
Write(open
Light, LOW); lcd.set
Cursor(0,1); lcd.print("Gate Closed "); return; check
Keys(); delay(1000); void check
Keys() if(digital
Read(enroll) == 0) lcd.clear(); lcd.print("Please Wait"); delay(1000); while(digital
Read(enroll) == 0); Enroll(); else if(digital
Read(del) == 0) lcd.clear(); lcd.print("Please Wait"); delay(1000); delet(); void Enroll() int count=0; lcd.clear(); lcd.print("Enroll Finger "); lcd.set
Cursor(0,1); lcd.print("Location:"); while(1) lcd.set
Cursor(9,1); lcd.print(count); lcd.print(" "); if(digital
Read(up) == 0) count++; if(count>25) count=0; delay(500); else if(digital
Read(down) == 0) count--; if(count0) count=25; delay(500); else if(digital
Read(del) == 0) id=count; get
Fingerprint
Enroll(); return; else if(digital
Read(enroll) == 0) return; void delet() int count=0; lcd.clear(); lcd.print("Delete Finger "); lcd.set
Cursor(0,1); lcd.print("Location:"); while(1) lcd.set
Cursor(9,1); lcd.print(count); lcd.print(" "); if(digital
Read(up) == 0) count++; if(count>25) count=0; delay(500); else if(digital
Read(down) == 0) count--; if(count0) count=25; delay(500); else if(digital
Read(del) == 0) id=count; delete
Fingerprint(id); return; else if(digital
Read(enroll) == 0) return; uint8_t get
Fingerprint
Enroll() int p. = -1; lcd.clear(); lcd.print("finger ID:"); lcd.print(id); lcd.set
Cursor(0,1); lcd.print("Place Finger"); delay(2000); while (p != FINGERPRINT_OK) phường = finger.get
Image(); switch (p) case FINGERPRINT_OK: lcd.clear(); lcd.print("Image taken"); break; case FINGERPRINT_NOFINGER: lcd.clear(); lcd.print("No Finger"); break; case FINGERPRINT_PACKETRECIEVEERR: lcd.clear(); lcd.print("Comm Error"); break; case FINGERPRINT_IMAGEFAIL: lcd.clear(); lcd.print("Imaging Error"); break; default: lcd.clear(); lcd.print("Unknown Error"); break; // OK success! p = finger.image2Tz(1); switch (p) case FINGERPRINT_OK: lcd.clear(); lcd.print("Image converted"); break; case FINGERPRINT_IMAGEMESS: lcd.clear(); lcd.print("Image too messy"); return p; case FINGERPRINT_PACKETRECIEVEERR: lcd.clear(); lcd.print("Comm Error"); return p; case FINGERPRINT_FEATUREFAIL: lcd.clear(); lcd.print("Feature Not Found"); return p; case FINGERPRINT_INVALIDIMAGE: lcd.clear(); lcd.print("Feature Not Found"); return p; default: lcd.clear(); lcd.print("Unknown Error"); return p; lcd.clear(); lcd.print("Remove Finger"); delay(2000); p. = 0; while (p != FINGERPRINT_NOFINGER) p = finger.get
Image(); phường = -1; lcd.clear(); lcd.print("Place Finger"); lcd.set
Cursor(0,1); lcd.print(" Again"); while (p != FINGERPRINT_OK) p. = finger.get
Image(); // OK success! p. = finger.image2Tz(2); phường = finger.create
Model(); p. = finger.store
Model(id); if (p == FINGERPRINT_OK) lcd.clear(); lcd.print("Stored!"); delay(2000); else if (p == FINGERPRINT_PACKETRECIEVEERR) return p; else if (p == FINGERPRINT_BADLOCATION) return p; else if (p == FINGERPRINT_FLASHERR) return p; else return p; int get
Fingerprint
IDez() uint8_t phường = finger.get
Image(); if (p != FINGERPRINT_OK) return -1; p = finger.image2Tz(); if (p != FINGERPRINT_OK) return -1; p = finger.finger
Fast
Search(); if (p != FINGERPRINT_OK) lcd.clear(); lcd.print("Finger Not Found"); lcd.set
Cursor(0,1); lcd.print("Try Later"); delay(2000); return -1; return finger.finger
ID; uint8_t delete
Fingerprint(uint8_t id) uint8_t p = -1; lcd.clear(); lcd.print("Please wait"); p = finger.delete
Model(id); if (p == FINGERPRINT_OK) lcd.clear(); lcd.print("Figer Deleted"); lcd.set
Cursor(0,1); lcd.print("Successfully"); delay(1000); else lcd.clear(); lcd.print("Something Wrong"); lcd.set
Cursor(0,1); lcd.print("Try Again Later"); delay(2000); return p; Qua bài viết này họ đã hiểu rõ hơn về cảm ứng vân tay và đã hoàn toàn có thể tự có tác dụng một dự án dễ dàng và đơn giản ứng dụng vào cuộc sống rồi. Các chúng ta có thể sáng tạo ra và tạo nên nhiều máy có kết quả cao hơn, chúc chúng ta thành công!!!

Bài đăng này là 1 trong những hướng dẫn reviews về cách áp dụng Mô-đun cảm biến vân tay cùng với Arduino. Cửa hàng chúng tôi sẽ chỉ cho mình cách đăng ký ID vân tay bắt đầu và search vân tay.

Xem đoạn phim demo:

Giới thiệu Mô-đun cảm ứng vân tay

Các mô-đun cảm ứng vân tay, y hệt như mô-đun trong hình bên dưới đây, giúp thừa nhận dạng vân tay dễ dàng tiếp xúc hơn và thuận lợi thêm vào các dự án. Điều này tức là siêu tiện lợi để triển khai thu thập, đăng ký, so sánh và kiếm tìm kiếm vệt vân tay.

*

Các mô-đun này đi kèm với bộ lưu trữ FLASH để tàng trữ dấu vân tay và hoạt động với ngẫu nhiên vi điều khiển hoặc khối hệ thống nào có tiếp liền TTL. Những mô-đun này rất có thể được thêm vào khối hệ thống an ninh, khóa cửa, hệ thống chấm công và nhiều hơn thế nữa nữa.

Giá cho cảm biến này thay đổi rất nhiều từ $ 10 mang đến $ 50. Chúng tôi khuyên bạn nên kiểm tra mô-đun cảm biến vân tay trên Maker Advisor để so sánh giá sinh hoạt các shop khác nhau.

Thông số kỹ thuật

Dưới đó là thông số chuyên môn của mô-đun cảm ứng vân tay mà chúng tôi đang thực hiện (bạn đề xuất kiểm tra dữ liệu cảm ứng hoặc thông số kỹ thuật bởi nhà cung cấp của người tiêu dùng cung cấp – chúng tránh việc khác nhiều so với các thông số này):

Nguồn điện: DC 3.6 cho 6.0VDòng điện: màu sắc đèn nền: xanh
Giao diện: UARTTỷ lệ: 9600Mức an toàn: năm (từ thấp mang đến cao: 1,2,3,4,5)Sai số (FAR): Tỷ lệ lắc đầu sai (FRR): có thể lưu trữ 127 vết vân tay không giống nhau

Đầu ra cảm biến

Cảm biến tất cả sáu chân được dán nhãn vào hình bên dưới.

*

Mô-đun cảm ứng vân tay được thực hiện trong dự án công trình này đi kèm theo với các dây mỏng, vì đó, đề xuất hàn dây cân xứng với breakboard. Cửa hàng chúng tôi khuyên chúng ta nên sử dụng những màu khác biệt theo công dụng chân. Trong trường thích hợp của tôi:

DNC – dây trắng
VCC – dây đỏ
TX – dây xanh
RX – dây xanh lá cây
GND – dây đen

*

Bảng bên dưới đây cho biết cách nối dây cảm ứng với Arduino.

Cảm trở nên dấu vân tay Arduino

VCC 5V (nó cũng chuyển động với 3,3V)

TX RX (chân digital 2, ứng dụng nối tiếp)

RX TX (chân digital 3, phần mềm nối tiếp)

GND GND

Cài đặt thư viện cảm ứng vân tay Adafruit

Cách dễ dàng nhất để tinh chỉnh mô-đun cảm biến vân tay cùng với Arduino là áp dụng thư viện Adafruit cho cảm ứng này. Triển khai theo những hướng dẫn tiếp sau để setup thư viện:

Giải nén folder .zip và bạn sẽ nhận được thư mục Adafruit-Fingerprint-Sensor-Library-master
Đổi thương hiệu thư mục của chúng ta từ Adafbean-Fingerprint-Sensor-Library-master thành thư mục Adafruit_Fingerprint_Sensor_LibraryDi đưa thư mục vào thư mục thiết đặt thư viện Arduino IDE của bạn
Cuối cùng, lật lại Arduino IDE

Đăng cam kết một lốt vân tay mới

Lắp mô-đun cảm ứng vân tay bao gồm dây với Arduino, hãy có tác dụng theo công việc tiếp theo để đăng ký một vết vân tay mới. Hãy chắc chắn là rằng chúng ta đã setup thư viện cảm biến vân tay.

Tải code với mở màn hình hiển thị nối tiếp với tốc độ baud là 9600.Bạn bắt buộc nhập ID đến dấu vân tay. Vì đây là dấu vân tay trước tiên của bạn, nhập 1 ở góc cạnh trên cùng phía trái và sau đó, nhấp vào nút Send.

*
4. Đặt ngón tay của người sử dụng trên thiết bị quét và làm theo hướng dẫn trên màn hình hiển thị nối tiếp.

Xem thêm:

*

Bạn sẽ được yêu ước đặt cùng một ngón tay hai lần vào lắp thêm quét. Nếu khách hàng nhận được tin nhắn “Prints matched!”, như hiển thị mặt dưới, dấu vân tay của công ty đã được lưu trữ thành công. Giả dụ không, lặp lại quá trình, cho tới khi chúng ta thành công.

*

Lưu trữ các dấu vân tay bạn có nhu cầu bằng phương pháp này.

Tìm dấu vân tay

Bây giờ bạn nên lưu một số dấu vân tay với những ID không giống nhau. Để kiếm tìm một tác dụng khớp với cảm ứng vân tay, hãy làm theo các lý giải tiếp theo.

Mở màn hình nối tiếp ở tốc độ baud là 9600. Bạn sẽ thấy thông báo sau:

*

Đặt ngón tay cần xác minh khi quét.Trên màn hình hiển thị nối tiếp, chúng ta có thể thấy ID khớp với vệt vân tay. Nó cũng cho biết độ tin tưởng cao, vết vân tay tương tự với vệt vân tay được lưu trữ.

*

Dự án chủng loại – Hiển thị vân tay đúng trên screen OLED

Trong lấy ví dụ như này, chúng tôi sẽ đăng ký hai vết vân tay từ hai người khác nhau. Sau đó, chúng tôi sẽ hiển thị thông báo lời chào tương xứng được tìm thấy, trên màn hình hiển thị OLED.

Linh kiện đề xuất thiết

Trong lấy ví dụ này, các bạn sẽ cần các linh kiện sau:

*

Arduino UNOModule cảm biến vân tay
Màn hình OLED 0,96 inch
Breakboard
Dây dẫn

Bạn rất có thể tham khảo linh phụ kiện tại cachdung.com

Sơ vật dụng mạch

Đây là sơ vật nối dây bạn nên tuân theo để sinh sản mạch cho dự án này.

*

Cài đặt thư viện OLED 0.96 inch

Để điều khiển màn hình OLED, bạn cần có thư viện “Adafruit_GFX.h” và Thư viện “Adafruit_SSD1306.h”. Triển khai theo quá trình tiếp theo để setup các tủ sách đó:

Cài để thư viện Adafruit_GFX

Giải nén thư mục .zip và bạn sẽ nhận thư mục Adafruit-GFX-Library-masterĐổi thương hiệu thư mục của khách hàng thành Adafruit_GFX_LibraryDi đưa thư mục Adafruit_GFX_Library vào thư mục thư viện setup Arduino IDE của bạn
Cuối cùng, mở lại Arduino IDE

Cài đặt thư viện adafruit_SSD1306

Giải nén thư mục .zip và các bạn sẽ nhận thư mục Adafruit-GFX-Library-masterĐổi thương hiệu thư mục của khách hàng thành Adafruit_SSD1306Di đưa thư mục Adafruit_SSD1306 vào thư mục thư viện cài đặt Arduino IDE của bạn
Cuối cùng, lật lại Arduino IDE

Code

Trước khi cài đặt code, các bạn cần đăng ký dấu vân tay không giống nhau từ những người khác nhau. Truy cập vào Đăng ký kết một vết vân tay bắt đầu ở trên, mua lên code đã cho và làm theo hướng dẫn để đăng ký hai dấu vân tay.

Sau đó, sửa code thế nào cho ID vân tay khớp với tên của rất nhiều người đã đăng ký – cuộn trang xuống nhằm được giải thích về code. Cuối cùng, chúng ta cũng có thể tải lên code được cung cấp.

#include #include #include #define OLED_RESET 4Adafruit_SSD1306 display(OLED_RESET);#include #include Software
Serial my
Serial(2, 3);Adafruit_Fingerprint finger = Adafruit_Fingerprint(&my
Serial);int fingerprint
ID = 0;String IDname;void setup() //Fingerprint sensor module cài đặt Serial.begin(9600); // set the data rate for the sensor serial port finger.begin(57600); if (finger.verify
Password()) Serial.println("Found fingerprint sensor!"); else Serial.println("Did not find fingerprint sensor :("); while (1) delay(1); //OLED display setup Wire.begin(); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //displays main screen display
Main
Screen();void loop()// returns -1 if failed, otherwise returns ID #int get
Fingerprint
IDez() uint8_t phường = finger.get
Image(); if (p != FINGERPRINT_OK) return -1; p. = finger.image2Tz(); if (p != FINGERPRINT_OK) return -1; phường = finger.finger
Fast
Search(); if (p != FINGERPRINT_OK) return -1; // found a match! Serial.print("Found ID #"); Serial.print(finger.finger
ID); Serial.print(" with confidence of "); Serial.println(finger.confidence); return finger.finger
ID; void display
Main
Screen() display.clear
Display(); display.set
Text
Size(1); display.set
Text
Color(WHITE); display.set
Cursor(7,5); display.println("Waiting fingerprint"); display.set
Text
Size(1); display.set
Text
Color(WHITE); display.set
Cursor(52,20); display.println("..."); display.display(); delay(2000);void display
User
Greeting(String Name) display.clear
Display(); display.set
Text
Color(WHITE); display.set
Text
Size(2); display.set
Cursor(0,0); display.print("Hello"); display.set
Cursor(0,15); display.print(Name); display.display(); delay(5000); fingerprint
ID = 0; Nhập thư viện

Code ban đầu bằng biện pháp nhập các thư viện quan trọng để ghi vào màn hình OLED và tạo một đối tượng người tiêu dùng Adafruit_SSD1306 được hiển thị.

#include #include #include #define OLED_RESET 4Adafruit_SSD1306 display(OLED_RESET);Chúng ta cũng cần nhập những thư viện cần thiết cho cảm biến vân tay: Adafruit_Fingerprint.h và Software
Serial.h.

#include #include Software
Serial my
Serial(2, 3);Dòng sau thiết lập cấu hình nối tiếp trên các chân 2 và 3. Chân 2 là RX cùng Chân 3 là TX.

Software
Serial my
Serial(2, 3);Sau đó, chế tạo ra một đối tượng người sử dụng Adafruit_Fingerprint được hotline là ngón tay trên các chân thông suốt mà công ty chúng tôi đã đặt trước đó.

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&my
Serial);Hai dòng tiếp theo tạo các biến để giữ ID vân tay với IDname.

int fingerprint
ID = 0;String IDname;setup()

Trong setup(), cả cảm ứng vân tay và màn hình OLED gần như được khởi tạo. Công ty chúng tôi cũng in một tin nhắn trên serial monitor để hiểu nếu cảm ứng vân tay được tìm thấy thành công.

void setup() //Fingerprint sensor module cài đặt Serial.begin(9600); // set the data rate for the sensor serial port finger.begin(57600); if (finger.verify
Password()) Serial.println("Found fingerprint sensor!"); else Serial.println("Did not find fingerprint sensor :("); while (1) delay(1); //OLED display cài đặt Wire.begin(); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //displays main screen display
Main
Screen();loop ()

Trong loop (), code hiển thị màn hình hiển thị chính trên màn hình hiển thị OLED – điều đó được triển khai trong hàm display
Main
Screen(). Sau đó, code liên tiếp kiểm tra lốt vân tay đến. Nếu cảm ứng tìm thấy lốt vân tay sẽ lưu, Arduino sẽ lưu ID tương ứng trong biến fingerprint
ID
.

Sau đó, code gồm một câu lệnh if /else để kiểm soát ID vết vân tay tương ứng. Bạn nên chỉnh sửa những dòng code sau với ID cùng tên tương ứng.

if(fingerprint
ID == 1 || fingerprint
ID == 3 || fingerprint
ID == 4 || fingerprint
ID == 5
) IDname = "Sara"; display
User
Greeting(IDname); else if(fingerprint
ID == 2
){ IDname = "Rui";Đôi khi, cảm ứng sẽ nhận dạng vết vân tay xuất sắc hơn ví như nó được lưu những lần với các ID không giống nhau. Sau khi xác minh tên ID, OLED đã hiển thị lời kính chào – vấn đề này được triển khai trong hàm display
User
Greet()
 ,

DEMO

Bây giờ, khi đã gồm dấu vân tay được lưu giữ lên cảm biến, nó sẽ hiển thị thông báo lời chào.

*

Tóm lại

Trong bài xích đăng này, shop chúng tôi đã chỉ cho mình cách áp dụng mô-đun cảm ứng vân tay: đăng ký và tìm lốt vân tay.

Đôi khi, cảm ứng gặp trở ngại trong việc xác định dấu vân tay nếu khách hàng không đặt ngón tay của chính mình tương từ như khi bạn lưu nó – đặc biệt quan trọng dấu vân tay của đàn bà (chúng tôi không biết vì sao điều này xảy ra). Công ty chúng tôi đã nhận thấy rằng cảm ứng hoạt động xuất sắc hơn nếu bạn đặt ngón tay thong thả trên thiết bị quét.

Theo bọn chúng tôi, mô-đun cảm biến vân tay chuyển động khá xuất sắc và đó là một cách phù hợp để thêm nhận dạng sinh trắc học cho những dự án của bạn.

Dịch từ: https://randomnerdtutorials.com/fingerprint-sensor-module-with-arduino/