Nó làKit thế hệ thứ 3, với khả năng lập trình cho các ứng dụng điều khiển phức tạp do được trang bị cấuhình mạnh cho các loại bộ nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đ
Trang 4PHẦN MỞ ĐẦU
1 TÓM TẮT Ý TƯỞNG ĐỀ TÀI
Tên đề tài: “Hệ thống xác thực bằng kit nhúng và ứng dụng”.
Trong xã hội hiện đại ngày nay, sự phát triển của ngành kĩ thuật máy tính và điện tử đang thúcđẩy phát triển kinh tế góp phần vào sự phát triển của xã hội
Ngành điện tử hiện nay trên thế giới đang phát triển rất nhanh và ứng dụng vào thực tế ngàycàng cao
Một trong những dòng Kit được ứng dụng khá nhiều hiện nay là Kit Arduino UNO R3 Nó làKit thế hệ thứ 3, với khả năng lập trình cho các ứng dụng điều khiển phức tạp do được trang bị cấuhình mạnh cho các loại bộ nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó có nhiềungõ có khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giao tiếp đa dạng nhưUART, SPI, TWI (I2C)
Báo cáo tập trung vào giới thiệu về dòng Kit Arduino UNO R3 và giao tiếp với cảm biến vântay và khóa điện Báo cáo bao gồm 7 chương với nội dung khái quát như sau:
• Chương 1: Giới thiệu vi xử lý
• Chương 2: Cấu trúc chung của Kit
• Chương 3: Giới thiệu cảm biến vân tay AS608
• Chương 4: Khóa chốt điện LY - 01
• Chương 5: Một số linh kiện khác
• Chương 6: Những kiến thức liên quan
• Chương 7: Ứng dụng
2 ĐẶT VẤN ĐỀ
2.1 Tóm lược những nghiên cứu trong nước liên quan đến đề tài
Hiện nay trên thế giới nói chung và Việt Nam nói riêng có rất nhiều hệ thống xác xác thực khácnhau như: nhập mật khẩu, mẫu hình… nhưng phổ biến nhất vẫn là dùng “sinh trắc học”
Công nghệ Sinh trắc học (Biometric) - là một công nghệ sử dụng những thuộc tính vật lý hoặccác mẫu hành vi, các đặc điểm sinh học đặc trưng như dấu vân tay, mẫu mống mắt, giọng nói, khuônmặt, dáng đi để nhận diện con người Với tính ưu việt của mình công nghệ sinh trắc học được ứngdụng rộng rãi trong xác thực bảo mật thông tin, giao dịch Chúng ta có thể nghe nói đến Touch ID,Face ID, Iris ID nhưng đã bao giờ thực sự hiểu cuộc chạy đua công nghệ đứng đằng sau nó baogồm cả công nghệ xác thực và công nghệ giả mạo Với vai trò là Giám đốc Nghiên Cứu và Pháttriển tại Tập Đoàn MK - Tập đoàn tiên phong của Việt Nam trong lĩnh vực thẻ thông minh và thanhtoán bảo mật, anh Trần Hữu Tuệ sẽ chia sẻ cho chúng ta về Công nghệ sinh trắc học trong xác thựcbảo mật thông tin, những phân tích chuyên sâu về công nghệ về những vụ tấn công các giao dịchngân hàng, hay là tuyên bố của Bkav có thể mở khóa face ID của Iphone X
Người dùng có thể quên mật khẩu, nhưng rõ ràng không thể quên mang theo ngón tay của mình.Cảm biến vân tay được sử dụng trong nhiều ngành điện tử, khoa học kỹ thuật Chúng được tìm thấytrong nhiều lĩnh vực điện tử, dịch vụ Chúng được sử dụng trong các ứng dụng hàng ngày như: điệnthoại, khóa trong nhà hàng khách sạn
2.2 Một số tài liệu liên quan
- Website: https://www.arduino.cc/
Trang 5- Website: http://arduino.vn/reference/howto
2.3 Tính cấp thiết của đề tài
Chúng ta thấy rằng trong những thập niên gần đây, các dòng vi điều khiển được phát triển mộtcách mạnh mẽ Các nhà sản xuất chip điện tử đã cho ra đời những dòng vi điều khiển khá mạnh vớinhững tính năng mới đáp ứng nhu cầu phát triển ngày càng cao của khoa học kĩ thuật như: giao tiếpqua cổng USB, hỗ trợ các chuẩn giao tiếp như SPI, I2C, tích hợp ADC, …
Với mong muốn có thêm kiến thức về các biến đổi A/D, D/A và các kiến thức về KIT Arduino
UNO R3, nhóm chúng em đã làm đề tài: “Hệ thống xác thực bằng kit nhúng và ứng dụng”.
2.4 Mục tiêu đề tài
Nắm được các kiến thức về KIT Arduino UNO R3 và hiểu được cách giao tiếp với BoardArduino UNO R3 với cảm biến vân tay và khóa điện
Thiết lập và cấu hình thành công mô hình khóa bảo mật tích hợp vân tay
2.5 Đối tượng và phạm vi nghiên cứu
- KIT Arduino UNO R3
- Bộ thí nghiệm cho KIT Arduino UNO R3
- Một số phần mềm như: Arduino 1.8.10, Orcad 9.2
2.6 Phương pháp nghiên cứu
- Phương pháp nghiên cứu tài liệu
- Phương pháp quan sát
- Phương pháp nghiên cứu sản phẩm hoạt động
- Phương pháp phân tích tổng hợp
2.7 Nội dung đề tài
Phát triển khóa cửa thông minh sử dụng Arduino UNO giao tiếp với cảm biến vân tay và một sốthiết bị khác
Trang 6PHẦN NỘI DUNG
1 CHƯƠNG 1: GIỚI THIỆU VI XỬ LÝ
1.1 GIỚI THIỆU DÒNG VI ĐIỀU KHIỂN ARDUINO
Arduino một nền tảng mã nguồn mở phần cứng và phần mềm Phần cứng Arduino (các boardmạch vi xử lý) được sinh ra tại thị trấn Ivrea ở Ý, nhằm xây dựng các ứng dụng tương tác với nhauhoặc với môi trường được thuận lợi hơn Phần cứng bao gồm một board mạch nguồn mở được thiết
kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit Những Model hiện tại đượctrang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích vớinhiều board mở rộng khác nhau
Được giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố gắng mang đến một phươngthức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp để tạo ranhững thiết bị có khả năng tương tác với môi trường thông qua các cảm biến và các cơ cấu chấphành Những ví dụ phổ biến cho những người yêu thích mới bắt đầu bao gồm các robot đơn giản,điều khiển nhiệt độ và phát hiện chuyển động Đi cùng với nó là một môi trường phát triển tích hợp(IDE) chạy trên các máy tính cá nhân thông thường và cho phép người dùng viết các chương trìnhcho Aduino bằng ngôn ngữ C hoặc C++
1.2 PHẦN CỨNG
Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sung giúp dễ dànglập trình và có thể mở rộng với các mạch khác Một khía cạnh quan trọng của Arduino là các kết nốitiêu chuẩn của nó, cho phép người dùng kết nối với CPU của board với các module thêm vào có thể
dễ dàng chuyển đổi, được gọi là shield Vài shield truyền thông với board Arduino trực tiếp thôngqua các chân khác nhau, nhưng nhiều shield được định địa chỉ thông qua serial bus I²C-nhiều shield
có thể được xếp chồng và sử dụng dưới dạng song song Arduino chính thức thường sử dụng cácdòng chip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328, ATmega1280, vàATmega2560 Một vài các bộ vi xử lý khác cũng được sử dụng bởi các mạch Aquino tương thích.Hầu hết các mạch gồm một bộ điều chỉnh tuyến tính 5V và một thạch anh dao động 16 MHz (hoặc
bộ cộng hưởng ceramic trong một vài biến thể), mặc dù một vài thiết kế như LilyPad chạy tại 8MHz và bỏ qua bộ điều chỉnh điện áp onboard do hạn chế về kích cỡ thiết bị Một vi điều khiểnArduino cũng có thể được lập trình sẵn với một boot loader cho phép đơn giản là upload chươngtrình vào bộ nhớ flash on-chip, so với các thiết bị khác thường phải cần một bộ nạp bên ngoài Điềunày giúp cho việc sử dụng Arduino được trực tiếp hơn bằng cách cho phép sử dụng 1 máy tính gốcnhư là một bộ nạp chương trình
Trang 7Theo nguyên tắc, khi sử dụng ngăn xếp phần mềm Arduino, tất cả các board được lập trìnhthông qua một kết nối RS-232, nhưng cách thức thực hiện lại tùy thuộc vào đời phần cứng Cácboard Serial Arduino có chứa một mạch chuyển đổi giữa RS232 sang TTL Các board Arduino hiệntại được lập trình thông qua cổng USB, thực hiện thông qua chip chuyển đổi USB-to-serial như làFTDI FT232 Vài biến thể, như Arduino Mini và Boarduino không chính thức, sử dụng một boardadapter hoặc cáp nối USB-to-serial có thể tháo rời được, Bluetooth hoặc các phương thức khác (Khi
sử dụng một công cụ lập trình vi điều khiển truyền thống thay vì ArduinoIDE, công cụ lập trìnhAVR ISP tiêu chuẩn sẽ được sử dụng.)
Board Arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử dụng cho những mạchngoài Diecimila, Duemilanove, và bây giờ là Uno đưa ra 14 chân I/O kỹ thuật số, 6 trong số đó cóthể tạo xung PWM (điều chế độ rộng xung) và 6 chân input analog, có thể được sử dụng như là 6chân I/O số Những chân này được thiết kế nằm phía trên mặt board, thông qua các header cái 0.10-inch (2.5 mm) Nhiều shield ứng dụng plug-in cũng được thương mại hóa Các board Arduino Nano,
và Arduino-compatible Bare Bones Board và Boarduino có thể cung cấp các chân header đực ở mặttrên của board dùng để cắm vào các breadboard
Có nhiều biến thể như Arduino-compatible và Arduino-derived Một vài trong số đó có chứcnăng tương đương với Arduino và có thể sử dụng để thay thế qua lại Nhiều mở rộng cho Arduinođược thực thiện bằng cách thêm vào các driver đầu ra, thường sử dụng trong các trường học để đơngiản hóa các cấu trúc của các 'con rệp' và các robot nhỏ Những board khác thường tương đương vềđiện nhưng có thay đổi về hình dạng-đôi khi còn duy trì độ tương thích với các shield, đôi khikhông Vài biến thể sử dụng bộ vi xử lý hoàn toàn khác biệt, với các mức độ tương thích khác nhau
1.3 CÁC LOẠI BOARD CHÍNH
- Arduino Diecimila:
Trang 8- Arduino Duemilanove:
- Arduino UNO:
- Arduino Leonardo:
Trang 10- Arduino Due:
- Arduino Mega:
Trang 112 CHƯƠNG 2: CẤU TRÚC CHUNG CỦA KIT2.1 GIỚI THIỆU
Arduino UNO R3 là kit Arduino UNO thế hệ thứ 3, với khả năng lập trình cho các ứng dụngđiều khiển phức tạp do được trang bị cấu hình mạnh cho các loại bộ nhớ ROM, RAM và Flash, cácngõ vào ra digital I/O trong đó có nhiều ngõ có khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệuanalog và các chuẩn giao tiếp đa dạng như UART, SPI, TWI (I2C)
Arduino Uno R3 SMD (CH340 + ATMEGA328P-AU) là phiên bản giá rẻ sử dụng IC nạp vàgiao tiếp UART CH340 + Vi điều khiển chính ATMEGA328P-AU, nhược điểm của loại này là vì sửdụng các linh kiện giá rẻ thay thế nên độ ổn định và độ bền ở phần giao tiếp máy tính sẽ kém hơncác phiên bản khác + Vi điều khiển là loại IC dán nên sẽ không thể thay thế khi cháy, nếu bạn làmcác ứng dụng cần tiết kiệm chi phí và không cần giao tiếp với máy tính trong thời gian dài thìArduino Uno R3 SMD (chip dá) là sự lựa chọn vô cùng hợp lý
Trang 122.2 TÀI NGUYÊN PHẦN CỨNG
Danh sách tài nguyên phần cứng:
Chip điều khiển chính ATmega328P-AU
Chip nạp và giao tiếp UART CH340
Nguồn nuôi mạch 5VDC từ cổng USB hoặc nguồn ngoài cắm
từ giắc tròn DC (nếu sử dụng nguồn ngoài từgiắc tròn DC Hshop.vn khuyên bạn nên cấpnguồn từ 6~9VDC để đảm bảo mạch hoạtđộng tốt, nếu bạn cắm 12VDC thì IC ổn áprất nóng, dễ cháy và gây hư hỏng mạch)
Số chân Digital I/O 14 (trong đó 6 chân có khả năng xuất xung
PWM)
Số chân PWM Digital I/O 6
Số chân Analog Input 6
Dòng điện DC Current trên mỗi chân I/O 20 mA
Dòng điện DC Current chân 3.3V 50 mA
Flash Memory 32 KB (ATmega328P), 0.5 KB dùng cho
Trang 13• VIN: Điện áp đầu vào của bo mạch Arduino khi nó sử dụng nguồn điện bên ngoài (trái ngược
với 5 volt từ kết nối USB hoặc nguồn điện quy định khác) Bạn có thể cung cấp điện áp thông quachân này, hoặc, nếu cung cấp điện áp qua giắc cắm điện, hãy truy cập nó qua chân này
• 5V: Nguồn cung cấp quy định được sử dụng để cấp nguồn cho vi điều khiển và các thành phần
khác trên mạch Điều này có thể đến từ VIN thông qua bộ điều chỉnh trên mạch hoặc được cung cấpbởi USB hoặc thiết bị khác điều tiết nguồn cung cấp 5V
• 3V3: Một nguồn cung cấp 3,3 volt được tạo ra bởi bộ điều chỉnh trên mạch.
• GND: Chân đất.
Atmega328 có bộ nhớ flash 32 KB để lưu trữ mã (trong đó 0,5 KB được sử dụng cho bộ tảikhởi động) Nó cũng có 2 KB SRAM và 1 KB EEPROM (có thể đọc và ghi với thư viện EEPROM).Mỗi chân trong số 14 chân kỹ thuật số trên Uno có thể được sử dụng làm đầu vào hoặc đầu ra,
sử dụng pinMode (), digitalWrite () và Các hàm digitalRead () Chúng hoạt động ở mức 5 volt Mỗipin có thể cung cấp hoặc nhận tối đa 40 mA và có điện trở kéo lên bên trong (ngắt kết nối theo mặcđịnh) là 20-50 kOhms Ngoài ra, một số chân có chức năng chuyên biệt:
• Serial: 0 (RX) and 1 (TX): Được sử dụng để nhận dữ liệu nối tiếp (RX) và truyền (TX) TTL.
Chân TThese là được kết nối với các chân tương ứng của chip Nối tiếp USB-to-TTL ATmega8U2
• External Interrupts: 2 and 3: Các chân này có thể được cấu hình để kích hoạt ngắt trên giá
trị thấp, tăng, giảm, thay đổi giá trị
• PWM: 3, 5, 6, 9, 10 and 11: Cung cấp đầu ra PWM 8 bit với chức năng analogWrite ().
• SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK): Các chân này hỗ trợ giao tiếp SPI, trong đó,
mặc dù được cung cấp bởi phần cứng cơ bản, hiện không được bao gồm trong ngôn ngữ Arduino
• LED 13: Có đèn LED tích hợp được kết nối với pin kỹ thuật số 13 Khi pin có giá trị CAO,
đèn LED là bật, khi pin ở mức THẤP, nó sẽ tắt
2.3 TÀI NGUYÊN CPU ARDUINO UNO R3
Kích thước Dữ liệu RAM 2 kB
Độ phân giải ADC 10 bit
Số lượng I/O 23 I/O
Điện áp cấp vận hành 1.8 V to 5.5 V
Nhiệt độ làm việc tối thiểu - 40 độ C
Nhiệt độ làm việc tối đa + 85 độ C
Loại bộ nhớ chương trình Flash
Nhãn hiệu Microchip Technology / Atmel
Loại RAM dữ liệu SRAM
Trang 14Kích thước ROM dữ liệu 1 kB
Loại ROM dữ liệu EEPROM
Loại giao diện I2C, SPI, USART
Số lượng kênh ADC 8 Channel
Trang 152.4 CÁC LƯỢC ĐỒ
2.4.1 Lược đồ tổng quát
2.4.2 Lược đồ boot
Trang 162.4.3 Lược đồ mạch nguồn
Trang 172.4.4 Lược đồ giao tiếp với USB
Trang 183 CHƯƠNG 3: GIỚI THIỆU CẢM BIẾN VÂN TAY AS6083.1 TỔNG QUAN
Cảm biến 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ếpUSB 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ự độnggá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ácthao 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
• Bảo mật thông tin
• Tham gia kiểm soát truy cập, an toàn (tủ, cửa), máy POS, quầy đạn, các sản phẩm oto vântay, điện thoại vân tay
Trang 19• Dòng điện hoạt động: tối đa 120mA.
• Dòng điện cực đại: tối đa 150mA.
• Thời gian chụp ảnh vân tay: <1,0 giây.
• Diện tích cửa sổ: 14mm x 18mm.
• Chữ ký tệp: 256 bytes.
• Tệp mẫu: 512 bytes.
• Dung lượng lưu trữ: 162 mẫu.
• Xếp hạng an toàn (1-5 thấp đến an toàn cao).
Nguyên lí hoạt dộng của cảm biến vân tay gồm 2 phần
Lấy dữ liệu hình ảnh của vân tay: Khi lấy dữ liệu modul sẽ lấy dữ liệu hình ảnh vân tay 2 lầnthông qua cảm biến quang học và xử lí 2 hình ảnh này để tạo ra 1 mẫu
Kết hợp các dữ liệu để tạo ra mẫu vân tay: Quá trình này xảy ra sau khi đã có hình ảnh vân tay.Đây là quá trình kết hợp 2 mẫu hình ảnh vân tay để tạo ra 1 mẫu Hệ thống sẽ xử lí để lưu trữ vàothư viện của vân tay
3.4 GIAO TIẾP VỚI VI ĐIỀU KHIỂN THÔNG QUA UART
Giao tiếp thông qua UART với tốc độ Baud mặc định là 57600 và có thể cài đặt tốc độ nàytrong dải từ 9600-115200
Trang 203.5 GIAO THỨC TRUYỀN GÓI DỮ LIỆU
• Header 2byte: 2 byte truyền đầu tiên trong gói dữ liệu Được mặc định giá trị 0xEF01.
• Adder 4byte: 4 byte địa chỉ của modul giá trị mặc định ban đầu là 0xFFFFFFF.
• Package identifier 1 byte: định dạng loại gói dữ liệu.
• 0x01: Gói lệnh.
• 0x02: Gói dữ liệu.
• 0x07: Gói xác nhận.
• 0x08: Gói kết thúc dữ liệu.
• Package length (2 byte): chiều dài gói dữ liệu tính từ package content đến checksum.
• Đơn vị chiều dài: byte.
• Package content: Dữ liệu, có thể là lệnh, xác nhận, dữ liệu.
• Checksum 2 byte: Là tổng số học của Package identifier, Package length, Package
content
Trang 214 CHƯƠNG 4: KHÓA CHỐT ĐIỆN LY – 014.1 TỔNG QUAN
Khóa chốt điện từ LY-01 có chức năng hoạt động như một ổ khóa cửa sử dụng Solenoid để kíchđóng mở bằng điện, được sử dụng nhiều trong nhà thông minh hoặc các loại tủ, cửa phòng, cửakho…, khóa chốt điện từ LY-01 sử dụng điện áp 12VDC, là loại thường đóng (cửa đóng) với chấtlượng tốt, độ bền cao Khóa có thể sử dụng chung với các mạch chức năng tạo thành một hệ thốngthông minh
4.2 THÔNG SỐ KĨ THUẬT
• Thời gian mở khóa: 0-10 giây.
• Dòng điện làm việc: 1A / 1.2A.
Trang 224.3 KÍCH THƯỚC VÀ CẤU TẠO
4.4 CÁCH NỐI MẠCH
Trang 235 CHƯƠNG 5: MỘT SỐ LINH KIỆN KHÁC5.1 ĐÈN LED
5.1.1 Tổng quan
LED (viết tắt của Light Emitting Diode, có nghĩa là diode phát quang), là các diod có khả năngphát ra ánh sáng hay tia hồng ngoại, tử ngoại Công nghệ LED là công nghệ chiếu sáng bằng 2 điệncực với sự hỗ trợ của các loại vật liệu bán dẫn và công nghệ nano
5.1.2 Đặc điểm
Lượng nhiệt sinh ra trong quá trình hoạt động của đèn LED cũng thấp hơn rất nhiều (gần nhưkhông đáng kể) so với các loại bóng đèn thông thường hiện nay, đó cũng chính là một trong những
lý do khiến đèn LED tiết kiệm điện năng hơn các loại bóng đèn khác
Bên cạnh đó đèn LED có những ưu điểm khác như khi hoạt động không sinh ra các tia hồngngoại hay tia cực tím Những ưu điểm của loại đèn này là không thể phủ nhận, những thiết kế vớinhiều phong cách khác nhau đã và đang biến đèn LED trở thành một thiết bị chiếu sáng đáng đượclựa chọn cho không gian sống của mỗi gia đình và các công trình xây dựng
Bất kỳ sự chấn động nhẹ hay va chạm nào thì dây tóc của bóng đèn huỳnh quang có thể đứt vàdẫn đến tình trạng cháy nổ nhưng LED do cấu tạo an toàn và nhỏ gọn không dễ dàng bị phá hủy và
hư hỏng LED còn an toàn hơn cho người sử dụng về lâu dài và an toàn cho môi trường vì khôngchứa thủy ngân Ánh sáng LED liên tục và không nhấp nháy như bóng đèn huỳnh quang vốn bị xem
là nguyên nhân của chứng đau nửa đầu và động kinh
Đèn LED thay thế đèn sợi đốt và đèn huỳnh quang bởi những ưu điểm như tiết kiệm nănglượng, tuổi thọ cao, tích cỡ nhỏ, nhiệt năng sinh ra trong quá trình hoạt động không đáng kể, hoạtđộng tốt trong điều kiện nhiệt độ thấp, không sử dụng thủy ngân như các loại bóng huỳnh quangthông thường
Ánh sáng phát ra của đèn LED có màu sắc phụ thuộc vào chất liệu làm ra nó Ví dụ như đènLED màu đỏ được làm từ các thành phần hóa học như nhôm, gali, a-xen Đèn LED màu trắng đượctạo ra bằng cách bao phủ một lớp photpho màu vàng bên ngoài đèn LED xanh da trời