Bối cảnh và vấn đề nghiên cứu
Theo các kết quả khảo sát từ Viện Nghiên cứu Giao thông (Institute of Transportation Studies - ITA), việc tìm kiếm vị trí đỗ xe tại các đô thị lớn tạo ra áp lực đáng kể cho người điều khiển phương tiện. Khoảng 30% tổng thời gian lưu thông trên đường bị tiêu tốn cho việc tìm kiếm điểm đỗ, kéo theo sự lãng phí về nhân lực, nhiên liệu, đồng thời làm gia tăng tình trạng ùn tắc giao thông và ô nhiễm môi trường không khí. Các bãi đỗ xe truyền thống phụ thuộc chủ yếu vào sự điều phối thủ công của con người, bộc lộ nhiều hạn chế về tốc độ kiểm soát, khả năng giám sát không gian thực tế và tính chính xác trong việc lưu trữ thông tin phương tiện.
Trước sự gia tăng nhanh chóng của số lượng phương tiện cá nhân, việc ứng dụng các tiến bộ khoa học kỹ thuật như công nghệ nhận dạng qua tần số vô tuyến (RFID), công nghệ giám sát từ xa và Internet vạn vật (IoT) vào quản lý bãi đỗ xe trở nên cấp thiết. Đề tài tập trung giải quyết các vấn đề thực tiễn thông qua việc tự động hóa quá trình nhận diện, ghi nhận thông tin xe vào/ra, điều hướng vị trí đỗ và quản lý doanh thu bãi đỗ.
Mục tiêu và nhiệm vụ nghiên cứu của đề tài bao gồm:
- Nghiên cứu và lựa chọn các thiết bị phần cứng phù hợp để xây dựng mô hình bãi đỗ xe tự động.
- Thiết kế và hoàn thiện hệ thống phần cứng, bao gồm mạch in (PCB), khối điều khiển, khối chấp hành và khối cảm biến.
- Thiết kế giao diện phần mềm trên máy tính (PC) phục vụ công tác giám sát, quản lý thông tin xe vào/ra và tính toán thời gian, chi phí đỗ xe.
- Xây dựng, lắp ráp và hoàn thiện kết cấu mô hình vật lý đáp ứng các yêu cầu thiết kế ban đầu.
- Vận hành thử nghiệm mô hình, đánh giá khả năng nhận dạng thẻ RFID, khả năng xử lý hình ảnh biển số xe và tính ổn định của toàn hệ thống.
Đối tượng nghiên cứu là hệ thống quản lý bãi đỗ xe ô tô thông minh tích hợp công nghệ RFID và xử lý ảnh nhận dạng ký tự biển số. Phạm vi nghiên cứu giới hạn ở việc thiết kế, chế tạo và vận hành thử nghiệm mô hình bãi đỗ xe quy mô thu nhỏ (dung lượng 3 vị trí đỗ) tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, hoàn thành vào tháng 6 năm 2024.
Cơ sở lý thuyết và phương pháp nghiên cứu
Nghiên cứu dựa trên nền tảng kỹ thuật vi điều khiển, công nghệ nhận dạng RFID thụ động và kỹ thuật thị giác máy tính nhận dạng ký tự quang học (OCR).
Các công nghệ và công cụ lý thuyết chính được áp dụng gồm:
- Công nghệ RFID tần số 13.56 MHz: Sử dụng module RC522 tích hợp vi mạch MFRC522 của Philips để đọc mã định danh duy nhất (UID) 4-byte từ thẻ RFID thụ động thông qua chuẩn giao tiếp SPI.
- Kỹ thuật xử lý ảnh số và OCR: Ứng dụng thư viện OpenCV (
cv2) để thực hiện các phép biến đổi hình thái học, phân đoạn ngưỡng ảnh và công cụ Tesseract-OCR nhằm trích xuất ký tự biển số xe từ hình ảnh do camera thu nhận.
- Kỹ thuật điều khiển nhúng: Sử dụng vi điều khiển Arduino Nano để thu thập dữ liệu từ cảm biến hồng ngoại, giao tiếp với máy tính qua chuẩn truyền thông nối tiếp UART và điều khiển động cơ servo đóng/mở thanh chắn barrier.
Phương pháp nghiên cứu được triển khai thông qua ba phương pháp cụ thể:
- Phương pháp tổng quan tài liệu (Literature review): Thu thập, tổng hợp các kiến thức chuyên ngành từ sách, giáo trình điện tử - viễn thông, bài báo khoa học và các khóa luận tốt nghiệp khóa trước liên quan đến hệ thống bãi đỗ xe tự động.
- Phương pháp quan sát (Observation): Khảo sát các sơ đồ mạch điện tử trên thực tế và tìm hiểu cấu trúc vận hành của các mô hình bãi đỗ xe thông minh hiện có để lựa chọn phương án thiết kế tối ưu.
- Phương pháp khảo sát và thực nghiệm (Survey and experimentation): Tiến hành thử nghiệm nhiều cấu hình mạch phần cứng, tinh chỉnh thuật toán xử lý ảnh trên máy tính và đánh giá độ trễ truyền thông nối tiếp để chọn ra phương án vận hành ổn định.
Nguồn dữ liệu thực nghiệm bao gồm chuỗi mã UID từ thẻ RFID, luồng hình ảnh thời gian thực từ camera quan sát cổng vào/cổng ra và tín hiệu logic số (Digital Output) từ các cảm biến hồng ngoại đặt tại các vị trí đỗ.
Thiết kế và triển khai hệ thống
Hệ thống được thiết kế theo mô hình kết hợp giữa phần cứng điều khiển cấp thấp (vi điều khiển Arduino Nano) và phần mềm quản lý cấp cao chạy trên máy tính cá nhân (PC).
| Khối chức năng |
Linh kiện / Công nghệ sử dụng |
Chức năng kỹ thuật chính |
Kết nối phần cứng |
| Khối vi điều khiển |
Arduino Nano (ATmega328P) |
Thu thập tín hiệu ngoại vi, điều khiển chấp hành, giao tiếp nối tiếp với PC |
Cổng USB (giao tiếp UART với PC) |
| Khối đọc thẻ RFID |
Module RC522 (13.56 MHz) + Còi chip (Buzzer) |
Đọc mã UID từ thẻ xe, phát âm thanh báo hiệu khi quét thẻ thành công |
Chuẩn giao tiếp SPI với Arduino |
| Khối cơ cấu chấp hành |
02 Động cơ Mini Servo 5V |
Đóng/mở thanh chắn barrier tại cổng vào và cổng ra |
Chân kỹ thuật số D5 và D6 của Arduino |
| Khối cảm biến vật cản |
05 Cảm biến hồng ngoại FC-51 (IC so sánh LM393) |
Phát hiện xe tại cổng vào/ra và xác định trạng thái chiếm chỗ tại 3 vị trí đỗ |
Chân tương thích analog/digital từ A0 đến A4 |
| Khối chỉ thị tại chỗ |
Cụm LED báo trạng thái (Đỏ / Xanh) |
Hiển thị trực quan trạng thái vị trí đỗ: Đỏ (đã có xe), Xanh (vị trí trống) |
Kết nối qua module relay và vi điều khiển |
| Khối nguồn |
Nguồn USB máy tính và Adaptor 12V qua IC ổn áp LM7805 |
Cấp nguồn 5V cho Arduino (qua USB) và nguồn 5V ổn định cho cảm biến FC-51 |
Đầu vào 12VDC, hạ áp ổn định 5VDC |
| Khối giám sát & OCR |
02 Camera + Python GUI (Qt Designer) + Tesseract-OCR |
Chụp ảnh phương tiện, nhận diện chuỗi ký tự biển số, quản lý cơ sở dữ liệu và cước phí |
Cổng USB kết nối trực tiếp với máy tính |
Quy trình xử lý ảnh nhận dạng biển số xe được hiện thực hóa thông qua đoạn mã xử lý bằng Python và OpenCV:
- Ảnh chụp ban đầu từ camera được chuyển sang ảnh xám (
cv2.cvtColor).
- Áp dụng bộ lọc làm mịn Gaussian (
cv2.GaussianBlur) và thuật toán phân ngưỡng thích nghi kết hợp Otsu (cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU) để tách biệt ký tự khỏi nền.
- Thực hiện phép toán hình thái học mở (Morphology Open) với ma trận kernel hình chữ nhật kích thước 3x3 để loại bỏ nhiễu biên.
- Đảo ngược giá trị điểm ảnh (
255 - opening) và đưa dữ liệu vào công cụ Tesseract-OCR (pytesseract.image_to_string với cấu hình tham số --psm 6) để xuất ra chuỗi ký tự biển số xe dạng văn bản.
Hệ thống âm thanh tương tác cũng được tích hợp vào giao diện điều khiển nhằm phát ra các thông điệp thoại định sẵn tương ứng với từng trạng thái vận hành của bãi đỗ.
Nội dung chính theo từng chương
CHAPTER 1: THE OVERVIEW
Chương này trình bày tổng quan về tình trạng giao thông đô thị, áp lực từ việc tìm kiếm điểm đỗ xe và sự lãng phí tài nguyên dựa trên số liệu của Viện Nghiên cứu Giao thông (ITA). Tác giả làm rõ tính cấp thiết của việc tự động hóa bãi đỗ thông qua công nghệ RFID và thị giác máy tính. Chương 1 cũng xác định mục tiêu thiết kế hệ thống, ba phương pháp nghiên cứu chính (tổng quan tài liệu, quan sát, thực nghiệm) và cấu trúc phân bổ nội dung của toàn bộ đồ án.
CHAPTER 2: DESIGN AND COMPUTATION OF MODELS
Chương 2 đi sâu vào việc phân tích các yêu cầu kỹ thuật và đưa ra phương án thiết kế chi tiết cho cả phần cứng lẫn phần mềm:
- Lựa chọn thiết bị: Phân tích lý do chọn module RFID-RC522 (tần số 13.56 MHz dùng IC MFRC522), động cơ Mini Servo 5V điều khiển barrier, cảm biến hồng ngoại FC-51 sử dụng bộ so sánh LM393 và vi điều khiển Arduino Nano.
- Sơ đồ nối dây: Xây dựng sơ đồ nguyên lý và sơ đồ chân kết nối cho khối RFID, khối động cơ servo (chân D5, D6), khối cảm biến quang (chân A0 đến A4) và mạch hạ áp nguồn 12V về 5V sử dụng IC 7805.
- Lưu đồ thuật toán: Xây dựng 3 lưu đồ giải thuật gồm: Lưu đồ chương trình chính (kiểm soát toàn bộ vòng lặp hoạt động xe vào/ra); Lưu đồ đọc thẻ RFID (khởi tạo thư viện, kiểm tra thẻ, xuất chuỗi ký tự mã thẻ kèm tiền tố "ci" cho xe vào hoặc "co" cho xe ra qua cổng Serial); Lưu đồ nhận dạng ký tự quang học (chụp ảnh, xác định vùng biển số, phân ngưỡng và nhận diện bằng Tesseract-OCR).
- Thiết kế giao diện: Bố cục các phân mục hiển thị trên máy tính bằng Qt Designer (khung hình camera vào/ra, thông tin biển số, thời gian gửi, trạng thái số chỗ trống/bận và tính toán cước phí).
CHAPTER 3: MODEL CONSTRUCTION
Chương 3 mô tả quá trình hiện thực hóa mô hình từ bản vẽ đến sản phẩm thực tế:
- Thi công phần cứng theo 5 bước:
- Thiết kế bản vẽ bố trí mạch in (PCB layout) trên phần mềm Proteus.
- Hàn và lắp ráp linh kiện lên bo mạch in chính.
- Định vị cơ khí các thiết bị (barrier, đầu đọc thẻ RFID, cảm biến vị trí đỗ, đèn báo LED) lên khung mô hình bằng ốc vít và keo chuyên dụng.
- Đấu nối dây tín hiệu theo sơ đồ mô phỏng và gom dây vào máng cáp gọn gàng.
- Hoàn thiện tổng thể cấu trúc và trang trí mô hình bãi đỗ.
- Xây dựng phần mềm: Lập trình giao diện điều khiển bằng ngôn ngữ Python kết hợp thư viện giao diện Qt Designer; nhúng đoạn mã xử lý ảnh biển số sử dụng OpenCV và Tesseract-OCR; biên dịch và nạp mã điều khiển cho Arduino Nano.
CHAPTER 4: OPERATING SYSTEM
Chương 4 trình bày quy trình thử nghiệm và vận hành hệ thống trong điều kiện thực tế:
- Khởi động hệ thống: Cung cấp nguồn 12VDC từ adaptor cho mạch cảm biến và nguồn 5VDC từ cổng USB máy tính cho Arduino Nano; cắm kết nối đồng thời 2 camera (Camera vào và Camera ra) vào phần mềm điều khiển trên PC.
- Quy trình xe vào: Khi xe tiến đến cổng vào, người dùng quẹt thẻ RFID. Còi chip kêu, camera chụp ảnh biển số, phần mềm trích xuất ký tự hiển thị lên giao diện, động cơ servo nâng thanh chắn barrier và hệ thống phát âm thanh chào mừng ("Welcome").
- Kiểm soát trạng thái đỗ: Cảm biến hồng ngoại FC-51 tại vị trí đỗ phát hiện xe, tự động kích hoạt đèn LED chuyển từ màu xanh (trống) sang màu đỏ (bận). Số lượng vị trí trống trên giao diện quản lý tự động giảm đi.
- Xử lý khi bãi đỗ đầy: Khi cả 3 vị trí đỗ đều bận (3 slot busy, 0 slot empty), hệ thống từ chối nhận thêm phương tiện. Thanh chắn barrier cổng vào không mở, giao diện hiển thị trạng thái bãi đầy và loa phát thông báo ("Sorry. The parking lot is full").
- Quy trình xe ra: Khi xe rời bãi, người lái quẹt lại thẻ RFID tại cổng ra:
- Nếu mã thẻ khớp với biển số xe đã lưu lúc vào, barrier mở cho xe ra, phần mềm tính toán thời gian, cước phí và phát âm thanh chào tạm biệt ("Goodbye. See you later").
- Nếu mã thẻ không trùng khớp với dữ liệu biển số lúc vào, hệ thống giữ đóng barrier, cảnh báo trên màn hình và phát âm thanh từ chối ("Wrong card, please try again").
Kết quả và đóng góp
Kết quả nghiên cứu thực nghiệm
- Hoàn thiện mô hình vật lý bãi đỗ xe thông minh thu nhỏ với đầy đủ kết cấu cơ khí, thanh chắn barrier tự động và 3 vị trí đỗ xe độc lập.
- Thiết kế và chế tạo thành công bo mạch in chính (PCB) dựa trên sơ đồ thiết kế Proteus, tích hợp ổn định vi điều khiển Arduino Nano, IC ổn áp 7805 và module 4 relay.
- Xây dựng phần mềm quản lý trên máy tính bằng Python và Qt Designer, kết nối đồng bộ dữ liệu với 2 camera và mạch điều khiển qua giao tiếp Serial.
- Hiện thực hóa thành công thuật toán xử lý ảnh nhận dạng ký tự biển số xe với Tesseract-OCR, hỗ trợ chuyển đổi ảnh sang dạng văn bản phục vụ so khớp an ninh.
- Tích hợp hệ thống phản hồi âm thanh đa trạng thái (Welcome, Goodbye, Parking full, Wrong card) giúp tăng tính tương tác và tự động hóa vận hành.
Đóng góp của đề tài
- Đưa ra một giải pháp thiết kế tích hợp hoàn chỉnh, chi phí thấp, kết hợp hiệu quả giữa vi điều khiển mã nguồn mở và phần mềm thị giác máy tính trên PC.
- Minh chứng tính khả thi của quy trình xác thực hai lớp (Mã thẻ RFID kết hợp Nhận dạng biển số xe OCR) nhằm nâng cao mức độ an toàn cho phương tiện so với việc chỉ sử dụng vé giấy hoặc thẻ từ đơn lẻ.
- Tạo ra mô hình thí nghiệm trực quan phục vụ công tác giảng dạy, học tập và nghiên cứu ứng dụng trong lĩnh vực giao thông thông minh.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế
- Phần mềm quản lý chưa đạt mức tự động nhận diện biển số xe hoàn toàn (Automatic License Plate Recognition - ALPR) từ luồng video trực tiếp mà vẫn cần sự kiện kích hoạt quẹt thẻ.
- Hệ thống phần mềm chưa tích hợp các cơ chế bảo mật nâng cao như mã hóa dữ liệu truyền thông, phân quyền tài khoản quản trị đa cấp hoặc kiểm toán an ninh.
- Mô hình chỉ dừng lại ở quy mô thử nghiệm nhỏ trong phòng thí nghiệm, chưa được kiểm thử trong điều kiện ánh sáng phức tạp ngoài trời hoặc môi trường công nghiệp thực tế.
Hướng nghiên cứu tiếp
- Tích hợp và thay thế cảm biến chất lượng cao: Bổ sung các cảm biến có độ nhạy và khả năng chống nhiễu quang tốt hơn để tăng độ ổn định của hệ thống giám sát vị trí.
- Nâng cấp thuật toán nhận dạng: Phát triển tính năng tự động nhận dạng biển số xe từ luồng video liên tục và tích hợp nhận diện khuôn mặt tài xế (driver identification) để tối ưu hóa an ninh.
- Ứng dụng năng lượng tái tạo: Lắp đặt hệ thống pin năng lượng mặt trời tại khu vực mái che bãi đỗ để cung cấp nguồn điện độc lập, thân thiện với môi trường.
- Tăng cường an ninh mạng: Triển khai các giao thức mã hóa dữ liệu nâng cao, xác thực đa yếu tố và kiểm tra bảo mật định kỳ cho cơ sở dữ liệu.
- Tích hợp hệ sinh thái IoT: Nâng cấp phần mềm để kết nối với các hệ thống camera an ninh công nghiệp, camera IP và tích hợp vào các nền tảng quản trị đô thị thông minh.
Giá trị tham khảo
Đồ án là tài liệu tham khảo thực tiễn hữu ích cho:
- Sinh viên ngành Kỹ thuật Điện - Điện tử, Kỹ thuật Điều khiển và Tự động hóa, Kỹ thuật Máy tính: Tham khảo phương pháp kết nối phần cứng Arduino Nano với các module chức năng (RC522, Mini Servo, cảm biến FC-51, module relay) và quy trình thiết kế, thi công mạch in PCB bằng Proteus.
- Sinh viên ngành Công nghệ Thông tin, Khoa học Dữ liệu: Tham khảo cấu trúc lập trình giao diện người dùng bằng Python/Qt Designer, kỹ thuật giao tiếp máy tính với vi điều khiển qua cổng nối tiếp và các bước tiền xử lý ảnh số bằng OpenCV kết hợp Tesseract-OCR.
- Người nghiên cứu các giải pháp Smart City/IoT: Tham khảo mô hình phân lớp xử lý giữa phần cứng thu thập tín hiệu tại chỗ và phần mềm quản lý tập trung trên máy tính.
Câu hỏi thường gặp
1. Hệ thống sử dụng công nghệ nào để nhận dạng xe và xác thực an ninh tại cổng vào/ra?
Hệ thống sử dụng cơ chế xác thực kết hợp giữa công nghệ nhận dạng qua tần số vô tuyến RFID (module RC522 tần số 13.56 MHz đọc mã UID 4-byte từ thẻ) và công nghệ thị giác máy tính nhận dạng ký tự quang học (Tesseract-OCR qua thư viện OpenCV) để trích xuất và đối soát biển số xe.
2. Khối vi điều khiển và khối cảm biến được cấu hình chân kết nối như thế nào?
Khối vi điều khiển sử dụng Arduino Nano. Trong đó, 2 động cơ servo điều khiển barrier được gắn vào các chân kỹ thuật số D5 và D6; 5 cảm biến hồng ngoại FC-51 (dùng để phát hiện xe tại cổng và 3 vị trí đỗ) được kết nối với các chân từ A0 đến A4. Module RC522 kết nối qua chuẩn truyền thông SPI.
3. Phương án cấp nguồn cho toàn bộ mô hình được thực hiện ra sao?
Hệ thống sử dụng hai nguồn cấp: Nguồn 5VDC lấy trực tiếp từ cổng USB kết nối với máy tính để nuôi vi điều khiển Arduino Nano; Nguồn 12VDC từ adaptor bên ngoài đi qua mạch ổn áp sử dụng IC LM7805 để hạ xuống điện áp 5VDC nuôi cụm cảm biến hồng ngoại FC-51 và các thiết bị ngoại vi.
4. Hệ thống xử lý như thế nào khi tất cả các vị trí đỗ trong bãi đã có xe?
Khi cả 3 vị trí đỗ đều bận, cảm biến ghi nhận trạng thái đầy chỗ (3 slot busy, 0 slot empty). Hệ thống tự động khóa thanh chắn barrier ở cổng vào không cho mở, giao diện máy tính cập nhật trạng thái bãi đầy và phát thông báo bằng giọng nói: "Sorry. The parking lot is full."
5. Quy trình xử lý ảnh biển số xe bằng OpenCV và Tesseract-OCR gồm những bước kỹ thuật nào?
Hình ảnh từ camera được chuyển sang ảnh xám (cv2.COLOR_BGR2GRAY), lọc mịn bằng GaussianBlur, phân ngưỡng nhị phân bằng Otsu (cv2.THRESH_OTSU), xử lý hình thái học loại bỏ nhiễu biên (Morphology Open) và đảo ngưỡng ảnh (255 - opening) trước khi đưa qua hàm pytesseract.image_to_string với tùy chọn --psm 6 để nhận dạng chuỗi ký tự.
Kết luận
Đồ án "Design smart car parking system" đã hiện thực hóa thành công mô hình bãi đỗ xe thông minh quy mô thu nhỏ thông qua sự kết hợp giữa mạch điều khiển Arduino Nano và phần mềm quản lý lập trình bằng Python. Hệ thống đáp ứng tốt các yêu cầu tự động hóa cơ bản bao gồm kiểm soát xe vào/ra bằng thẻ RFID 13.56 MHz, nhận dạng biển số xe bằng Tesseract-OCR, hiển thị trực quan trạng thái chỗ đỗ qua hệ thống LED/cảm biến FC-51 và tương tác người dùng qua giọng nói. Mặc dù cần tiếp tục hoàn thiện về khả năng nhận dạng tự động liên tục và bảo mật dữ liệu, kết quả nghiên cứu đã tạo ra nền tảng kỹ thuật vững chắc cho việc ứng dụng công nghệ IoT vào quản lý giao thông đô thị hiện đại.