Zalo bán hàng : 0981 949 841
Email: sales@dientubachviet.com
Các mô-đun cảm biến vân tay, như mô-đun trong hình dưới đây, đã nhận dạng vân tay dễ truy cập hơn và dễ dàng thêm vào các dự án của bạn. Điều này có nghĩa đó là siêu dễ dàng để thực hiện thu thập dấu vân tay, đăng ký, so sánh và tìm kiếm.
Các mô-đun này đi kèm với bộ nhớ FLASH để lưu trữ các dấu vân tay và làm việc với bất kỳ vi điều khiển hoặc hệ thống với TTL nối tiếp. Các mô-đun này có thể được thêm vào hệ thống bảo mật, khóa cửa, hệ thống chấm công và nhiều hơn nữa.
Giá cho cảm biến này rất khác nhau từ $10 đế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á ở các cửa hàng khác nhau. Các mô-đun cảm biến vân tay được giới thiệu trên Maker Advisor (Trình hướng dẫn dành cho nhà sản xuất) nên tương thích với hướng dẫn này.
Dưới đây là thông số kỹ thuật của mô-đun cảm biến vân tay mà chúng ta đang sử dụng (bạn nên kiểm tra biểu dữ liệu cảm biến hoặc thông số kỹ thuật được cung cấp bởi nhà cung cấp của bạn – chúng không khác nhiều):
Cảm biến có sáu chốt được gắn nhãn trong hình bên dưới.
Mô-đun cảm biến dấu vân tay được sử dụng trong dự án này đi kèm với các dây thực sự mỏng, do đó cần có dây hàn thân thiện với breadboard. Chúng tôi khuyên bạn nên sử dụng các màu khác nhau theo chức năng pin. Trong trường hợp của chúng ta:
Bảng sau đây cho thấy cách nối cảm biến với Arduino.
Cách dễ nhất để kiểm soát mô-đun cảm biến vân tay với Arduino là sử dụng thư viện Adafruit cho cảm biến này. Làm theo các hướng dẫn tiếp theo để cài đặt thư viện:
Có mô-đun cảm biến vân tay có dây cho Arduino, hãy làm theo các bước tiếp theo để đăng ký một dấu vân tay mới. Đảm bảo bạn đã cài đặt thư viện Cảm biến vân tay Adafruit trước đó.
1. Trong IDE Arduino, đi tới File > Examples > Adafruit Fingerprint Sensor Library > Enroll.
2. Tải code lên và mở màn hình nối tiếp với tốc độ truyền 9600.
3. Bạn nên nhập ID cho dấu vân tay. Vì đây là dấu vân tay đầu tiên của bạn, hãy nhập 1 ở góc trên cùng bên trái, sau đó nhấp vào nút Send.
4. Đặt ngón tay lên máy quét và làm theo hướng dẫn trên màn hình nối tiếp.
Bạn sẽ được yêu cầu đặt cùng một ngón tay hai lần trên máy quét. Nếu bạn nhận được “Prints matched!”, Như được hiển thị bên dưới, vân tay của bạn được lưu trữ thành công. Nếu không, hãy lặp lại quy trình, cho đến khi bạn thành công.
Lưu trữ bao nhiêu dấu vân tay bạn muốn bằng phương pháp này.
Bây giờ bạn sẽ có một số dấu vân tay được lưu trên các ID khác nhau. Để tìm một kết quả phù hợp với cảm biến vân tay, hãy làm theo các hướng dẫn tiếp theo.
1. Trong IDE Arduino, hãy đi tới File > Examples > Adafruit Fingerprint Sensor Library > Fingerprint và tải code lên board Arduino của bạn.
2. Mở Serial Monitor (man hình nối tiếp) với tốc độ truyền 9600. Bạn sẽ thấy thông báo sau:
3. Đặt ngón tay để xác định khi quét.
4. Trên màn hình nối tiếp, bạn có thể thấy ID khớp với dấu vân tay. Nó cũng cho thấy độ bảo mật – độ tin cậy càng cao, dấu vân tay tương tự với dấu vân tay được lưu trữ.
Trong ví dụ dự án này, chúng ta sẽ đăng ký hai dấu vân tay từ hai người khác nhau. Sau đó, chúng ta sẽ hiển thị một thông báo lời chào phù hợp với kết quả được tìm thấy, trên màn hình OLED.
Để tìm hiểu thêm về màn hình OLED, hãy đọc: Hướng dẫn hiển thị OLED với Arduino
Đối với ví dụ này, bạn sẽ cần các phần sau:
Đây là sơ đồ nối dây bạn nên làm theo để tạo mạch cho dự án này.
Để điều khiển màn hình OLED, bạn cần thư viện “Adafruit_GFX.h” và thư viện “Adafruit_SSD1306.h”. Làm theo các bước tiếp theo để cài đặt các thư viện đó:
Trước khi tải code lên, bạn cần đăng ký các dấu vân tay khác nhau từ những người khác nhau. Đi tới phần “Enroll a New Fingerprint” ở trên, tải lên code đã cho và làm theo hướng dẫn để đăng ký hai dấu vân tay.
Sau đó, sửa đổi code để ID dấu vân tay khớp với tên của những người đã đăng ký – cuộn xuống trang để xem giải thích về code. Cuối cùng, bạn có thể tải lên code được cung cấp.
/*********
Rui Santos
Complete project details at http://randomnerdtutorials.com
*********/
#include
#include
#include
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
#include
#include
SoftwareSerial mySerial(2, 3);
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
int fingerprintID = 0;
String IDname;
void setup(){
//Fingerprint sensor module setup
Serial.begin(9600);
// set the data rate for the sensor serial port
finger.begin(57600);
if (finger.verifyPassword()) {
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
displayMainScreen();
}
void loop(){
displayMainScreen();
fingerprintID = getFingerprintIDez();
delay(50);
if(fingerprintID == 1 || fingerprintID == 3 || fingerprintID == 4 || fingerprintID == 5){
IDname = "Sara";
displayUserGreeting(IDname);
}
else if(fingerprintID == 2){
IDname = "Rui";
displayUserGreeting(IDname);
}
}
// returns -1 if failed, otherwise returns ID #
int getFingerprintIDez() {
uint8_t p = finger.getImage();
if (p != FINGERPRINT_OK) return -1;
p = finger.image2Tz();
if (p != FINGERPRINT_OK) return -1;
p = finger.fingerFastSearch();
if (p != FINGERPRINT_OK) return -1;
// found a match!
Serial.print("Found ID #");
Serial.print(finger.fingerID);
Serial.print(" with confidence of ");
Serial.println(finger.confidence);
return finger.fingerID;
}
void displayMainScreen(){
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(7,5);
display.println("Waiting fingerprint");
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(52,20);
display.println("...");
display.display();
delay(2000);
}
void displayUserGreeting(String Name){
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(2);
display.setCursor(0,0);
display.print("Hello");
display.setCursor(0,15);
display.print(Name);
display.display();
delay(5000);
fingerprintID = 0;
}
Code này bắt đầu bằng cách nhập các thư viện cần thiết để viết trong màn hình OLED, và tạo ra một đối tượng Adafruit_SSD1306 được gọi là hiển thị.
#include #include #include #define OLED_RESET 4 Adafruit_SSD1306 display(OLED_RESET);
Chúng ta cũng cần nhập các thư viện cần thiết cho cảm biến vân tay: Adafruit_Fingerprint.h và SoftwareSerial.h .
#include #include SoftwareSerial mySerial (2, 3);
Dòng sau thiết lập phần mềm nối tiếp trên pin 2 và 3. Pin 2 là RX và Pin 3 là TX.
SoftwareSerial mySerial (2, 3);
Sau đó, chúng ta tạo ra một đối tượng Adafruit_Fingerprint được gọi là finger trên các pin (chốt) nối tiếp mà chúng ta đã thiết lập trước đó.
Adafruit_Fingerprint finger = Adafruit_Fingerprint (& mySerial);
Hai dòng tiếp theo tạo biến để giữ ID vân tay và IDname.
int fingerprintID = 0; String IDname;
Trong setup(), cả cảm biến vân tay và màn hình OLED được khởi tạo. Chúng ta cũng in một thông báo trên màn hình nối tiếp để biết nếu cảm biến vân tay được tìm thấy thành công.
void setup(){ //Fingerprint sensor module setup Serial.begin(9600); // set the data rate for the sensor serial port finger.begin(57600); if (finger.verifyPassword()) { 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 displayMainScreen(); }
Trong loop(), code hiển thị màn hình chính trên màn hình OLED – điều này được thực hiện trong hàm displayMainScreen (). Sau đó, code liên tục kiểm tra các dấu vân tay đến. Nếu bộ cảm biến tìm thấy vân tay đã lưu, Arduino sẽ lưu ID tương ứng trong biến fingerprintID .
Sau đó, code có câu lệnh if/else để kiểm tra ID tương ứng với dấu vân tay. Bạn nên chỉnh sửa các dòng code sau đây với các ID và tên tương ứng.
if(fingerprintID == 1 || fingerprintID == 3 || fingerprintID == 4 || fingerprintID == 5){ IDname = "Sara"; displayUserGreeting(IDname); } else if(fingerprintID == 2){ IDname = "Rui";
Đôi khi, cảm biến sẽ nhận ra dấu vân tay tốt hơn nếu nó được lưu nhiều lần trong các ID khác nhau. Sau khi xác định tên ID, OLED hiển thị lời chào – điều này được thực hiện trong hàm displayUserGreeting () ,
Bây giờ, khi một người có vân tay đã lưu đặt ngón tay lên cảm biến, nó sẽ hiển thị một thông điệp chúc mừng.
Trong bài viết này, chúng tôi đã chỉ cho bạn cách sử dụng mô-đun cảm biến vân tay: đăng ký dấu vân tay và tìm một kết quả phù hợp. Đôi lúc cảm biến khó xác định dấu vân tay nếu bạn không đặt ngón tay của bạn rất giống với khi bạn đã lưu nó – dấu vân tay đặc biệt của phụ nữ (chúng tôi không biết tại sao điều này xảy ra). Chúng tôi đã nhận thấy rằng cảm biến hoạt động tốt hơn nếu bạn đặt ngón tay từ từ trên máy quét.
Theo quan điểm của chúng tôi, mô-đun cảm biến vân tay hoạt động khá tốt và đó là một cách hợp lý để thêm nhận dạng sinh trắc học vào các dự án của bạn. Cảm ơn vì đã đọc.