Giới thiệu cảm biến vân tay AS608
Cảm biến vân tay AS608 dùng nhận dạng vân tay sử dụng giao tiếp UART TTL hoặc USB 1.1 để giao tiếp với Vi điều khiển hoặc kết nối trực tiếp với máy tính (thông qua mạch chuyển USB-UART hoặc giao tiếp USB 1.1). Cảm biến nhận dạng vân tay được tích hợp nhân xử lý nhận dạng vân tay phía trong, tự động gán vân tay với 1 chuỗi data và truyền qua giao tiếp UART ra ngoài nên hoàn toàn không cần các thao tác xử lý hình ảnh, đơn giản chỉ là phát lệnh đọc/ghi và so sánh chuỗi UART nên rất dễ sử dụng và lập trình. Cảm biến nhận dạng vân tay có khả năng lưu nhiều vân tay cho 1 ID (1 người), thích hợp cho các ứng dụng bảo mật, khóa cửa, sinh trắc học,… Khu vực ứng dụng: Mô-đun vân tay được sử dụng rộng rãi, phù hợp với tất cả các hệ thống nhận dạng vân tay từ cao cấp đến thấp cấp.
Thông số kỹ thuật cảm biến vân tay AS608
- Điện áp sử dụng: 3.0~3.6VDC (thường cấp 3.3VDC, lưu ý quan trọng nếu cấp lớn hơn 3.3VDC cảm biến sẽ cháy ngay lập tức).
- Dòng tiêu thụ: 30~60mA, trung bình 40mA
- Phương thức giao tiếp:: USB /UART
- Mức độ an toàn: 5
- Tốc độ Baudrate UART: 9600 x N (N từ 1~12), mặc định N=6 baudrate = 57600,8,1.
- Tốc độ giao tiếp UART : 2.0 full speed
- Kích thước ảnh (pixel): 256 x 288 pixels
- Thời gian xử lý (s): <0.4s
- Độ trễ (s): <0.1s
- Thời gian làm việc (s): <0.3s
- Tỉ lệ chấp nhận sai (FAR): <0.001% (mức bảo mật 3)
- Tỉ lệ từ chối sai (FRR): <1.0% (mức bảo mật 3)
- Dung lượng lưu trữ vân tay: 300 (ID: 0 ~ 299)
Chức năng chân:

- V+: chân cấp nguồn chính VCC 3.3VDC cho cảm biến hoạt động.
- Tx: Chân giao tiếp UART TTL TX
- Rx: Chân giao tiếp UART TTL RX
- GND: Chân cấp nguồn GND (Mass / 0VDC)
- TCH: Chân Output của cảm biến chạm Touch, khi chạm tay vào cảm biến chân này sẽ xuất ra mức cao High, để sử dụng tính năng này cần cấp nguồn 3.3VDC cho chân Va
- VA: Chân cấp nguồn 3.3VDC cho Touch Sensor.
- U+: Chân tín hiệu USB D+
- U-: Chân tín hiệu USB D-
Để giao tiếp UART ta cần sử dụng các chân:
- V+: Cấp nguồn 3.3VDC
- Tx: nối với RX của Vi điều kiển (mức TTL từ 3.3~5VDC)
- Rx: nối với TX của Vi điều kiển (mức TTL từ 3.3~5VDC)
- GND: Cấp nguồn GND (Mass chung)
Để giao tiếp USB ta cần sử dụng các chân:
- V+: Cấp nguồn 3.3VDC
- U+: Chân tín hiệu USB D+
- U-: Chân tín hiệu USB D-
- GND: Cấp nguồn GND (Mass chung).
Một số ứng dụng
- Khóa vân tay, két sắt, hộp súng, tài chính và các khu vực an ninh khác;
- Các lĩnh vực nhận dạng như hệ thống kiểm soát truy cập, IPC, máy POS , đào tạo lái xe và tham dự;
- Các khu vực quản lý như câu lạc bộ tư nhân, phần mềm quản lý và cấp phép.
Chương trình
Nguyên lý
#include <Adafruit_Fingerprint.h>
SoftwareSerial mySerial(2, 3); // TX/RX
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
uint8_t id;
void setup()
{
Serial.begin(9600);
while (!Serial); // For Yun/Leo/Micro/Zero/...
delay(100);
Serial.println("\n\nAdafruit Fingerprint sensor enrollment");
// 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); }
}
}
uint8_t readnumber(void) {
uint8_t num = 0;
while (num == 0) {
while (! Serial.available());
num = Serial.parseInt();
}
return num;
}
void loop() // run over and over again
{
Serial.println("Ready to enroll a fingerprint!");
Serial.println("Please type in the ID # (from 1 to 127) you want to save this finger as...");
id = readnumber();
if (id == 0) {// ID #0 not allowed, try again!
return;
}
Serial.print("Enrolling ID #");
Serial.println(id);
while (! getFingerprintEnroll() );
}
uint8_t getFingerprintEnroll() {
int p = -1;
Serial.print("Waiting for valid finger to enroll as #"); Serial.println(id);
while (p != FINGERPRINT_OK) {
p = finger.getImage();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image taken");
break;
case FINGERPRINT_NOFINGER:
break;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
break;
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
break;
default:
Serial.println("Unknown error");
break;
}
}
// OK success!
p = finger.image2Tz(1);
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image converted");
break;
case FINGERPRINT_IMAGEMESS:
Serial.println("Image too messy");
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return p;
case FINGERPRINT_FEATUREFAIL:
Serial.println("Could not find fingerprint features");
return p;
case FINGERPRINT_INVALIDIMAGE:
Serial.println("Could not find fingerprint features");
return p;
default:
Serial.println("Unknown error");
return p;
}
Serial.println("Remove finger");
delay(2000);
p = 0;
while (p != FINGERPRINT_NOFINGER) {
p = finger.getImage();
}
Serial.print("ID "); Serial.println(id);
p = -1;
Serial.println("Place same finger again");
while (p != FINGERPRINT_OK) {
p = finger.getImage();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image taken");
break;
case FINGERPRINT_NOFINGER:
break;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
break;
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
break;
default:
Serial.println("Unknown error");
break;
}
}
// OK success!
p = finger.image2Tz(2);
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image converted");
break;
case FINGERPRINT_IMAGEMESS:
Serial.println("Image too messy");
return p;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Communication error");
return p;
case FINGERPRINT_FEATUREFAIL:
Serial.println("Could not find fingerprint features");
return p;
case FINGERPRINT_INVALIDIMAGE:
Serial.println("Could not find fingerprint features");
return p;
default:
Serial.println("Unknown error");
return p;
}
// OK converted!
Serial.print("Creating model for #"); Serial.println(id);
p = finger.createModel();
if (p == FINGERPRINT_OK) {
Serial.println("Prints matched!");
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
} else if (p == FINGERPRINT_ENROLLMISMATCH) {
Serial.println("Fingerprints did not match");
return p;
} else {
Serial.println("Unknown error");
return p;
}
Serial.print("ID "); Serial.println(id);
p = finger.storeModel(id);
if (p == FINGERPRINT_OK) {
Serial.println("Stored!");
} else if (p == FINGERPRINT_PACKETRECIEVEERR) {
Serial.println("Communication error");
return p;
} else if (p == FINGERPRINT_BADLOCATION) {
Serial.println("Could not store in that location");
return p;
} else if (p == FINGERPRINT_FLASHERR) {
Serial.println("Error writing to flash");
return p;
} else {
Serial.println("Unknown error");
return p;
}
}
Chương trình kiểm tra
#include <Adafruit_Fingerprint.h>
const int led_pin_accept = 8;
const int led_pin_deny = 9;
volatile int finger_status = -1;
SoftwareSerial mySerial(2, 3); // TX/RX on fingerprint sensor
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
void setup()
{
Serial.begin(9600);
pinMode(led_pin_accept,OUTPUT);
pinMode(led_pin_deny,OUTPUT);
while (!Serial); // For Yun/Leo/Micro/Zero/...
delay(100);
Serial.println("\n\nAdafruit finger detect test");
// 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); }
}
finger.getTemplateCount();
Serial.print("Sensor contains "); Serial.print(finger.templateCount); Serial.println(" templates");
Serial.println("Waiting for valid finger...");
}
void loop() // run over and over again
{
finger_status = getFingerprintIDez();
if (finger_status!=-1 and finger_status!=-2){
digitalWrite(led_pin_accept,HIGH);
delay(1000);
} else{
if (finger_status==-2){
for (int ii=0;ii<5;ii++){
digitalWrite(led_pin_deny,HIGH);
delay(50);
digitalWrite(led_pin_deny,LOW);
delay(50);
}
}
digitalWrite(led_pin_accept,LOW);
}
delay(50); //don't ned to run this at full speed.
}
// returns -1 if failed, otherwise returns ID #
int getFingerprintIDez() {
uint8_t p = finger.getImage();
if (p!=2){
Serial.println(p);
}
if (p != FINGERPRINT_OK) return -1;
p = finger.image2Tz();
if (p!=2){
Serial.println(p);
}
if (p != FINGERPRINT_OK) return -1;
p = finger.fingerFastSearch();
if (p != FINGERPRINT_OK) return -2;
// found a match!
Serial.print("Found ID #"); Serial.print(finger.fingerID);
Serial.print(" with confidence of "); Serial.println(finger.confidence);
return finger.fingerID;
}
Liên hệ làm mạch
- Phone: 0967.551.477
- Zalo: 0967.551.477
- Email: dientunhattung@gmail.com
- Chi tiết : Nhận làm mạch và hướng dẫn đồ án sinh viên
Tham khảo chương trình mẫu và thông tin linh kiện chi tiết tại:

IC SỐ SN74HC14 CỔNG NOT, IC CỔNG LOGIC 14 CHÂN DIP
CẦU DIODE KBP610 DIP, CHỈNH LƯU TOÀN KỲ 6A - 1000V
Động cơ rung tròn 1027 3V, Động cơ rung điện thoại
MÁY BƠM CHÌM USB ĐỨNG TRẮNG, LƯU LƯỢNG 1.6L/P
TRANSISTOR NPN TIP112 DIP, DÃY HOẠT ĐỘNG 100V VÀ 2A
Hàng rào đực đơn thẳng 1*40P 17mm 2.54mm, Jump header đơn 40 pin
Điện trở 100R 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
Dây bus 5pin 10cm 24AWG cùng hướng XH2.54mm, Kích thước chân 2.54mm
Module giảm áp XL4005 ADJ 5A, Module ổn áp DC-DC giảm áp 5A
Dây bus 6pin 40cm 24AWG cùng hướng XH2.54mm, Kích thước chân 2.54mm
ANTEN 6dBi 4G/3G/GSM 19.5CM KIM TRONG, ANTEN 4G
Điện trở 2R2 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
IC SN74HC595 THANH GHI DỊCH, MỞ RỘNG CHÂN 8BIT DIP
Kìm cắt linh kiện 90mm có khóa, Kìm cắt dây điện
ĐỘNG CƠ GIẢM TỐC V1 1 PHẦN SẮT, ĐỘNG CƠ TRỤC SẮT
Điện trở 5R6 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
Màn hình Oled 1.3in I2C Màu trắng, Oled 128x64 hiển thị điểm ảnh
Màn hình LCD1602 Xanh dương, Màn hình hiển thị Text
Điện trở 15R 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
Điện trở 10R 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
Dây bus 5pin 20cm 24AWG cùng hướng XH2.54mm, Kích thước chân 2.54mm
IC SN74HC540 IC ĐỆM, 8BIT 3 TRẠNG THÁI ĐẢO NGÕ RA
Màn hình LCD2004 Xanh dương, Màn hình hiển thị Text
Biến trở tinh chỉnh 3296W 200K 204, Biến trở vi chỉnh 200K
Dây bus 8pin 10cm 24AWG cùng hướng XH2.54mm, Kích thước chân 2.54mm
Dây bus 3pin 40cm 24AWG cùng hướng XH2.54mm, Kích thước chân 2.54mm
ANTEN 2.4G/5.8GHz 8DBI 16CM KIM TRONG, ANTEN WIFI, ZIGBEE
CẦU DIODE KBP210 DIP, CHỈNH LƯU TOÀN KỲ 2A - 1000V
IC SỐ SN74HC132 CỔNG NAND, IC CỔNG LOGIC 2-INPUT DIP
Module Lora SX1278 433Mhz AS32, Module thu phát không dây
Module thu phát Bluetooth HC06 - Mạch thu phát Bluetooth HC-06
ĐỘNG CƠ STEP 5V + ULN2003 V1, BỘ ĐIỀU KHIỂN DC BƯỚC
Điện trở 1R2 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
ANTEN 2.4G/5.8GHz 6DBI 20CM KIM TRONG, ANTEN WIFI, ZIGBEE
LED 5MM PHỦ MÀU ĐỎ CHÂN NGẮN, LED SIÊU SÁNG - 40 CON
LED 7ĐOẠN 3SỐ ANODE 0.56IN ĐỎ, LED 7 SEG 37.5x19x8MM
HC-SRF04, CẢM BIẾN ĐO KHOẢNG CÁCH
Màn hình LCD2004 I2C Xanh lá, Màn hình hiển thị Text
TRANSISTOR NPN TIP142 DIP, DÃY HOẠT ĐỘNG 100V VÀ 10A
Hàng rào đực đơn chân thẳng 1*40P 2.54mm, Jump header đơn 40 pin
TRANSISTOR NPN TIP41 DIP, DÃY HOẠT ĐỘNG 100V VÀ 6A
Module thẻ từ RFID PN532 UART SPI I2C, Mạch thẻ từ NFC 13.56MHz
Arduino Uno R3 chip cắm DIP cáp Type B, Vi điều khiển họ Arduino ( không kèm Cáp)
CẦU DIODE KBP310 DIP, CHỈNH LƯU TOÀN KỲ 3A - 1000V
ĐỘNG CƠ SERVO 20KG, ĐỘNG CƠ QUAY GÓC 0 - 180 ĐỘ
ESP8266 NodeMCU LUA CP2102 MICRO, KIT WIFI HỌ ESP
MODULE CẢM BIẾN TCRT5000, DÒ LINE TRẮNG ĐEN
Bộ khung xe robot 4 bánh 2 tầng, Khung xe mô hình 4 bánh
IC SỐ SN74HC32 CỔNG OR, IC CỔNG LOGIC 2-INPUT DIP
ĐỘNG CƠ SERVO SG92R NHỰA, ĐỘNG CƠ GÓC 0 - 180 ĐỘ
ĐỘNG CƠ BƯỚC 5V, DC STEP DÙNG BỘ ĐIỀU KHIỂN ULN2003
CẢM BIẾN MÀU SẮC TCS3200, NHẬN DIỆN MÀU RGB
Điện trở 4R7 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
IC SỐ SN74HC21 CỔNG AND, IC CỔNG LOGIC 4-INPUT DIP
Dây chuyển 4ipex sang SMA 11mm kim trong 20cm, Dây chuyển ipex 1
CẢM BIẾN KHỐI LƯỢNG LOADCELL 50KG CÓ ĐẾ, ĐO KHỐI LƯỢNG
Điện trở 2R7 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
CẢM BIẾN ACS712 5A, ĐO DÒNG ĐIỆN DC/AC
KHUNG CÁNH TAY ROBOT 6 BẬC, CHƯA BAO GỒM ĐỘNG CƠ
LED 7ĐOẠN 1SỐ ANODE 0.56IN ĐỎ, LED 7 SEG 12.5x19x8MM
Điện trở 18R 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
ĐỘNG CƠ SERVO S3003, ĐỘNG CƠ QUAY GÓC 0 - 180 ĐỘ
Dây bus 2pin 20cm 24AWG cùng hướng XH2.54mm, Kích thước chân 2.54mm
HC-SRF05, CẢM BIẾN ĐO KHOẢNG CÁCH
Bộ sạc pin 2 cell 18650 4.2V 1A song song, Sạc pin 2 cell
ĐỘNG CƠ SERVO MG946, ĐỘNG CƠ QUAY GÓC 0 - 180 ĐỘ
Hàng rào cái vuông đơn thẳng 1*40P 2.54mm, Jump header đơn 40 pin
Màn hình LCD1602 Xanh lá, Màn hình hiển thị Text
ESP8266 NodeMCU CH340 MICRO, KIT WIFI Ai-Thinker HỌ ESP
Arduino Mega2560 CH340, VI ĐIỀU KHIỂN HỌ ARDUINO
Điện trở 270R 1/4W 5 vòng màu, Điện trở 1/4W - 100 con
ĐỘNG CƠ SERVO 25KG, ĐỘNG CƠ QUAY GÓC 0 - 180 ĐỘ
CẢM BIẾN DS18b20, NHIỆT ĐỘ MÔI TRƯỜNG - LOẠI TỐT
MODULE CẢM BIẾN DHT22 TỐT, ĐO NHIỆT ĐỘ VÀ ĐỘ ẨM 











Đánh giá
Chưa có đánh giá nào.