R307 giao tiếp Atmega là dùng Cảm biến vân tay bao gồm cảm biến vân tay quang, bộ xử lý DSP tốc độ cao, thuật toán so sánh vân tay hiệu suất cao, chip FLASH dung lượng lớn. Nó có hiệu suất ổn định và cấu trúc đơn giản. Đầu vào vân tay, xử lý hình ảnh, so sánh vân tay, tìm kiếm và lưu trữ mẫu. R307 là một bộ cảm biến vân tay có độ phân giải 508 DPI, có thể giao tiếp UART/USB.
Trên cảm biến tích hợp chip thu hình ảnh và thuật toán trên cùng 1 mạch, công suất tiêu thụ nhỏ, chi phí thấp, thực hiện chính xác bền bỉ, cùng với công nghệ quang tiên tiến, gia công sản xuất chính xác, khả năng xửa lý hình ảnh tốt, có thể chụp hình lên đến 500 DPI. Vì thế cảm biến này thường được dùng để phát triển thành sản phẩm đầu cuối như: điều khiển truy cập, khóa xe hơi…
- Phone : 0967.551.477
- Zalo : 0967.551.477
- FB : Huỳnh Nhật Tùng
- Email : dientunhattung@gmail.com
- Địa Chỉ: 106/14 Đường số 51, Phường 14, Gò Vấp, Tp HCM
- Chi tiết: Nhận làm mạch và đồ án Điện tử
Table of Contents
1. Linh kiện cần thiết làm mạch đọc cảm biến vân tay R307 giao tiếp Atmega
1.1 Vi điều khiển AVR trong mạch đọc cảm biến vân tay R307 giao tiếp Atmega
a. Giới thiệu
Atmega16 là một chíp vi điều khiển được sản xuất bời hãng Atmel thuộc họ MegaAVR. Atmega16 là một bộ vi điều khiển 8 bit dựa trên kiến trúc RISC bộ nhớ chương trình 16KB ISP flash có thể ghi xóa hàng nghìn lần, 512B EEPROM, một bộ nhớ RAM vô cùng lớn trong thế giới vi xử lý 8 bit (1KB SRAM)
Với 32 chân có thể sử dụng cho các kết nối vào hoặc ra i/O, 32 thanh ghi, 3 bộ timer/counter có thể lập trình, có các gắt nội và ngoại (2 lệnh trên một vector ngắt), giao thức truyền thông nối tiếp USART, SPI, I2C. Ngoài ra có thể sử dụng bộ biến đổi số tương tự 10 bít (ADC/DAC) mở rộng tới 8 kênh, khả năng lập trình được watchdog timer, hoạt động với 5 chế độ nguồn, có thể sử dụng tới 6 kênh điều chế độ rộng xung (PWM), hỗ trợ bootloader. Vi xử lý có rất nhiều loại bắt đầu từ 4 bit cho đến 32 bit, vi xử lý 4 bit hiện nay không còn nhưng vi xử lý 8 bit vẫn còn mặc dù đã có vi xử lý 64 bit. Lý do sự tồn tại của vi xử lý 8 bit là phù hợp với một số yêu cầu điều khiển trong công nghiệp. Các vi xử lý 32 bit, 64 bit thường sử dụng cho các máy tính vì khối lượng dữ liệu của máy tính rất lớn nên cần các vi xử lý càng mạnh càng tốt.
Các hệ thống điều khiển trong công nghiệp sử dụng các vi xử lý 8 bit hay 16 bit như hệ thống điện của xe hơi, hệ thống điều hòa, hệ thống điều khiển các dây chuyền sản xuất, …
b. Chức năng của Atmega:
- PORTA: Các chân từ 33 đến 40 thuộc PORTA. Nó hoạt động giống như đầu vào analog cho bộ chuyển đổi A / D. Tuy nhiên, trong trường hợp không có bộ chuyển đổi A / D, PORTA được sử dụng làm cổng I / O hai chiều 8 bit. Nó đi kèm với điện trở kéo bên trong.
- PORTB: Các chân từ 1 đến 8 thuộc về PORTB. Đây là các chân hai chiều I / O. Cổng này cũng bao gồm các điện trở kéo lên bên trong.
- PORTC: PORTC là cổng I / O hai chiều bao gồm 8 chân. Chân từ 22 đến 29 thuộc về cổng này, tương tự như các cổng khác, nó đi kèm với điện trở kéo bên trong.
- PORTD: Chân từ 14 đến 21 thuộc về cổng này. Đây là cổng hai chiều trong đó mỗi chân có thể được sử dụng làm chân đầu vào hoặc đầu ra. Tuy nhiên, có các tính năng bổ sung liên quan đến cổng này như ngắt, giao tiếp nối tiếp, bộ hẹn giờ và PWM.
Các chức năng khác
- Reset: Chân 9 là chân reset mức thấp đang hoạt động. Xung mức thấp dài hơn độ dài xung tối thiểu sẽ tạo ra reset. Các xung ngắn không có khả năng tạo ra reset.
- VCC: Chân 10 là chân cấp nguồn cho bộ điều khiển này. Nguồn điện của cần phải có 5 V để đặt bộ điều khiển này trong điều kiện đang chạy.
- GND: Chân 11 là chân nối đất.
- AREF: Chân 32 là chân tham chiếu tương tự chủ yếu được sử dụng cho bộ chuyển đổi A / D .
- AVCC: Chân 30 là AVCC là chân điện áp cung cấp cho PORTA và ADC. Nó được kết nối với VCC thông qua bộ lọc thông thấp khi có ADC. Tuy nhiên, trong trường hợp không có ADC, AVCC được kết nối bên ngoài với VCC.
- Chân 12 & 13: Một bộ dao động tinh thể được kết nối với các chân này. Atmega16 hoạt động ở tần số bên trong 1MHZ; bộ dao động được thêm vào để tạo ra xung clock và tần số cao.
c.Thông số kỹ thuật Atmega (Dip)
Datasheets | Atmega16 |
Standard Package | 27 |
Category | Integrated Circuits (ICs) |
Family | Embedded – Atmel |
Series | Atmega |
Packaging | Tube |
Core Processor | AVR |
Core Size | 8-Bit |
Speed | 16MHz |
Connectivity | I²C, SPI, UART / USART, USB |
Peripherals | Brown-out Detec t/ Reset, HLVD, POR, PWM, WDT |
Number of I /O | 32 |
Program Memory Size | 16KB |
Program Memory Type | FLASH |
EEPROM Size | 512B |
RAM Size | 1K |
Voltage – Supply (Vcc/Vdd) | 4.2 V ~ 5.5 V |
Data Converters | A/D 8 x 10bit |
Oscillator Type | Internal |
Operating Temperature | -40°C ~ 85°C |
Package / Case | 28-SOIC (0.295″, 7.50mm Width) |
Other Names | Atmega16 |
d. Power
- 5V: Điện áp ra 5V (dòng điện trên mỗi chân này tối đa là 500mA).
- GND: Là chân mang điện cực âm trên board.
- IOREF: Điệp áp hoạt động của vi điều khiển trên AVR và có thể đọc điện áp trên chân IOREF. Chân IOREF không dùng để làm chân cấp nguồn.
e.Bộ nhớ
Vi điều khiển ATmega:- 16 KB bộ nhớ Plash: trong đó bootloader chiếm 0.5KB.
- 2 KB cho SRAM: (Static Random Access Menory): giá trị các biến khai báo sẽ được lưu ở đây. Khai báo càng nhiều biến thì càng tốn nhiều bộ nhớ RAM. Khi mất nguồn dữ liệu trên SRAM sẽ bị mất.
- 512B cho EEPROM: (Electrically Eraseble Programmable Read Only Memory): Là nơi có thể đọc và ghi dữ liệu vào đây và không bị mất dữ liệu khi mất nguồn.
f. Kiến trúc của Atmega16
Kiến trúc của Atmega16 dựa trên Kiến trúc Harvard và đi kèm với các bus và bộ nhớ riêng biệt. Các lệnh được lưu trữ trong bộ nhớ chương trình.- CPU
- ROM
- RAM
EEPROM
- Ngắt
- Module I / O analog và kỹ thuật số
Bộ định thời / Bộ đếm
- Watchdog timer
- Giao tiếp nối tiếp
1.2 Cảm biến điện vân tay R307 giao tiếp Atmega kích khóa chốt điện
a. Giới thiệu cảm biến vân tay R307 giao tiếp Atmega
- Cảm biến nhận dạng vân tay R307 bao gồm cảm biến vân tay quang, bộ xử lý DSP tốc độ cao, thuật toán so sánh vân tay hiệu suất cao, chip FLASH dung lượng lớn. Nó có hiệu suất ổn định và cấu trúc đơn giản. Đầu vào vân tay, xử lý hình ảnh, so sánh vân tay, tìm kiếm và lưu trữ mẫu.
- R307 là một bộ cảm biến vân tay có độ phân giải 508 DPI, có thể giao tiếp UART/USB. Trên cảm biến tích hợp chip thu hình ảnh và thuật toán trên cùng 1 mạch, công suất tiêu thụ nhỏ, chi phí thấp, thực hiện chính xác bền bỉ, cùng với công nghệ quang tiên tiến, gia công sản xuất chính xác, khả năng xửa lý hình ảnh tốt, có thể chụp hình lên đến 500 DPI. Vì thế cảm biến này thường được dùng để phát triển thành sản phẩm đầu cuối như: điều khiển truy cập, khóa xe hơi…
b. Thông số kỹ thuật
- Điện áp nguồn: DC 4.2 ~ 6.0V
- Chip sử dụng AS606
- Dòng hoạt động: 50mA
- Dòng điện cực đại: 80mA
- Thời gian nhập hình ảnh dấu vân tay: <0,3 giây
- Diện tích nhập vân tay: 14×18 mm
- Phương pháp so sánh :
- Phương pháp so sánh (1: 1)
- Chế độ tìm kiếm (1: N)
- tập tin chữ ký: 256-byte
- tệp mẫu: 512 byte
- Dung lượng lưu trữ: 1000 vân tay
- Mức độ bảo mật: 5 (từ thấp đến cao: 1,2,3,4,5)
- Tỷ lệ chấp nhận sai (FAR): <0,001%
- Tốc độ từ chối (FRR): <1,0%
- Thời gian tìm kiếm: <1,0 giây
- Giao diện máy chủ: Tốc độ truyền thông UART USB1.1 (UART): (9600 N) bps trong đó N = 1 12 (giá trị mặc định N = 6, tức là 57600bps)
- Môi trường làm việc:
- Nhiệt độ: -20 ° C- + 40 ° C
- Độ ẩm tương đối: 40% RH-85% RH (không ngưng tụ)
- Môi trường lưu trữ:
- Nhiệt độ: -40 ° C- + 85 ° C
- Độ ẩm tương đối: <85% H (không ngưng tụ hơi nước)
- Thích hợp cho khóa vân tay, két vân tay và các ứng dụng khác
c. Tính năng nỗi bật cảm biến vân tay R307
- Nhỏ gọn: cảm biến nhỏ gọn, không bên ngoài chip DSP bảng mạch thuật toán có gắn, dễ cài đặt, ít thất bại.
- Tiêu thụ điện năng cực thấp: Mức tiêu thụ điện năng chung của sản phẩm cực kỳ thấp, phù hợp với yêu cầu tiêu thụ điện năng thấp.
- Khả năng chống tĩnh điện mạnh: Nó có khả năng chống tĩnh điện mạnh và chỉ số chống tĩnh điện đạt trên 15KV.
- Phát triển ứng dụng rất đơn giản: các nhà phát triển có thể kiểm soát theo hướng dẫn được cung cấp bởi phát triển sản phẩm ứng dụng dấu vân tay của riêng mình, mà không cần phải có kiến thức chuyên môn nhận dạng vân tay.
- Mức an toàn có thể điều chỉnh: phù hợp với các ứng dụng khác nhau, mức độ an toàn có thể được điều chỉnh bởi người dùng.
- Dung lượng lưu trữ cảm biến vân tay R307 là 1000 vân tay
Một số tính năng khác
- Mô-đun vân tay R307 có cùng lúc với RS232 và USB2.0, giao diện kép giao tiếp với các thiết bị bên ngoài, giao diện USB2.0 có thể được kết nối với máy tính, giao diện RS232 TTL, tốc độ truyền mặc định là 57600, có thể thay đổi, Vui lòng tham khảo giao thức truyền thông, nó có thể được kết nối với một thiết bị chip đơn như ARM, DSP, v.v. và MCU 3,3V có thể được kết nối trực tiếp. Chuyển đổi cấp độ là cần thiết để kết nối với máy tính. Vui lòng chú ý đến dịch chuyển cấp độ, chẳng hạn như mạch MAX232.
- Sau khi cấp nguồn cảm biến nhận dạng vân tay được bật, cửa sổ thu thập dấu vân tay sẽ nhấp nháy, cho biết việc tự kiểm tra là bình thường. Nếu nó không nhấp nháy, vui lòng kiểm tra cẩn thận nguồn điện, xem nó có bị đảo ngược hay không. Con chip này có một chút nhiệt trong quá trình hoạt động bình thường, điều này là bình thường và đã được kiểm tra nghiêm ngặt và có thể được sử dụng một cách tự tin.
- Module Nhận Dạng Vân Tay R307 bao gồm cảm biến vân tay quang học, bộ xử lý DSP tốc độ cao, thuật toán so sánh vân tay hiệu suất cao, chip FLASH dung lượng lớn, phần mềm và phần cứng khác.
- Module Nhận Dạng Vân Tay R307 có hiệu suất ổn định và cấu trúc đơn giản, có đầu vào vân tay, xử lý hình ảnh, so sánh vân tay, tìm kiếm và lưu trữ mẫu.
- Module Nhận Dạng Vân Tay R307 tiêu thụ điện năng thấp, hiệu suất làm việc cao.
d. Chức năng cảm biến
- Hoàn thành độc lập các chức năng thu thập dấu vân tay, đăng ký vân tay, so sánh vân tay (1: 1) và tìm kiếm dấu vân tay (1: N).
- Kích thước nhỏ: Sản phẩm nhỏ và gọn, không có bảng mạch với chip DSP thuật toán bên ngoài. Nó được tích hợp thành một, thuận tiện cho việc cài đặt
- Tiêu thụ điện năng cực thấp: Mức tiêu thụ điện năng chung của sản phẩm cực kỳ thấp, phù hợp cho những dịp có mức tiêu thụ điện năng thấp.
- Khả năng chống tĩnh điện mạnh: nó có khả năng chống tĩnh điện mạnh, và chỉ số chống tĩnh điện đạt trên 15KV.
- Mức độ bảo mật có thể điều chỉnh: phù hợp với các ứng dụng khác nhau, mức độ bảo mật có thể được điều chỉnh bởi người dùng
- R307 tích hợp hỗ trợ cả RS232 và USB 2.0,khi R307được bật, cửa sổ thu thập dấu vân tay sẽ nhấp nháy một lần, cho biết việc tự kiểm tra là bình thường. Nếu nó không nhấp nháy, vui lòng kiểm tra cẩn thận nguồn điện, cẩn thận đảo ngược hoặc kết nối không chính xác. Khi sử dụng chip hơi nóng là bình thường.
e. Nguyên lý hoạt động
Có RS232 trên mô-đun vân tay R307 để giao tiếp với bên ngoài; giao diện RS232 là mức TTL, tốc độ truyền mặc định là 57600, bạn có thể thay đổi nó, vui lòng tham khảo giao thức truyền thông; nó có thể được kết nối với các thiết bị có cổng nối tiếp như như ARM, DSP, v.v., MCU 3.3 V 5V có thể được kết nối trực tiếp. Khi kết nối với máy tính yêu cầu cần chuyển đổi mức, hãy chú ý đến chuyển đổi mức, chẳng hạn như mạch MAX232 (chuyển từ RS232 sang TTL) Sau khi bật nguồn mô-đun vân tay, cửa sổ nhận dấu vân tay sẽ nhấp nháy một lần, cho biết quá trình tự kiểm tra diễn ra bình thường. Nếu mô-đun không nhấp nháy, vui lòng kiểm tra cẩn thận nguồn điện để xem nó được kết nối ngược hay sai. Chip có một số nhiệt trong quá trình hoạt động bình thường. Đây là hiện tượng bình thường. Nó đã được kiểm tra nghiêm ngặt và có thể yên tâm sử dụng.
f. Ứng dụng
Hiện nay vân tay được ứng dụng để kiểm soát rất nhiều trong đời sống chúng ta:
- Khóa két sắt.
- Khóa ô tô.
- Máy chấm công.
- Mmartphone.
- Khóa Laptop.
- Khà thông minh…..
1.3 Khóa chốt điện cảm biến vân tay R307 giao tiếp Atmega
a. Giới thiệu khóa chốt điện
- Khóa điện DC12V KD-03 có chức năng hoạt động như một ổ khóa, sử dụng van điện từ để kích đóng, mở bằng điện.
- Được sử dụng trong nhà thông minh, tủ điện, cửa điện…- Khóa chất lượng tốt, độ bền cao.
- Khóa chốt điện từ 2 đầu LY-03 được thiết kế khá tiện lợi khi tích hợp cả 2 loại đầu khóa với 2 trạng thái khác nhau để thích hợp hơn với người sử dụng. Cũng giống như các loại Khóa chốt điện từ khác, khi cung cấp dòng điện vào khóa sẽ sinh ra lực hút của nam châm điện làm thay đổi trạng thái.Khóa chốt điện từ 2 đầu LY-03 12VDC/24VDC có đầu tròn thường đóng (chưa có điện chốt khóa đưa ra ngoài) , đầu vát xéo là đầu thường mở (chưa có điện chốt khóa thụt vào trong). Với hai loại điện áp 12V hoặc 24V phù hợp cho mọi người lựa chọn. Khóa chốt điện tử LY-03 loại thường mở được thiết kế nhỏ gọn, chính xác, chắc chắn, dễ lắp đặt và sử dụng. Với vỏ làm bằng thép nên độ bền cao. Sản phẩm được thiết kế thường mở, chỉ khi có điện mới khóa được.
b. Thông số kỹ thuật khóa chốt điện
- Điện áp:
- Mã sản phẩm W0ON: 12VDC
- Mã sản phẩm D6LC: 24VDC
- Khóa thường mở, khi có điện khóa mới đóng
- Dòng tiêu thụ 12V: 0.3A
- Dòng tiêu thụ 24V: 0.2A
- Lỗ an ninh: bị khóa khi tắt nguồn
- Chiều dài chốt mở rộng: 9.8mm
- Kích thước khóa: 53 x 39 x 25 mm
- Kích thước chốt: 9.8 x 9(mm)
- Trọng lượng: 150g
- Tốc độ phản ứng: < 1s.
- Thời gian kích liên tục: < 10s
- Đi kèm gá chốt khóa.
- Chất liệu vỏ và chốt: Thép không gỉ
c. Ứng dụng của khóa chốt điện
- Khóa và mở cửa bằng nguồn điện 12VDC/24VDC, phù hợp với các văn phòng, nhà ở, nơi giám sát an ninh…
- Điều khiển đóng mở cửa từ xa khi kết hợp với thiết bị điều khiển từ xa, hệ thống nhà thông minh
- Lắp đặt tại các phòng đặc biệt mà khi có điện cửa sẽ đóng, chỉ khi ngắt điện cửa mới mở được nhằm bảo đảm an toàn
- Lưu ý do khóa thường mở nên khi mất điện khóa sẽ mở do đó cần cân nhắc các vị trí lắp cho phù hợp
- Nếu hoạt động thời gian dài sản phẩm sẽ nóng và điều đó là hoàn toàn bình thường (có thể cấp điện trong thời gian dài nhưng nhiệt độ tối đa của bộ phận thân khóa là 70 độ C nên cần điều chỉnh thời gian cấp nguồn cho phù hợp, tránh hư hại sản phẩm)
2. Hướng dẫn đồ án cảm biến vân tay R307 giao tiếp Atmega kích khóa chốt điện
Phần này chưa được chia sẻ.
LIÊN HỆ thông tin ở TẠI ĐÂY để được hổ trợ tốt hơn.
Phần cứng
Phần mềm
#include <Adafruit_Fingerprint.h> #include <SoftwareSerial.h> SoftwareSerial mySerial(2, 3); Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial); void setup() { Serial.begin(9600); while (!Serial); // For Yun/Leo/Micro/Zero/... delay(100); Serial.println("fingertest"); pinMode(12, OUTPUT); // 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 { getFingerprintIDez(); delay(50); //don't ned to run this at full speed. digitalWrite(12, LOW); } uint8_t getFingerprintID() { uint8_t p = finger.getImage(); switch (p) { case FINGERPRINT_OK: Serial.println("Image taken"); break; case FINGERPRINT_NOFINGER: Serial.println("No finger detected"); return p; case FINGERPRINT_PACKETRECIEVEERR: Serial.println("Communication error"); return p; case FINGERPRINT_IMAGEFAIL: Serial.println("Imaging error"); return p; default: Serial.println("Unknown error"); return p; // OK success! p = finger.image2Tz(); 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! p = finger.fingerFastSearch(); if (p == FINGERPRINT_OK) { Serial.println("Found a print match!"); } else if (p == FINGERPRINT_PACKETRECIEVEERR) { Serial.println("Communication error"); return p; } else if (p == FINGERPRINT_NOTFOUND) { Serial.println("Did not find a match"); return p; } else { Serial.println("Unknown error"); return p; } // found a match! Serial.print("Found ID #"); Serial.print(finger.fingerID); Serial.print(" with confidence of "); Serial.println(finger.confidence); return finger.fingerID; } // 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! digitalWrite(12, HIGH); delay(3000); digitalWrite(12, LOW); Serial.print("Found ID #"); Serial.print(finger.fingerID); Serial.print(" with confidence of "); Serial.println(finger.confidence); return finger.fingerID; }
3. Hoạt động của mạch đọc cảm biến vân tay R307 giao tiếp Atmega kích chốt điện
Khi cấp điện hệ thống hoạt động, vi điều khiển hiển thị thông tin ban đầu. Lúc này vi điều khiển chờ tín hiệu từ cảm biến vân tay R307 giao tiếp atmega trả về thông qua tín hiệu giao tiếp UART. Khi nhận được tín hiệu vi điều khiển xử lý, nếu đúng vân tay được lưu thì hệ thống kích hoạt mở cửa bằng khóa chốt điện
4. Cụ thể hoạt động của mạch đọc cảm biến vân tay R307 giao tiếp Atmega kích chốt điện:
Chúc các bạn thành công…!!!