Cảm biến vân tay quang học AS608 XD-65

386.000₫

Hết hàng


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.

Thông số kỹ thuật

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):

  • Nguồn cung cấp điện áp: DC 3.6 đến 6.0V
  • Nguồn cung hiện tại: <120mA
  • Màu đèn nền: màu xanh lục
  • Giao diện: UART
  • Tỷ lệ xấu: 9600
  • Mức độ an toàn: năm (từ thấp đến cao: 1,2,3,4,5)
  • Tỷ lệ chấp nhận sai (FAR): <0,001% (mức độ bảo mật 3)
  • Tỷ lệ từ chối giả (FRR): <1.0% (mức độ bảo mật 3)
  • Có thể lưu trữ 127 dấu vân tay khác nhau

Pinout cảm biến

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:

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

Bảng sau đây cho thấy cách nối cảm biến với Arduino.

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

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:

  1. Nhấp vào đây để tải xuống thư viện Cảm biến vân tay Adafruit. Bạn nên có một thư mục .zip trong thư mục Downloads của bạn
  2. Giải nén thư mục .zip và bạn sẽ nhận được thư mục Adafruit-Fingerprint-Sensor-Library-master
  3. Đổi tên thư mục của bạn từ Adafruit-Fingerprint-Sensor-Library-master thành thư mục Adafruit_Fingerprint_Sensor_Library
  4. Di chuyển thư mục vào thư mục cài đặt thư viện Arduino IDE của bạn
  5. Cuối cùng, mở lại Arduino IDE của bạn

Đăng ký một vân tay mới

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.

Tìm một sự trùng khớp (phù hợp)

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ữ.

Ví dụ dự án – Hiển thị trùng khớp dấu vân tay trên màn hình OLED

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

Các phần được yêu cầu

Đối với ví dụ này, bạn sẽ cần các phần sau:

Sơ đồ

Đây là sơ đồ nối dây bạn nên làm theo để tạo 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 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 đó:

CÀI ĐẶT THƯ VIỆN ADAFRUIT_GFX

  1. Nhấp vào đây để tải xuống thư viện Adafruit GFX . Bạn nên có một thư mục .zip trong thư mục Downloads của bạn
  2. Giải nén thư mục .zip và bạn sẽ nhận thư mục Adafruit-GFX-Library-master
  3. Đổi tên thư mục của bạn từ  Adafruit-GFX-Library-master thành Adafruit_GFX_Library  (bạn thực sự cần ro thay thế những “-” bởi “_”)
  4. Di chuyển thư mục Adafruit_GFX_Library vào thư mục thư viện cài đặt Arduino IDE của bạn
  5. Cuối cùng, mở lại Arduino IDE của bạn

CÀI ĐẶT THƯ VIỆN ADAFRUIT_SSD1306

  1. Nhấp vào đây để tải xuống thư viện Adafruit_SSD1306 . Bạn nên có một thư mục .zip trong thư mục Downloads của bạn
  2. Giải nén thư mục .zip và bạn sẽ nhận  Adafruit-GFX-Thư viện-master  thư mục
  3. Đổi tên thư mục của bạn từ Adafruit_SSD1306-master tới  Adafruit_SSD1306
  4. Di chuyển   thư mục Adafruit_SSD1306 vào thư mục thư viện cài đặt Arduino IDE của bạn
  5. Cuối cùng, mở lại Arduino IDE của bạn

Code

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; 
}

Nhập thư viện

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;

setup()

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();
}

loop()

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 () ,

Minh họa

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.

Sơ lược

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.

02363 899 354