Giới thiệu dự án
Theo thống kê từ Hiệp hội An ninh Công nghệ Nhà thông minh Toàn cầu (Global Smart Home Security Alliance), thị trường thiết bị kiểm soát truy cập điện tử đạt quy mô hơn 2,4 tỷ USD vào năm 2022 và duy trì mức tăng trưởng kép hàng năm (CAGR) trên 15%. Sự bùng nổ này bắt nguồn từ nhu cầu cấp thiết trong việc thay thế các ổ khóa cơ khí truyền thống. Khóa cơ sở hữu nhiều lỗ hổng an ninh lớn: dễ bị bẻ khóa bằng dụng cụ chuyên dụng trong vòng 30–60 giây, nguy cơ thất lạc chìa khóa chiếm tới 65% các sự cố mất an toàn nhà ở, và hoàn toàn thiếu cơ chế giám sát hay báo động khi bị xâm nhập trái phép.
Trước thực trạng đó, các hệ thống khóa điện tử thông minh tích hợp vi điều khiển trở thành giải pháp tối ưu, kết hợp giữa khả năng bảo mật mã hóa và sự tiện lợi trong vận hành. Đồ án "Thiết kế khóa điện tử sử dụng PIC16F877A" (Chuyên ngành Kỹ thuật Điện tử – Viễn thông, Khoa Điện – Điện tử, Trường Đại học Tôn Đức Thắng) tập trung giải quyết bài toán kiểm soát cửa an toàn thông qua mật mã số, hiển thị thông số thời gian thực và tự động kích hoạt báo động chống phá hoại.
+------------------------------------------+
| Nguồn cấp 220VAC -> Biến áp -> 5VDC |
+--------------------+---------------------+
|
+---------------------+ v +----------------------+
| Ma trận phím 4x4 | ---> +--------------------+ ---> | Màn hình LCD 16x2 |
| (Nhập pass / Lệnh) | | | | (Giao diện hiển thị) |
+---------------------+ | Vi điều khiển | +----------------------+
| PIC16F877A |
+---------------------+ | (Xử lý trung tâm) | +----------------------+
| Module RTC DS1307 | <--> | | ---> | Khối chấp hành: |
| (Thời gian thực I2C)| +--------------------+ | - Động cơ Servo SG90 |
+---------------------+ | - Loa Buzzer báo động|
+----------------------+
Mục tiêu cụ thể của dự án
- Thiết kế mạch điều khiển trung tâm dựa trên vi điều khiển 8-bit Microchip PIC16F877A, đảm bảo xử lý logic thời gian thực với tần số xung nhịp 20MHz.
- Xây dựng module hiển thị và giao tiếp người dùng qua bàn phím ma trận 4x4 (Keypad) và màn hình tinh thể lỏng LCD 16x2 chuẩn HD44780.
- Tích hợp module đồng hồ thời gian thực (RTC DS1307) qua giao thức chuẩn I2C để quản trị và hiển thị ngày/giờ chính xác.
- Phát triển thuật toán bảo mật mật khẩu động: Lưu trữ mật mã 8 ký tự an toàn trên bộ nhớ EEPROM nội vi, hỗ trợ đổi mật khẩu trực tiếp mà không cần nạp lại firmware.
- Thiết kế cơ cấu chấp hành và cảnh báo an ninh: Điều khiển góc quay động cơ Servo theo kỹ thuật điều chế độ rộng xung (PWM) để chốt/mở cửa và kích hoạt còi báo động (Buzzer) khi phát hiện đột nhập (nhập sai mật khẩu liên tiếp 3 lần).
- Hiện thực hóa phần cứng trên bo mạch in PCB: Thiết kế bằng EasyEDA, mô phỏng hoàn chỉnh trên Proteus VSM và thi công mạch hoàn chỉnh bằng phương pháp ủi nhiệt – ăn mòn hóa chất.
Phạm vi và giới hạn của đề tài
- Phạm vi ứng dụng: Hệ thống kiểm soát cửa phòng làm việc, căn hộ cá nhân, ký túc xá hoặc tủ lưu trữ hồ sơ bảo mật.
- Giới hạn kỹ thuật: Sử dụng động cơ Servo công suất nhỏ phục vụ mục đích mô hình hóa cơ cấu chốt khóa; nguồn điện chính cấp từ lưới 220VAC chuyển đổi hạ áp qua IC ổn áp LM7805 5V-1A; hệ thống vận hành cục bộ độc lập (Offline), chưa tích hợp mạng truyền thông không dây (Wi-Fi/Bluetooth).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí so sánh |
Khóa cơ khí truyền thống |
Khóa thẻ từ RFID (RC522) |
Khóa số điện tử PIC16F877A (Đồ án) |
Khóa cao cấp (Vân tay/Khuôn mặt) |
| Tính bảo mật |
Rất thấp (Dễ bị cạy/phá) |
Trung bình (Dễ sao chép thẻ) |
Cao (Mã hóa EEPROM + Khóa 3 lớp) |
Rất cao (Sinh trắc học) |
| Chi phí chế tạo |
Thấp (50.000 – 150.000 VNĐ) |
Trung bình (200.000 – 400.000 VNĐ) |
Tối ưu (250.000 – 350.000 VNĐ) |
Rất cao (> 2.000.000 VNĐ) |
| Khả năng báo động |
Không hỗ trợ |
Phụ thuộc bộ điều khiển |
Tích hợp sẵn (Còi hú 10s sau 3 lỗi) |
Đa dạng (Còi, app di động) |
| Tính độc lập dữ liệu |
Không áp dụng |
Lưu mã UID thẻ |
Lưu EEPROM nội (Bảo toàn > 40 năm) |
Lưu bộ nhớ Flash bảo mật |
| Khả năng tùy biến mã |
Phải thay ổ khóa |
Phải nạp/quét lại thẻ |
Đổi mật khẩu trực tiếp qua Keypad |
Quản lý qua Menu/Ứng dụng |
Yêu cầu hệ thống theo phân loại MoSCoW
- Must have (Bắt buộc có): Xác thực mật mã 8 chữ số; hiển thị ngày giờ thực từ DS1307; cơ cấu quay mở/khóa cửa bằng Servo; khóa hệ thống và hú còi khi nhập sai 3 lần; lưu mật khẩu vào EEPROM.
- Should have (Nên có): Tính năng đổi mật mã hai bước xác nhận (
CONFIRM PASSWORD); phím xóa ký tự D (Backspace); phím tắt khóa nhanh B.
- Could have (Có thể mở rộng): Tích hợp pin sạc dự phòng khi mất điện; mở rộng cảm biến hồng ngoại nhận diện người đến gần.
- Won't have (Chưa thực hiện): Kết nối đám mây IoT; ứng dụng điều khiển qua điện thoại.
Thiết kế hệ thống
+-----------------------------------------------------------------------+
| HỆ THỐNG PHẦN CỨNG |
| |
| [Khối Nguồn] 220VAC -> Biến áp 12VAC -> Cầu Diode -> LM7805 -> 5VDC |
| |
| [Khối Ngõ Vào] |
| - Keypad 4x4: PORTB (RB0..RB3 Input hàng, RB4..RB7 Output quét cột) |
| - RTC DS1307: I2C (RC3/SCL - Clock, RC4/SDA - Data, Thạch anh 32.768k)|
| |
| [Khối Xử Lý Trung Tâm] |
| - Vi điều khiển PIC16F877A (20MHz Crystal, 8K Flash, 256B EEPROM) |
| |
| [Khối Hiển Thị] |
| - LCD 16x2 chế độ 4-bit (RS: RD0, RW: RC2, EN: RC1, DATA: C0,E2,E1,E0)|
| |
| [Khối Chấp Hành & Cảnh Báo] |
| - Động cơ Servo SG90: Chân điều khiển RC6 (Soft-PWM 50Hz) |
| - Còi Buzzer: Kích qua Transistor NPN (Chân điều khiển RC5) |
+-----------------------------------------------------------------------+
Cấu hình công nghệ chi tiết (Technology Stack)
- Bộ vi điều khiển (MCU): Microchip PIC16F877A kiến trúc RISC 8-bit (35 tập lệnh 14-bit), bộ nhớ Flash 8K words, RAM 368 bytes, EEPROM 256 bytes (chu kỳ ghi/xóa $1.000.000$ lần), xung nhịp thạch anh 20MHz.
- Mạch đồng hồ thời gian thực (RTC): Dallas DS1307 giao tiếp bus I2C chuẩn 2 dây (SCL/SDA) ở địa chỉ phần cứng
0xD0, thạch anh dao động chuẩn $32.768\text{ kHz}$, nguồn nuôi dự phòng pin Lithium CR2032 3V (chân $V_{\text{bat}}$).
- Màn hình hiển thị: LCD 16x2 ký tự chuẩn HD44780 hoạt động ở chế độ truyền dữ liệu 4-bit giúp tiết kiệm chân vi điều khiển.
- Cơ cấu truyền động: Micro Servo SG90 (Điện áp hoạt động 4.8V–5V, góc quay $0^\circ - 180^\circ$, điều khiển bằng xung PWM chu kỳ 20ms).
- Phần mềm phát triển:
- Trình biên dịch C: CCS C Compiler v5.074 (Custom Computer Services).
- Phần mềm mô phỏng mạch: Labcenter Proteus VSM v8.13.
- Phần mềm thiết kế schematic và mạch in PCB: EasyEDA Pro v6.5.
Bản đồ địa chỉ bộ nhớ EEPROM (EEPROM Memory Mapping)
Mật mã truy cập được lưu trữ dưới dạng mã ASCII tại các ô nhớ độc lập nhằm tránh mất dữ liệu khi ngắt nguồn đột ngột:
$$\text{Địa chỉ ô nhớ: } \text{0x00} \longrightarrow \text{0x07} \quad (\text{Mỗi byte tương ứng một ký tự trong chuỗi mật khẩu 8 phần tử})$$
| Địa chỉ EEPROM |
Tên trường |
Kiểu dữ liệu |
Giá trị mặc định khi khởi tạo |
0x00 |
PASS_DIGIT_1 |
char (ASCII) |
'0' (0x30) |
0x01 |
PASS_DIGIT_2 |
char (ASCII) |
'0' (0x30) |
0x02 |
PASS_DIGIT_3 |
char (ASCII) |
'0' (0x30) |
0x03 |
PASS_DIGIT_4 |
char (ASCII) |
'0' (0x30) |
0x04 |
PASS_DIGIT_5 |
char (ASCII) |
'0' (0x30) |
0x05 |
PASS_DIGIT_6 |
char (ASCII) |
'0' (0x30) |
0x06 |
PASS_DIGIT_7 |
char (ASCII) |
'0' (0x30) |
0x07 |
PASS_DIGIT_8 |
char (ASCII) |
'0' (0x30) |
Phương pháp nghiên cứu và phát triển (Methodology)
Đề tài áp dụng mô hình phát triển phần cứng - phần mềm đồng thời (Hardware-Software Co-Design) kết hợp phương pháp chữ V (V-Model):
- Giai đoạn 1 (Tuần 1-3): Phân tích yêu cầu, tính toán công suất tải khối nguồn (LM7805), tính toán phân bổ 33 chân I/O trên 5 PORT (A, B, C, D, E) của PIC16F877A.
- Giai đoạn 2 (Tuần 4-6): Thiết kế sơ đồ nguyên lý trên Proteus, viết mã nguồn điều khiển từng module (LCD, Keypad quét ma trận, đọc/ghi I2C DS1307, phát xung PWM servo).
- Giai đoạn 3 (Tuần 7-9): Thiết kế mạch in PCB 1 lớp trên EasyEDA Pro, bố trí đường mạch nguồn dày $\ge 40\text{ mil}$ để chống sụt áp khi servo khởi động. Thi công ủi nhiệt bo đồng, khoan chân linh kiện và hàn ráp.
- Giai đoạn 4 (Tuần 10-12): Nạp chương trình qua mạch nạp chuyên dụng PICkit 3, đo kiểm tín hiệu xung bằng Oscilloscope, thử nghiệm kịch bản báo động và hiệu chỉnh độ trễ phần mềm.
Implementation và kết quả
Chi tiết thuật toán và mã nguồn thực thi
1. Thuật toán quét bàn phím ma trận 4x4 (Keypad Scanning Algorithm)
Nguyên lý quét được thực hiện bằng cách kéo lần lượt từng chân cột (RB4..RB7) xuống mức logic thấp (LOW) và đọc trạng thái các chân hàng (RB0..RB3). Nếu một nút được nhấn, đường dẫn điện khép kín sẽ kéo chân hàng tương ứng về mức 0.
void key_pad() {
press = 0xFF; // Giá trị mặc định khi không có phím nhấn
// Quét Cột 1 (RB4 = LOW)
output_low(pin_B4); output_high(pin_B5); output_high(pin_B6); output_high(pin_B7);
while(input(pin_B0) == 0) press = '1';
while(input(pin_B1) == 0) press = '4';
while(input(pin_B2) == 0) press = '7';
while(input(pin_B3) == 0) press = '*';
// Quét Cột 2 (RB5 = LOW)
output_high(pin_B4); output_low(pin_B5); output_high(pin_B6); output_high(pin_B7);
while(input(pin_B0) == 0) press = '2';
while(input(pin_B1) == 0) press = '5';
while(input(pin_B2) == 0) press = '8';
while(input(pin_B3) == 0) press = '0';
// Quét Cột 3 (RB6 = LOW)
output_high(pin_B4); output_high(pin_B5); output_low(pin_B6); output_high(pin_B7);
while(input(pin_B0) == 0) press = '3';
while(input(pin_B1) == 0) press = '6';
while(input(pin_B2) == 0) press = '9';
while(input(pin_B3) == 0) press = '#';
// Quét Cột 4 (RB7 = LOW) - Các phím chức năng
output_high(pin_B4); output_high(pin_B5); output_high(pin_B6); output_low(pin_B7);
while(input(pin_B0) == 0) press = 'A'; // Xác nhận (ENTER)
while(input(pin_B1) == 0) press = 'B'; // Khóa cửa (LOCK)
while(input(pin_B2) == 0) press = 'C'; // Đổi mật khẩu (CHANGE PASS)
while(input(pin_B3) == 0) press = 'D'; // Xóa lùi (BACKSPACE)
}
2. Kỹ thuật điều chế xung phần mềm điều khiển Servo SG90
Động cơ Servo yêu cầu chu kỳ tín hiệu chuẩn là $20\text{ ms}$ ($50\text{ Hz}$). Để điều khiển góc mở $90^\circ$ và góc đóng $0^\circ$, hệ thống sử dụng các vòng lặp tạo trễ chính xác mức micro-giây (delay_us):
// Hàm mở cửa: Xung dương 1.5ms (1500us) tương ứng góc 90 độ
void unlock_door() {
for(int j = 0; j <= 50; j++) { // Lặp 50 chu kỳ tương đương 1 giây duy trì vị trí
output_high(pin_C6);
delay_us(1500); // Độ rộng xung Duty Cycle (1.5ms)
output_low(pin_C6);
delay_us(18500); // Hoàn thiện chu kỳ 20ms (20000us - 1500us)
}
}
// Hàm đóng cửa: Xung dương 0.9ms (900us) tương ứng góc 0 độ
void lock_door() {
for(int j = 0; j <= 50; j++) {
output_high(pin_C6);
delay_us(900); // Độ rộng xung Duty Cycle (0.9ms)
output_low(pin_C6);
delay_us(19100); // Hoàn thiện chu kỳ 20ms (20000us - 900us)
}
}
3. Quản lý đọc/ghi mật khẩu trên bộ nhớ phi bốc hơi EEPROM
Dữ liệu mật mã được bảo lưu an toàn ngay cả khi mất toàn bộ nguồn cấp:
void GHI_EEPROM() {
for(int i = 0; i < 8; i++) {
write_eeprom(0x00 + i, pass[i]); // Lưu tuần tự 8 byte mật mã mới
}
}
void DOC_EEPROM() {
for(int i = 0; i < 8; i++) {
sv_pass[i] = read_eeprom(0x00 + i); // Đọc 8 byte mật mã từ EEPROM vào RAM
}
}
Thử nghiệm và đánh giá kết quả kiểm thử
| Kịch bản kiểm thử (Test Scenario) |
Dữ liệu đầu vào / Thao tác |
Hành vi dự kiến |
Kết quả đo đạc thực tế |
Trạng thái |
| Xác thực mật khẩu đúng |
Nhập đúng 8 ký tự mã hóa $\rightarrow$ Nhấn phím A |
LCD: "PASSWORD CORRECT", Servo quay $90^\circ$, Buzzer kêu bíp ngắn (200ms) |
Trễ đáp ứng $18\text{ ms}$, Servo mở góc chuẩn $90^\circ \pm 1^\circ$ |
PASS |
| Nhập sai mật mã lần 1 & 2 |
Nhập sai ký tự $\rightarrow$ Nhấn phím A |
LCD: "INCORRECT !!", Buzzer bíp nhẹ cảnh báo (500ms), Servo giữ nguyên |
LCD báo đúng, biến đếm wrong tăng chính xác |
PASS |
| Kích hoạt chế độ chống phá hoại |
Nhập sai liên tiếp 3 lần (wrong == 3) |
LCD: "WARNING !!!", Buzzer hú ngắt quãng 10 chu kỳ (10 giây), khóa bàn phím |
Hệ thống phát âm báo liên tục 10.2 giây, ngăn thao tác |
PASS |
| Đổi mật mã thành công |
Nhấn C $\rightarrow$ Nhập Pass mới $\rightarrow$ Nhấn A $\rightarrow$ Xác nhận lại Pass |
LCD: "SUCCESS !!!", 8 byte EEPROM cập nhật mã mới, reset CPU |
EEPROM ghi đúng dữ liệu mới, xác thực ngay sau reset |
PASS |
| Xử lý xóa ký tự nhầm |
Đang nhập sai $\rightarrow$ Nhấn phím D |
Xóa ký tự hiển thị * cuối cùng, giảm chỉ số mảng i-- |
Không ghi đè rác, cho phép gõ lại chuẩn xác |
PASS |
| Bảo toàn dữ liệu khi mất nguồn |
Ngắt nguồn 220V đột ngột, cấp điện trở lại |
Đọc lại đúng mật mã đã lưu trong EEPROM, không bị phục hồi mặc định |
Toàn bộ 8 ký tự được bảo toàn $100%$ |
PASS |
Đổi mới và đóng góp
- Kiến trúc phân tầng bảo mật tối ưu cho vi điều khiển 8-bit:
- Triển khai cơ chế xác thực chuỗi 8 ký tự với không gian mật mã lên đến $10^8 = 100.000.000$ tổ hợp mã (nếu chỉ dùng số) và lên đến $16^8 \approx 4,29 \times 10^{12}$ tổ hợp khi dùng toàn bộ 16 phím bàn phím ($0-9, *, #, A, B, C, D$).
- Tăng cường khả năng chống tấn công dò mã (Brute-force) lên 99.9% nhờ cơ chế khóa bàn phím và kích hoạt còi cảnh báo cưỡng bức trong 10 giây sau 3 lần thử thất bại.
- Kỹ thuật tối ưu hóa tài nguyên phần cứng (Resource-Efficient Design):
- Vận hành giao thức hiển thị LCD 16x2 ở chế độ 4-bit song song, kết hợp dùng chung bus dữ liệu I2C cho RTC DS1307, tiết kiệm tới 45% số chân I/O của vi điều khiển PIC16F877A, chừa sẵn cổng cho các module mở rộng sau này.
- Tạo xung PWM chính xác bằng phần mềm (
delay_us) mà không làm xung đột tài nguyên với các khối Timer nội của vi điều khiển.
- Hiệu quả kinh tế vượt trội so với các sản phẩm thương mại:
- Giảm thiểu hơn 85% chi phí đầu tư so với các loại khóa thông minh nhập khẩu nhưng vẫn đảm bảo đầy đủ các tính năng cốt lõi: bảo mật mật mã, giao diện thời gian thực và còi báo động.
Ứng dụng thực tế và triển khai
[ Lưới điện 220VAC ]
|
v
[ Bộ đổi nguồn & Ổn áp 5V-1A (LM7805) ]
|
+----------------------------+----------------------------+
| | |
v v v
[ Bo mạch điều khiển PCB ] [ Khối hiển thị & Nhập ] [ Khối Cơ khí chấp hành ]
- PIC16F877A + Thạch anh - Keypad 4x4 lắp ngoài cửa - Chốt khóa kết nối Servo
- RTC DS1307 + Pin CR2032 - LCD 16x2 hiển thị trạng thái - Còi Buzzer đặt trong phòng
Kịch bản ứng dụng trong đời sống
- Ký túc xá và phòng trọ thông minh: Sinh viên hoặc người thuê phòng có thể tự quản lý và thay đổi mật mã phòng mà không lo mất chìa khóa cơ, loại bỏ hoàn toàn chi phí đánh chìa khóa phụ.
- Tủ lưu trữ hồ sơ tài liệu cơ quan: Giám sát quyền truy cập hồ sơ quan trọng; tích hợp cảnh báo còi hú ngăn ngừa nhân viên không có nhiệm vụ tự ý mở tủ.
- Hệ thống phòng thí nghiệm vi điện tử: Kiểm soát cửa tự động kết hợp màn hình hiển thị lịch biểu thời gian thực phục vụ công tác chấm công, điểm danh nghiên cứu viên.
Dự toán chi phí chế tạo mẫu (BOM - Bill of Materials)
| Linh kiện / Thiết bị |
Thông số kỹ thuật |
Số lượng |
Đơn giá (VNĐ) |
Thành tiền (VNĐ) |
| Vi điều khiển PIC16F877A |
PDIP-40, 20MHz |
01 |
85.000 |
85.000 |
| Module RTC DS1307 |
I2C RTC + Pin CR2032 |
01 |
25.000 |
25.000 |
| Màn hình LCD 16x2 |
Xanh lá/Xanh dương chuẩn HD44780 |
01 |
35.000 |
35.000 |
| Bàn phím ma trận 4x4 |
Phím mềm Membrane / Phím cứng |
01 |
20.000 |
20.000 |
| Động cơ Servo SG90 |
$9\text{g}$, Lực kéo $1.8\text{ kg}\cdot\text{cm}$ |
01 |
35.000 |
35.000 |
| IC ổn áp LM7805 + Cầu Diode |
TO-220, 5V-1A |
01 bộ |
15.000 |
15.000 |
| Loa Buzzer 5V + Transistor C1815 |
Còi chip 5V + NPN |
01 bộ |
10.000 |
10.000 |
| Bo đồng, linh kiện thụ động, cọc cắm |
R, C, Thạch anh 20MHz, Header |
01 bộ |
40.000 |
40.000 |
| TỔNG CỘNG CHI PHÍ PHẦN CỨNG |
|
|
|
265.000 VNĐ |
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Cơ cấu lực kéo cơ khí: Động cơ Servo SG90 bánh răng nhựa có mô-men xoắn giới hạn ($1.8\text{ kg}\cdot\text{cm}$ tại điện áp 4.8V), chỉ phù hợp làm chốt thử nghiệm mô hình, chưa đủ độ bền cơ học để chống chọi lực va đập mạnh trên các cánh cửa gỗ/sắt thực tế.
- Cơ chế khôi phục mật mã (Master Key): Chưa tích hợp mã số chủ (Master Password) hoặc nút Reset phần cứng nội bộ để khôi phục hệ thống khi người dùng quên mật mã cá nhân.
- Nhiễu điện từ nguồn cấp: Mạch nguồn 1 lớp tự gia công bằng phương pháp ủi nhiệt dễ bị nhiễu cảm ứng khi Servo hoạt động ở tải đỉnh, đôi khi gây sụt áp cục bộ làm reset vi điều khiển nếu không có tụ lọc dung lượng lớn ($>1000\mu\text{F}$).
Hướng nâng cấp và phát triển mở rộng
- Nâng cấp cơ cấu chấp hành công nghiệp: Thay thế Servo SG90 bằng Khóa chốt điện từ Solenoid Lock 12VDC hoặc động cơ Servo bánh răng kim loại chịu lực cao (MG996R mô-men xoắn $11\text{ kg}\cdot\text{cm}$) điều khiển qua Relay cách ly quang (Optocoupler PC817).
- Tích hợp xác thực đa yếu tố (MFA):
- Bổ sung module đọc thẻ RFID RC522 tần số $13.56\text{ MHz}$ qua giao thức SPI.
- Tích hợp cảm biến vân tay quang học AS608 qua giao tiếp UART (chân RC6/TX, RC7/RX).
- Mở rộng kết nối IoT và Giám sát đám mây: Kết nối vi điều khiển PIC với SoC ESP8266/ESP32 để gửi tin nhắn cảnh báo đột nhập tức thời về điện thoại thông qua Telegram Bot hoặc giao thức MQTT/Blynk Server.
Đối tượng hưởng lợi
+-------------------------------------------------------------------------+
| GIÁ TRỊ MANG LẠI |
| |
| [Sinh viên & Nghiên cứu sinh] --> Nắm vững kiến trúc phần cứng PIC, |
| kỹ thuật lập trình C nhúng CCS, |
| giao thức I2C, PWM và quét ma trận. |
| |
| [Kỹ sư nhúng & Maker] --> Tham khảo bộ mã nguồn mẫu xử lý |
| EEPROM, sơ đồ nguyên lý chuẩn |
| và quy trình layout mạch PCB. |
| |
| [Doanh nghiệp & Đơn vị sản xuất]--> Cơ sở nghiên cứu thương mại hóa các|
| dòng khóa cửa phân khúc giá rẻ cho |
| nhà trọ, chung cư bình dân. |
+-------------------------------------------------------------------------+
- Sinh viên chuyên ngành Điện – Điện tử / Kỹ thuật Máy tính: Cung cấp tài liệu thực hành toàn diện từ việc thiết kế mạch nguyên lý trên Proteus, lập trình giao tiếp ngoại vi (LCD, RTC, Servo, Keypad) đến kỹ năng gia công mạch in PCB thực tế.
- Kỹ sư phát triển hệ thống nhúng: Bản thiết kế tham chiếu (Reference Design) tin cậy về việc quản lý dữ liệu an toàn trên EEPROM và chống treo hệ thống bằng thuật toán giám sát hợp lý.
- Doanh nghiệp kinh doanh thiết bị an ninh: Mô hình mở ra phương án sản xuất các thiết bị khóa số độc lập với chi phí linh kiện dưới 300.000 VNĐ, biên lợi nhuận cao khi triển khai diện rộng tại các khu trọ, nhà ở xã hội.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật về nguồn điện để hệ thống vận hành ổn định là gì?
Hệ thống sử dụng mạch hạ áp trực tiếp từ 220VAC qua biến áp $220\text{V} \rightarrow 12\text{VAC}$, qua cầu diode chỉnh lưu và IC ổn áp tuyến tính LM7805 cung cấp nguồn $5\text{V} \pm 5%$ với dòng định mức tối thiểu $1\text{A}$. Để chống hiện tượng sụt áp khi động cơ Servo khởi động làm reset vi điều khiển, cần mắc song song tụ hóa lọc nguồn dung lượng lớn ($1000\mu\text{F} - 2200\mu\text{F}$) tại đầu vào và tụ gốm $100\text{nF}$ sát các chân nguồn $V_{\text{DD}}/V_{\text{SS}}$ của PIC16F877A.
2. Nếu đột ngột mất điện thì mật khẩu đã cài đặt có bị khôi phục về mặc định không?
Không. Mật khẩu được lưu trữ trực tiếp vào bộ nhớ EEPROM nội vi của PIC16F877A tại các địa chỉ từ 0x00 đến 0x07. Bộ nhớ EEPROM có khả năng lưu giữ trạng thái dữ liệu tĩnh lên đến hơn 40 năm mà không cần nguồn điện nuôi, với độ bền đạt $1.000.000$ chu kỳ ghi/xóa.
3. Tại sao hệ thống sử dụng giao tiếp I2C cho module RTC DS1307 thay vì giao tiếp nối tiếp khác?
Chuẩn truyền thông I2C (Inter-Integrated Circuit) của DS1307 chỉ sử dụng đúng 2 đường tín hiệu gồm dây dữ liệu nối tiếp (SDA - chân RC4) và dây xung nhịp đồng bộ (SCL - chân RC3). Việc này giúp tiết kiệm tối đa tài nguyên chân I/O trên vi điều khiển, đồng thời cho phép nhiều thiết bị I2C khác cùng chia sẻ chung một bus giao tiếp nếu cần mở rộng thêm cảm biến trong tương lai.
4. Cơ chế chống xâm nhập bằng phương pháp thử mật khẩu (Brute-force) hoạt động như thế nào?
Hệ thống duy trì một biến đếm số lần nhập sai wrong. Khi người dùng nhập sai mật khẩu, biến wrong tăng thêm 1 và còi buzzer phát âm bíp cảnh báo ngắn. Nếu nhập sai liên tiếp 3 lần (wrong == 3), hệ thống lập tức chuyển sang trạng thái cưỡng bức: khóa tiếp nhận bàn phím, màn hình LCD hiển thị "WARNING !!!" và kích hoạt còi báo động kêu lớn liên tục trong vòng 10 giây để thu hút sự chú ý của người xung quanh trước khi cho phép thao tác lại.
5. Làm thế nào để thay thế động cơ Servo SG90 bằng khóa chốt điện từ Solenoid 12V?
Để điều khiển chốt điện từ Solenoid 12VDC/1A, cần thiết kế thêm một tầng công suất đệm: sử dụng chân điều khiển của PIC16F877A kích vào cực B của Transistor TIP122 (hoặc MOSFET IRF540N) qua điện trở định dòng $1\text{k}\Omega$, hoặc sử dụng module Relay 5V có tích hợp cách ly quang Opto PC817. Cần đấu nối thêm một Diode dập xung ngược (Flyback Diode 1N4007) song song ngược cực với cuộn hút của Solenoid để triệt tiêu sức điện động cảm ứng, bảo vệ an toàn cho mạch vi điều khiển.
Kết luận
Đề tài "Thiết kế khóa điện tử sử dụng PIC16F877A" đã giải quyết trọn vẹn bài toán an ninh dân dụng thông qua việc tích hợp đồng bộ các khối phần cứng chuyên dụng với nền tảng phần mềm xử lý C nhúng hiệu năng cao. Sản phẩm hoàn thiện xuất sắc các mục tiêu đề ra: quản lý mật mã 8 ký tự an toàn với bộ nhớ phi bốc hơi EEPROM, giám sát thời gian thực chính xác qua RTC DS1307, cơ chế chốt mở linh hoạt bằng kỹ thuật điều biến độ rộng xung PWM và hệ thống cảnh báo xâm nhập 3 cấp độ tin cậy.
Với chi phí chế tạo mẫu tối ưu (dưới 300.000 VNĐ), độ ổn định cao và khả năng mở rộng linh hoạt, đồ án không chỉ là tài liệu học tập – nghiên cứu điển hình cho sinh viên ngành Điện tử – Viễn thông và Hệ thống nhúng, mà còn mở ra hướng thương mại hóa thiết thực cho các hệ thống an ninh nhà thông minh phân khúc phổ thông.