CHƯƠNG 1 GIỚI THIỆU: Tổng quan đề tài, mục tiêu, phương pháp, đối tượng và phạm vi nghiên cứu. CHƯƠNG 2 CƠ SỞ LÝ THUYẾT: Kiến thức cơ bản về RFID, PIC16F887, các phần cứng sử dụng và giao thức truyền dữ liệu. CHƯƠNG 3 THIẾT KẾ HỆ THỐNG: Mô hình tổng quát, các khối chức năng, thiết bị sử dụng. CHƯƠNG 4 KẾT QUẢ: Kết quả thực nghiệm và đánh giá hiệu suất hệ thống.
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN: Kết luận, ưu điểm/hạn chế, định hướng phát triển. 3 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU PHẦN CỨNG 2.1: PIC16F887 PIC16F887 là một vi điều khiển 8-bit thuộc họ PIC16 của hãng Microchip, được sử dụng rộng rãi trong các ứng dụng nhúng nhờ sự ổn định, linh hoạt và dễ lập trình. Đây là một trong những dòng vi điều khiển phổ biến trong giảng dạy và nghiên cứu, đặc biệt thích hợp cho sinh viên ngành điện – điện tử, điều khiển và tự động hóa. Vi điều khiển PIC16F887 là một linh kiện mạnh mẽ với 40 chân, được sử dụng trong đồ án nhờ cấu hình phần cứng vượt trội và các tính năng linh hoạt.
Với tập lệnh 35 lệnh cơ bản, mỗi lệnh 14 bit thực thi trong 1 chu kỳ lệnh, vi điều khiển đạt tốc độ xử lý tối đa 20 MHz (chu kỳ lệnh 200 ns). Bộ nhớ Flash 8K x 14 bit hỗ trợ lập trình lại đến 100.000 lần, kết hợp với 368 byte RAM và 256 byte EEPROM (lưu trữ dữ liệu hơn 40 năm, 1 triệu lần ghi/xóa) đáp ứng tốt nhu cầu lưu trữ chương trình và dữ liệu. PIC16F887 có 5 cổng I/O với 35 chân khả trình, tích hợp 14 kênh ADC 10-bit, 2 kênh PWM, 3 bộ định thời (Timer0, Timer1, Timer2), và các mô-đun giao tiếp UART, SPI, I2C. Nhờ đó, vi điều khiển dễ dàng kết nối với các thiết bị ngoại vi như cảm biến LM35, LCD 16x2, module RFID RC522, Bluetooth, hoặc động cơ servo.
Sử dụng ngôn ngữ CCS C với các thư viện hỗ trợ, đồ án tận dụng hiệu quả các tính năng của PIC16F887 để xây dựng hệ thống điều khiển và giao tiếp ổn định, đáp ứng 4 tốt các yêu cầu kỹ thuật.2: Sơ đồ chân PIC16F887 Vi điều khiển PIC 16F887 có tổng cộng 40 chân, trong đó phần lớn là các chân đa chức năng, tức mỗi chân có thể đảm nhiệm nhiều nhiệm vụ khác nhau tùy theo cấu hình phần mềm. Các chân được chia thành các nhóm cổng I/O chính bao gồm PORTA, PORTB, PORTC, PORTD và PORTE. PORTA (RA0 đến RA5) gồm 6 chân (chân 2 đến chân 7), có thể dùng làm I/O kỹ thuật số hoặc ngõ vào analog cho bộ chuyển đổi ADC. Ngoài ra, một số chân như RA0 và RA1 còn đảm nhận chức năng đầu vào của bộ so sánh tương tự (comparator), và RA2 có thể dùng làm đầu ra điện áp tham chiếu (Vref+).
PORTB (RB0 đến RB7) nằm trên các chân từ 33 đến 40, cung cấp 8 chân I/O kỹ thuật số. Trong đó, RB0 là chân đặc biệt có thể cấu hình làm ngắt ngoài (INT). Các chân RB4 đến RB7 hỗ trợ tính năng ngắt khi có sự thay đổi mức logic (interrupt-on- change), rất hữu ích trong các ứng dụng như bàn phím ma trận hoặc cảm biến có tín hiệu thay đổi. PORTC (RC0 đến RC7) nằm ở các chân 15 đến 18 và 23 đến 26.
Đây là cổng rất đa năng: RC6 (TX) và RC7 (RX) được sử dụng trong giao tiếp nối tiếp UART; RC3 (SCK/SCL), RC4 (SDI/SDA), RC5 (SDO) có thể cấu hình cho giao tiếp SPI hoặc I²C; RC1 và RC2 có thể sử dụng trong mô-đun CCP để tạo tín hiệu PWM hoặc đo thời gian xung. 5 PORTD (RD0 đến RD7) bao gồm 8 chân từ chân 19 đến 22 và 27 đến 30. Đây là cổng I/O số thuần, thường được sử dụng cho truyền dữ liệu song song 8 bit, chẳng hạn như điều khiển LCD hoặc kết nối với bộ nhớ ngoài. Ngoài ra, RE3 (chân 1) là chân đặc biệt chỉ dùng để kiểm tra cấu hình bộ nhớ (không dùng làm I/O).
Ngoài các cổng I/O, PIC 16F887 còn có các chân chuyên dụng như MCLR (chân 1) dùng để reset vi điều khiển (thường nối qua điện trở 10kΩ lên VDD), VDD (chân 11 và 32) cấp nguồn dương, VSS (chân 12 và 31) nối đất, và OSC1/OSC2 (chân 13 và 14) dùng để kết nối bộ dao động thạch anh bên ngoài cho chức năng tạo xung clock.2 Module RC522 Hình 2.3: Module RC522 Module RC522 có thể được sử dụng để đọc và ghi dữ liệu trên thẻ RFID. Thẻ RFID là một thiết bị nhỏ gọn có chứa dữ liệu được mã hóa. Dữ liệu này có thể được sử dụng để xác thực người dùng, kiểm soát truy cập hoặc theo dõi tài sản. Module RC522 có một số tính năng quan trọng bao gồm: Tần số 13,56MHz: Đây là tần số tiêu chuẩn cho các ứng dụng RFID; Khả năng đọc và ghi dữ liệu: Module RC522 có thể được sử dụng để đọc và ghi dữ liệu trên thẻ RFID; Dễ sử dụng vì Module RC522 có thể được sử dụng với nhiều loại vi điều khiển khác nhau.
6 Module RC522 là một thành phần quan trọng trong hệ thống khóa cửa thông minh, hoạt động với nguồn điện 3. Thiết bị này tiêu thụ dòng điện trong khoảng từ 13 đến 26mA, phù hợp với các ứng dụng tiết kiệm năng lượng. Module RC522 hoạt động ở tần số 13.56 MHz, cho phép giao tiếp hiệu quả với các thẻ RFID trong phạm vi khoảng cách từ 0 đến 60mm. Giao tiếp với vi điều khiển được thực hiện thông qua giao thức SPI, đảm bảo truyền dữ liệu nhanh chóng và ổn định.
Kích thước của module là 40mm x 60mm, nhỏ gọn và dễ dàng tích hợp vào các hệ thống nhúng. Tốc độ truyền dữ liệu tối đa đạt 10 Mbit/s, hỗ trợ xử lý thông tin nhanh, đáp ứng tốt nhu cầu xác thực thẻ trong thời gian thực.4: Sơ đồ chân module RC522 Chức năng của từng chân giao tiếp với vi điều khiển PIC16F887 theo chuẩn SPI: SDA: chọn chip khi giao tiếp chuẩn SPI (chân được kích hoạt khi mức thấp). SCK: Chân xung Clock truyền nối tiếp. MOSI: Truyền khi cấu hình Master, nhận khi cấu hình Slave.
Dữ liệu truyền từ master đến slave thường được gửi với MSB trước. MISO: Nhận khi cấu hình Master, truyền khi cấu hình Slave. Dữ liệu truyền ngược từ slave đến master thường được gửi với LSB trước. IRQ: Chân ngắt.
Trong mạch không sử dụng đến. GND: Chân nối đất. RST: Chân reset lại module.3V: Cung cấp nguồn 3.3V cho module RC522. 7 Module RC522 là một thiết bị đọc thẻ RFID phổ biến, được ứng dụng rộng rãi trong nhiều hệ thống điều khiển thông minh.
Trong đồ án này, module RC522 được tích hợp nhằm tăng cường tính bảo mật và tiện lợi cho người dùng. Một trong những ứng dụng tiêu biểu là hệ thống khóa mở cửa, cho phép người dùng mở cửa bằng cách quét thẻ RFID đã đăng ký, thay thế cho phương pháp mở khóa truyền thống bằng chìa khóa cơ. Bên cạnh đó, RC522 còn được sử dụng trong hệ thống báo động, nơi người dùng có thể kích hoạt hoặc vô hiệu hóa hệ thống an ninh bằng cách xác thực qua thẻ RFID. Những ứng dụng này không chỉ nâng cao tính an toàn mà còn mang lại sự tiện lợi và hiện đại cho các hệ thống điều khiển truy cập.3 Bàn phím keypad Hình 2.5: Bàn phím keypad Bàn phím mềm 4x4 keypad có thiết kế nhỏ gọn, dễ kết nối và sử dụng, các chân của 16 phím được nối theo ma trận, tín hiệu khi nhấn phím sẽ là tín hiệu GND (0VDC) hoặc Vcc (5VDC) tùy vào cách quét phím của các bạn kích vào chân Vi điều khiển, bàn phím còn tích hợp vị trí để lắp thêm tụ chống dội (chống nhiễu), phù hợp cho các ứng dụng điều khiển bằng phím bấm.
Keypad trong hệ thống khóa cửa thông minh là một thành phần quan trọng, được thiết kế với 8 chân để kết nối với vi điều khiển, đảm bảo khả năng giao tiếp hiệu quả. Thiết bị này bao gồm 16 phím nhấn, cho phép người dùng nhập mật khẩu hoặc các lệnh điều khiển một cách linh hoạt. Keypad hoạt động ổn định trong dải điện áp từ 3.3V đến 5V, phù hợp với nguồn cung cấp tiêu chuẩn của hệ thống. Trong quá trình 8 sử dụng, keypad được lắp đặt dễ dàng và có độ bền cao, đáp ứng tốt các yêu cầu vận hành trong môi trường thực tế.
Bàn phím keypad 4x4 là một thiết bị đầu vào dạng ma trận được sử dụng phổ biến trong các hệ thống điện tử và nhúng. Với cấu tạo đơn giản gồm 16 phím được bố trí theo 4 hàng và 4 cột, bàn phím này cho phép người dùng dễ dàng nhập dữ liệu số hoặc lựa chọn các lệnh điều khiển. Một trong những ứng dụng tiêu biểu của keypad 4x4 là trong các hệ thống khóa điện tử, nơi người dùng có thể nhập mã PIN để mở khóa. Ngoài ra, bàn phím còn được sử dụng để điều hướng và chọn menu trong các thiết bị có màn hình LCD, như máy đo, thiết bị điều khiển công nghiệp, hoặc các hệ thống tự động hóa.
Bên cạnh đó, keypad 4x4 cũng được ứng dụng rộng rãi trong các thiết bị như máy bán hàng tự động, máy rút tiền ATM, két sắt điện tử,. nhờ khả năng tương tác đơn giản và độ tin cậy cao. Trong lĩnh vực công nghiệp, bàn phím này còn được dùng làm thiết bị điều khiển cho các máy móc tự động, cho phép người vận hành nhập nhanh các thông số hoặc lệnh điều khiển. Nhờ tính linh hoạt, chi phí thấp và dễ tích hợp với vi điều khiển như PIC, bàn phím keypad 4x4 là một lựa chọn lý tưởng trong nhiều hệ thống điều khiển hiện nay.4 Màn hình LCD Hình 2.6: Màn hình LCD 1602 Màn hình LCD 1602 xanh lá được sử dụng rộng rãi trong các ứng dụng khác 9 nhau trong vi điều khiển.
LCD hiển thị 16 ký tự, 2 dòng trên màn hình đen, chữ đen, phông nền xanh lá cây, có thể hiển thị các ký tự đặc biệt. Có thể giao tiếp nhiều với các loại vi điều khiển khác nhau, giá thành rẻ, nhiều code mẫu và dễ sử dụng thích hợp cho sinh viên. Màn hình LCD 1602 hoạt động với điện áp 5V, đảm bảo tương thích với nguồn cung cấp tiêu chuẩn của vi điều khiển. Thiết bị này có độ phân giải 16x2, cho phép hiển thị 16 ký tự trên mỗi dòng và 2 dòng văn bản, rất phù hợp để hiển thị thông tin trạng thái như "Cửa mở" hoặc "Sai mật khẩu".
LCD 1602 được thiết kế với 16 chân hoạt động, hỗ trợ kết nối linh hoạt với vi điều khiển qua giao tiếp song song. Chất lượng hiển thị đạt tiêu chuẩn, với nền đen, chữ trắng, và độ tương phản cao, mang lại trải nghiệm đọc rõ ràng. Khoảng cách giữa các chân là 0.