I. Giới thiệu về Hệ thống Khóa Cửa RFID Khách Sạn bằng Arduino
Hệ thống khóa cửa RFID khách sạn là một giải pháp hiện đại trong lĩnh vực quản lý bảo mật và tiện nghi cho các cơ sở lưu trú. Dự án này được xây dựng trên nền tảng Arduino, một vi điều khiển mã nguồn mở phổ biến, kết hợp với công nghệ RFID RC522 để tạo ra một hệ thống mở cửa thông minh, an toàn và hiệu quả. Thay vì sử dụng chìa khóa truyền thống, khách sạn có thể cấp thẻ RFID cho khách hàng, từ đó quản lý quyền truy cập vào các phòng một cách linh hoạt. Hệ thống này không chỉ nâng cao trải nghiệm khách hàng mà còn giảm thiểu chi phí quản lý và bảo mật. Đồ án tốt nghiệp này trình bày quá trình thiết kế, thi công và lập trình chi tiết, giúp sinh viên và những người quan tâm có thể hiểu rõ về công nghệ này.
1.1. Ứng dụng của Arduino trong Hệ thống Khóa Cửa
Arduino Mega 2560 và Arduino Pro Mini đóng vai trò là trung tâm điều khiển chính của hệ thống. Arduino xử lý dữ liệu từ cảm biến RFID, quản lý logic mở/đóng cửa, giao tiếp với LCD để hiển thị thông tin, và điều khiển động cơ servo. Với khả năng lập trình linh hoạt, Arduino cho phép tùy chỉnh các chức năng theo nhu cầu cụ thể của khách sạn.
1.2. Công nghệ RFID RC522 trong Quản lý Truy cập
Module RFID RC522 là thiết bị đọc thẻ vô tuyến tần số 13.56 MHz, cho phép nhận dạng thẻ từ khoảng cách nhất định. Hệ thống lưu trữ mã UID (Unique ID) của các thẻ hợp lệ, so sánh với thẻ được quét để xác định quyền truy cập. Điều này đảm bảo chỉ những khách hàng được cấp phép mới có thể mở cửa phòng của mình.
II. Cấu trúc và Thiết kế Phần cứng của Hệ thống
Thiết kế phần cứng của hệ thống khóa cửa RFID bao gồm nhiều khối chức năng phối hợp với nhau. Khối vi điều khiển trung tâm (Arduino Pro Mini) là "bộ não" của hệ thống, nhận tín hiệu từ module RFID RC522 và xử lý logic. Khối truyền nhận dữ liệu sử dụng RFM69HCW để giao tiếp không dây giữa mạch chính và mạch điều khiển phòng. Khối hiển thị LCD 16x2 với giao tiếp I2C cung cấp thông tin theo thời gian thực cho người dùng. Khối điều khiển sử dụng động cơ servo SG90 để vận hành cơ cấu mở cửa. Ngoài ra, hệ thống có khối nguồn cấp điện ổn định 5V và 3.3V, đảm bảo hoạt động bền vững của các thành phần điện tử.
2.1. Module RFID RC522 và Giao tiếp SPI
Module RFID RC522 kết nối với Arduino thông qua giao tiếp SPI (Serial Peripheral Interface), bao gồm các chân CS, MOSI, MISO, SCK. Khoảng cách quét thẻ hiệu quả từ 5-10cm, có thể điều chỉnh tùy theo ứng dụng. Thẻ RFID chứa chip điều khiển viễn thông, lưu trữ mã UID duy nhất được sử dụng để xác thực danh tính khách hàng.
2.2. Động cơ Servo SG90 và Cơ cấu Mở Cửa
Động cơ servo SG90 là bộ điều khiển vị trí góc quay chính xác, có thể quay từ 0-180 độ. Khi Arduino gửi tín hiệu điều khiển, servo di chuyển để mở khóa điện, cho phép khách hàng vào phòng. Sau một thời gian quy định, servo tự động quay lại vị trí ban đầu để khóa cửa, đảm bảo an toàn liên tục.
III. Lập trình và Thuật toán Điều khiển Hệ thống
Lập trình hệ thống được thực hiện bằng ngôn ngữ C++ trong môi trường Arduino IDE, với các thư viện hỗ trợ đọc RFID, giao tiếp I2C với LCD, và điều khiển servo. Thuật toán chính bao gồm các bước: khởi tạo các module, đọc mã UID từ thẻ RFID được quét, so sánh với danh sách thẻ hợp lệ lưu trong bộ nhớ EEPROM. Nếu mã hợp lệ, Arduino phát lệnh kích hoạt servo mở khóa cửa và hiển thị thông tin trên LCD. Hệ thống cũng sử dụng giao tiếp RFM69HCW để truyền dữ liệu từ mạch chính đến các mạch điều khiển ở từng phòng, tạo nên một mạng lưới điều khiển phân tán. Toàn bộ quá trình được tối ưu hóa để giảm thiểu thời gian phản ứng và tiêu thụ năng lượng.
3.1. Lưu đồ Giải thuật Mạch Chính
Lưu đồ của mạch chính bắt đầu từ khởi tạo hệ thống, sau đó vào vòng lặp chính (main loop). Chương trình liên tục kiểm tra xem có thẻ RFID nào được quét hay không. Khi thẻ được phát hiện, hệ thống đọc mã UID, so sánh với cơ sở dữ liệu, và gửi lệnh điều khiển đến phòng tương ứng thông qua RFM69HCW.
3.2. Lưu đồ Giải thuật Mạch Điều khiển Phòng
Mạch điều khiển phòng chờ nhận lệnh từ mạch chính qua RFM69HCW. Khi nhận được lệnh mở cửa hợp lệ với mã phòng trùng khớp, servo được kích hoạt quay 90 độ để mở khóa. LCD hiển thị thông tin khách hàng và thời gian mở cửa. Sau 3-5 giây, servo tự động quay lại để đóng khóa, đồng thời ghi lại sự kiện vào nhật ký.
IV. Thi công Kiểm thử và Ứng dụng Thực tế
Thi công hệ thống bao gồm các bước: thiết kế và gia công bảng mạch PCB cho mạch chính và mạch điều khiển, lắp ráp các linh kiện điện tử, lập trình và nạp code vào Arduino, lắp đặt các module cảm biến, động cơ, LCD. Sau đó, tiến hành kiểm thử toàn diện để đảm bảo tất cả các chức năng hoạt động đúng. Kết quả kiểm thử cho thấy hệ thống hoạt động ổn định với thời gian phản ứng dưới 1 giây, tỷ lệ nhận dạng thẻ RFID đạt 99.8%. Ứng dụng thực tế tại các khách sạn đã chứng minh hiệu quả cao trong việc quản lý an ninh, giảm chi phí nhân công, và nâng cao trải nghiệm khách hàng. Hệ thống có thể mở rộng để kết nối với các hệ thống quản lý khác như thanh toán, điều hòa không khí, hay báo thức cuộc gọi.
4.1. Quá trình Thiết kế PCB và Lắp ráp
Sử dụng phần mềm EagleCAD hoặc Altium Designer để thiết kế sơ đồ mạch và bố trí PCB. Các linh kiện chính bao gồm Arduino Pro Mini, RFID RC522, RFM69HCW, servo SG90, LCD 16x2 I2C được lắp ráp cẩn thận. Sau khi焊接, tiến hành kiểm tra điện áp, điểm mất kết nối, và thử nghiệm từng khối chức năng riêng lẻ trước khi tích hợp.
4.2. Kiểm thử Chức năng và Tối ưu Hóa
Kiểm thử chức năng bao gồm: quét thẻ RFID lặp lại 1000 lần để kiểm tra độ tin cậy, đo thời gian phản ứng từ khi quét đến khi servo quay, kiểm tra giao tiếp I2C với LCD, đo dòng điện tiêu thụ. Dữ liệu kiểm thử được lưu lại và phân tích để tối ưu hóa code, giảm tiêu thụ năng lượng và nâng cao độ ổn định.