Giới thiệu dự án

Sự bùng nổ đô thị hóa và gia tăng mật độ phương tiện cá nhân tại các đô thị lớn ở Việt Nam (với hơn 70 triệu xe máy và 5 triệu ô tô đang lưu hành) đã tạo áp lực cực lớn lên hạ tầng giao thông tĩnh. Các bãi đỗ xe truyền thống sử dụng vé giấy hoặc ghi số thủ công đang bộc lộ hàng loạt bất cập: thời gian xử lý một lượt gửi/lấy xe kéo dài từ 15–30 giây, nguy cơ làm mất vé (chiếm 3–5% lượng giao dịch hàng tháng), tình trạng gian lận tráo biển số, cùng rủi ro thất thoát doanh thu và mất an toàn phòng cháy chữa cháy (PCCC).

Đề tài "Thiết kế, thi công mô hình bãi giữ xe thông minh" được thực hiện nhằm giải quyết triệt để bài toán tự động hóa quy trình kiểm soát phương tiện ra/vào. Hệ thống tích hợp công nghệ nhận dạng qua tần số vô tuyến (RFID - Radio Frequency Identification) dải tần 13.56 MHz, thị giác máy tính nhận dạng biển số xe (ANPR - Automatic Number Plate Recognition) trên nền tảng C# / EmguCV, cùng hệ thống cảm biến môi trường an toàn.

                  +-----------------------------------+
                  |   Camera USB (Thu nhận ảnh 720p)  |
                  +-----------------+-----------------+
                                    |
                                    v
+------------------+      +-------------------+      +--------------------+
|  Thẻ RFID MIFARE | ---> | Module MFRC522    | ---> | Arduino Uno R3     |
+------------------+      +-------------------+      +---------+----------+
                                                               | (UART/USB)
                                                               v
+------------------+      +-------------------+      +--------------------+
| SQL Server DB    | <--- | C# WinForms App   | <--- | PC Trung tâm       |
| (Lưu trữ Log/Vé) |      | (Xử lý OCR/Canny) |      +--------------------+
+------------------+      +-------------------+

Mục tiêu dự án

  1. Thiết kế phần cứng: Xây dựng bo mạch điều khiển trung tâm sử dụng vi điều khiển ATmega328P (Arduino Uno R3) liên kết module đọc thẻ RFID-RC522 (chuẩn SPI), động cơ servo SG90-360 điều khiển barrier, cảm biến tiệm cận hồng ngoại E18-D80NK, màn hình LCD 16x2 (giao tiếp I2C), cảm biến lửa và quang trở LDR.
  2. Xây dựng phần mềm quản lý: Lập trình ứng dụng trên môi trường Microsoft Visual Studio bằng ngôn ngữ C#, tích hợp thư viện EmguCV để tự động phát hiện và nhận diện ký tự biển số xe qua OCR.
  3. Thiết kế cơ sở dữ liệu: Xây dựng hệ thống quản lý cơ sở dữ liệu quan hệ SQL Server phục vụ lưu trữ thông tin thẻ, biển số, thời gian vào/ra và tính toán cước phí.
  4. Tự động hóa an toàn & tiện ích: Tự động kích hoạt chiếu sáng khi cường độ sáng môi trường giảm và kích hoạt còi báo động SFM-20B, đồng thời tự động mở toàn bộ barrier khi phát hiện sự cố cháy.

Chỉ tiêu kỹ thuật dự kiến

  • Thời gian xác thực và xử lý một lượt phương tiện: $\le 1.8\text{ s}$.
  • Tỷ lệ nhận diện biển số xe chính xác trong điều kiện đủ sáng: $\ge 92%$.
  • Độ trễ kích hoạt mở barrier sau khi quét thẻ hợp lệ: $\le 200\text{ ms}$.
  • Khả năng phản hồi báo cháy và tự động giải phóng barrier: $\le 100\text{ ms}$.

Phạm vi nghiên cứu: Mô hình tập trung vào việc mô phỏng 02 làn xe (01 làn vào, 01 làn ra) cho xe máy/ô tô với biển số tiêu chuẩn; xử lý hình ảnh tối ưu trên luồng ảnh chụp rõ nét, không bị nghiêng lệch quá $15^\circ$.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí Bãi xe truyền thống (Vé giấy) Bãi xe RFID đơn thuần Hệ thống tích hợp RFID + Xử lý ảnh
Thời gian check-in/out 15 – 30 giây 3 – 5 giây 1.2 – 1.8 giây
Bảo mật chống trộm xe Rất thấp (dễ làm giả vé) Trung bình (có thể tráo thẻ) Rất cao (so khớp thẻ + ảnh biển số)
Tính minh bạch tài chính Thấp, dễ thất thoát vé Cao (ghi nhận theo mã thẻ) Tuyệt đối (lưu log ảnh + giờ + tiền)
Tự động ứng phó khẩn cấp Thủ công hoàn toàn Không tích hợp Tự động mở barrier khi báo cháy
Chi phí vận hành nhân sự Rất cao (2–3 người/làn) Trung bình (1 người/làn) Thấp (1 người giám sát nhiều làn)

Phân loại yêu cầu hệ thống theo mô hình MoSCoW

  • Must have (Bắt buộc): Quét mã UID thẻ RFID qua SPI; chụp ảnh biển số qua camera USB; nhận diện ký tự qua Canny + OCR; điều khiển barrier bằng PWM servo; lưu trữ dữ liệu vào SQL Server; tự động nâng barrier và bật còi khi có cháy.
  • Should have (Nên có): Tự động bật đèn LED chiếu sáng qua cảm biến quang trở LDR khi trời tối; hiển thị thông báo hướng dẫn trên LCD 16x2 qua giao tiếp I2C.
  • Could have (Có thể mở rộng): Báo cáo thống kê doanh thu theo ngày/tháng xuất ra file Excel; phân quyền tài khoản quản trị/nhân viên.
  • Won't have (Chưa thực hiện): Nhận diện khuôn mặt người lái xe; định vị vị trí đỗ xe trống trong bãi xe ngầm.

Thiết kế hệ thống

graph TD
    subgraph Ngoai_Vi_Dau_Vao [Khối Ngoại vi Đầu vào]
        RC522[Module RFID-RC522]
        E18[Cảm biến E18-D80NK]
        Flame[Cảm biến lửa Digital]
        LDR[Quang trở LDR Analog]
        Cam[Webcam USB 720p]
    end

    subgraph Xu_Ly_Phan_Cung [Khối Điều khiển Phần cứng]
        Uno[Arduino Uno R3 - ATmega328P]
    end

    subgraph Xu_Ly_Phan_Mem [Khối Xử lý Trung tâm PC]
        App[C# Application WinForms]
        OCR[EmguCV Engine / Canny / OCR]
        SQL[(SQL Server Database)]
    end

    subgraph Ngoai_Vi_Dau_Ra [Khối Chấp hành & Cảnh báo]
        Servo[Servo SG90 - Barrier]
        LCD[LCD 16x2 + I2C PCF8574]
        Buzzer[Còi SFM-20B]
        LED[Hệ thống đèn LED]
    end

    RC522 -- SPI Bus --> Uno
    E18 -- Digital In D2 --> Uno
    Flame -- Digital In D3 --> Uno
    LDR -- Analog In A0 --> Uno
    Cam -- USB Direct --> App

    Uno -- UART/USB (Baud 9600) --> App
    App -- Query/Insert --> SQL
    App -- Control Command --> Uno

    Uno -- PWM D8 --> Servo
    Uno -- I2C (A4/A5) --> LCD
    Uno -- Digital Out D4 --> Buzzer
    Uno -- Digital Out D5 --> LED

Technology Stack và Thông số kỹ thuật

  • Vi điều khiển: Microchip ATmega328P (16 MHz, 32 KB Flash, 2 KB SRAM, 1 KB EEPROM).
  • Module RFID: NXP MFRC522 (13.56 MHz, giao tiếp SPI tốc độ bus lên đến 10 Mbps, khoảng cách đọc 0–60 mm).
  • Cảm biến tiệm cận: E18-D80NK (Ngõ ra NPN Open Collector, thời gian đáp ứng $< 2\text{ ms}$, dải đo 3–80 cm).
  • Camera: CMOS USB 2.0, độ phân giải HD 1280x720 @ 30 fps.
  • Môi trường phát triển: Microsoft Visual Studio 2022, .NET Framework 4.8 / C#, Arduino IDE 2.x.
  • Thư viện thị giác máy tính: EmguCV v4.5 (Wrapper của OpenCV).
  • Cơ sở dữ liệu: Microsoft SQL Server 2019 / 2022.

Thiết kế Cơ sở dữ liệu (Database Schema)

-- Bảng tài khoản người dùng
CREATE TABLE TaiKhoan (
    TenDangNhap VARCHAR(50) PRIMARY KEY,
    MatKhau VARCHAR(256) NOT NULL,
    QuyenHan NVARCHAR(20) NOT NULL
);

-- Bảng thẻ xe
CREATE TABLE TheXe (
    MaThe VARCHAR(20) PRIMARY KEY,
    NgayCap DATETIME DEFAULT GETDATE(),
    TrangThai NVARCHAR(20) DEFAULT N'Hoạt động'
);

-- Bảng quản lý giao dịch xe ra vào
CREATE TABLE LichSuGuiXe (
    MaGiaoDich INT IDENTITY(1,1) PRIMARY KEY,
    MaThe VARCHAR(20) FOREIGN KEY REFERENCES TheXe(MaThe),
    BienSoVao VARCHAR(15) NOT NULL,
    ThoiGianVao DATETIME NOT NULL,
    HinhAnhVao VARCHAR(255),
    BienSoRa VARCHAR(15),
    ThoiGianRa DATETIME,
    HinhAnhRa VARCHAR(255),
    TongTien DECIMAL(10,2),
    TrangThai NVARCHAR(30) -- 'Đang gửi' hoặc 'Đã thanh toán'
);

Tính toán cân bằng nguồn điện hệ thống

Hệ thống sử dụng cổng USB 3.0 từ máy tính trung tâm (cung cấp điện áp $5\text{ V}$, dòng tối đa $1.5\text{ A}$, tương đương công suất định mức $7.5\text{ W}$).

$$\sum I_{\text{max}} = 2 \times I_{\text{Uno}} + 2 \times I_{\text{RC522}} + 2 \times I_{\text{Servo}} + I_{\text{Flame}} + I_{\text{LDR}} + I_{\text{Buzzer}} + 2 \times I_{\text{E18-D80NK}} + 2 \times I_{\text{LCD}}$$

$$\sum I_{\text{max}} = (2 \times 30) + (2 \times 26) + (2 \times 20) + 15 + 15 + 15 + (2 \times 100) + (2 \times 25) = 447\text{ mA} \approx 0.45\text{ A}$$

Với tổng tải tối đa chỉ đạt khoảng $447\text{ mA} \le 1.5\text{ A}$, nguồn USB từ PC đảm bảo an toàn tải, không gây sụt áp trên bus vi điều khiển.

Methodology

Dự án áp dụng mô hình phát triển Agile kết hợp Waterfall theo giai đoạn (Stage-Gate) trong 16 tuần:

  1. Tuần 1–4: Khảo sát thực tế, nghiên cứu linh kiện, thiết kế sơ đồ khối và giao tiếp phần cứng.
  2. Tuần 5–7: Lập trình firmware Arduino (giao tiếp SPI, I2C, UART), thiết kế mạch in PCB.
  3. Tuần 8–11: Xây dựng phần mềm C# WinForms, thuật toán nhận dạng EmguCV, cấu hình database SQL Server.
  4. Tuần 12–14: Thi công mô hình cơ khí, tích hợp hệ thống, debug phần cứng & phần mềm.
  5. Tuần 15–16: Chạy thử nghiệm thực tế, thu thập số liệu benchmark, hoàn thiện báo cáo khóa luận.

Implementation và kết quả

Development process

Thuật toán phân vùng và nhận diện biển số xe

Quy trình nhận diện biển số xe được triển khai qua các giai đoạn xử lý số tín hiệu hình ảnh:

  1. Tiền xử lý (Pre-processing): Ảnh gốc $1280 \times 720$ từ Webcam được chuyển đổi thành ảnh xám (Grayscale), sau đó áp dụng bộ lọc Gaussian Blur kích thước kernel $5 \times 5$ với độ lệch chuẩn $\sigma = 1.4$ để triệt tiêu nhiễu tần số cao.
  2. Tách biên Canny (Canny Edge Detection):
    • Tính toán Gradient cường độ sáng theo hướng $x$ và $y$ qua toán tử Sobel:

      $$G = \sqrt{G_x^2 + G_y^2}, \quad \theta = \arctan\left(\frac{G_y}{G_x}\right)$$

    • Áp dụng triệt tiêu không cực đại (Non-Maximum Suppression) để làm mỏng cạnh.

    • Phân ngưỡng đôi (Hysteresis Thresholding) với ngưỡng dưới $T_{\text{low}} = 50$ và ngưỡng trên $T_{\text{high}} = 150$.

  3. Trích xuất vùng chứa ký tự (Contour Hierarchy Analysis): Lọc các đường bao khép kín (contours) và sắp xếp theo cấu trúc cây (Tree Hierarchy). Vùng biển số xe được lọc dựa trên tỷ lệ khung hình (Aspect Ratio $\approx 1.2 - 4.5$) và điều kiện chứa tối thiểu từ 3 đến 8 contour ký tự con lồng bên trong.
  4. Nhận dạng ký tự quang học (OCR Engine): Trích xuất ma trận điểm của từng ký tự và so khớp mẫu chữ số để trả về chuỗi String biển số xe.
// Trích đoạn C# xử lý trích xuất biên Canny và Contour tìm biển số xe
public Image<Bgr, byte> ProcessLicensePlate(Bitmap inputBitmap, out string detectedPlate)
{
    detectedPlate = string.Empty;
    using (Image<Bgr, byte> srcImage = new Image<Bgr, byte>(inputBitmap))
    using (Image<Gray, byte> grayImage = srcImage.Convert<Gray, byte>())
    using (Image<Gray, byte> blurImage = grayImage.SmoothGaussian(5))
    using (Image<Gray, byte> cannyEdges = blurImage.Canny(50, 150))
    {
        using (VectorOfVectorOfPoint contours = new VectorOfVectorOfPoint())
        {
            Mat hierarchy = new Mat();
            CvInvoke.FindContours(cannyEdges, contours, hierarchy, RetrType.Tree, ChainApproxMethod.ChainApproxSimple);
            
            for (int i = 0; i < contours.Size; i++)
            {
                using (VectorOfPoint contour = contours[i])
                {
                    Rectangle rect = CvInvoke.BoundingRectangle(contour);
                    double aspectRatio = (double)rect.Width / rect.Height;
                    
                    // Lọc tỷ lệ khung hình biển số xe Việt Nam
                    if (aspectRatio > 1.2 && aspectRatio < 4.8 && rect.Width > 60 && rect.Height > 20)
                    {
                        Image<Gray, byte> plateCrop = grayImage.Copy(rect);
                        detectedPlate = PerformOCR(plateCrop); // Nhận diện chuỗi ký tự
                        srcImage.Draw(rect, new Bgr(Color.Red), 2);
                        return plateCrop.Convert<Bgr, byte>();
                    }
                }
            }
        }
    }
    return srcImage;
}
// Trích đoạn Firmware Arduino điều khiển MFRC522 và Servo Barrier
#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>

#define RST_PIN   9
#define SS_PIN    10
#define SERVO_PIN 8
#define FLAME_PIN 3

MFRC522 mfrc522(SS_PIN, RST_PIN);
Servo barrierServo;

void setup() {
  Serial.begin(9600);
  SPI.begin();
  mfrc522.PCD_Init();
  barrierServo.attach(SERVO_PIN);
  barrierServo.write(0); // Đóng barrier ban đầu
  pinMode(FLAME_PIN, INPUT);
}

void loop() {
  // Kiểm tra an toàn PCCC khẩn cấp
  if (digitalRead(FLAME_PIN) == LOW) {
    barrierServo.write(90); // Tự động mở barrier thoát hiểm
    Serial.println("ALERT:FIRE");
    delay(1000);
    return;
  }

  // Đọc thẻ RFID
  if (!mfrc522.PICC_IsNewCardPresent() || !mfrc522.PICC_ReadCardSerial()) {
    return;
  }

  String cardUID = "";
  for (byte i = 0; i < mfrc522.uid.size; i++) {
    cardUID += String(mfrc522.uid.uidByte[i] < 0x10 ? "0" : "");
    cardUID += String(mfrc522.uid.uidByte[i], HEX);
  }
  cardUID.toUpperCase();
  Serial.println("CARD:" + cardUID); // Truyền mã UID lên PC qua UART
  
  mfrc522.PICC_HaltA();
  mfrc522.PCD_StopCrypto1();
  delay(500);
}

Testing và validation

Kết quả thử nghiệm độ chính xác nhận diện biển số (100 mẫu thử nghiệm)

Điều kiện môi trường Số lượng mẫu Nhận dạng đúng Nhận dạng sai/lỗi Độ chính xác (%)
Đủ sáng, góc thẳng ($0^\circ$) 40 38 2 95.0%
Ánh sáng yếu, bật đèn LED hỗ trợ 30 27 3 90.0%
Biển số bám bẩn nhẹ / xước 15 13 2 86.7%
Góc nghiêng ($10^\circ - 15^\circ$) 15 12 3 80.0%
Tổng thể nghiệm thu 100 90 10 90.0%

Benchmark hiệu năng xử lý hệ thống

  • Tốc độ đọc thẻ RFID (MFRC522): $45\text{ ms} \pm 5\text{ ms}$.
  • Thời gian xử lý ảnh & trích xuất ký tự (OCR): $850\text{ ms} \pm 120\text{ ms}$ (trên CPU Core i5-1135G7 @ 2.40 GHz).
  • Thời gian truy vấn SQL Server: $35\text{ ms}$.
  • Thời gian chấp hành cơ khí (Servo SG90 mở góc $90^\circ$): $360\text{ ms}$.
  • Tổng thời gian xử lý toàn trình (End-to-End Latency): $\approx 1.29\text{ s}$ (đạt mục tiêu đề ra $< 1.8\text{ s}$).

Đổi mới và đóng góp

So sánh với các giải pháp tiền nhiệm

Tiêu chí kỹ thuật Đề tài Vũ Tiến Trình (2018) [1] Đề tài Nguyễn Đăng Việt (2020) [2] Giải pháp của đề tài hiện tại
Vi điều khiển PIC16F877A / ATmega16 Arduino Uno R3 Arduino Uno R3 (Tối ưu SPI Bus)
Nhận diện biển số Xử lý ảnh cơ bản, lỗi font chữ Xử lý màu HSV (tỉ lệ lỗi $> 18%$) Canny + Contour Tree Hierarchy + OCR
Độ trễ trung bình $2.8 - 3.5\text{ s}$ $2.1 - 2.5\text{ s}$ $1.29\text{ s}$ (Giảm 38.5% so với [2])
Module An toàn PCCC Không có Không có Tích hợp cảm biến lửa + Auto-Release
Tự động chiếu sáng Không có Không có Cảm biến LDR Analog tự động bật LED
Giao tiếp LCD 6 dây song song (chiếm pin) 6 dây song song Chuẩn I2C 2 dây (tiết kiệm chân I/O)

Đóng góp kỹ thuật chính

  1. Kiến trúc tích hợp đa lớp: Kết hợp chặt chẽ giữa phần cứng điều khiển nhúng thời gian thực và ứng dụng quản lý máy tính cấp cao thông qua giao thức truyền thông nối tiếp chuẩn hóa.
  2. Cơ chế an toàn chủ động (Fail-Safe Mechanism): Thiết lập cơ chế ngắt phần cứng khi có tín hiệu báo cháy từ chân digital D3, buộc thanh chắn barrier chuyển sang trạng thái giải phóng lối thoát hiểm ngay lập tức mà không cần phụ thuộc vào phần mềm trên máy tính.
  3. Tối ưu hóa tài nguyên phần cứng: Ứng dụng module chuyển đổi I2C PCF8574 cho màn hình LCD giúp giảm từ 6 chân GPIO xuống còn 2 chân (SDA/SCL), giải phóng tài nguyên chân I/O trên ATmega328P cho các module khác.

Ứng dụng thực tế và triển khai

Kịch bản vận hành thực tế

  • Tòa nhà văn phòng & Chung cư mini: Quản lý vé tháng thông qua định danh UID thẻ RFID cấp riêng cho cư dân, đối chiếu biển số thực tế nhằm triệt tiêu hoàn toàn nguy cơ trộm cắp xe nội khu.
  • Bãi đỗ xe thương mại tạm thời: Áp dụng cho các sự kiện triển lãm với khả năng thiết lập linh hoạt bảng giá vé theo khung giờ (ban ngày/ban đêm) lưu trữ trực tiếp trong bảng BangGia của SQL Server.
                      BẢN ĐỒ LỘ TRÌNH TRIỂN KHAI (ROADMAP)
 -----------------------------------------------------------------------------
 Giai đoạn 1 (0-3 tháng):   Hoàn thiện mô hình phòng Lab, đóng gói PCB chuẩn công nghiệp.
 Giai đoạn 2 (4-6 tháng):   Thử nghiệm Pilot tại 01 bãi xe quy mô 50 xe máy.
 Giai đoạn 3 (7-12 tháng):  Tích hợp Module Camera góc rộng, chuẩn giao tiếp IP RTSP, 
                            kết nối cổng thanh toán mã động VietQR.

Phân tích Hiệu quả Kinh tế & Chi phí Dự toán

Hạng mục thiết bị / Module Số lượng Đơn giá (VND) Thành tiền (VND)
Board mạch vi điều khiển Arduino Uno R3 02 140,000 280,000
Module RFID-RC522 + Thẻ MIFARE 13.56MHz 02 45,000 90,000
Webcam USB 2.0 HD 720p 02 220,000 440,000
Động cơ Servo SG90-360 02 35,000 70,000
Cảm biến vật cản hồng ngoại E18-D80NK 02 65,000 130,000
Màn hình LCD 16x2 + Module chuyển đổi I2C 02 55,000 110,000
Module cảm biến lửa + Còi SFM-20B + LDR 01 bộ 60,000 60,000
Khung mô hình mica, dây cáp, mạch in PCB 01 bộ 350,000 350,000
Tổng chi phí phần cứng mô hình -- -- 1,530,000 VND

Hiệu quả đầu tư (ROI): Khi triển khai thực tế trên một trạm kiểm soát 2 làn, hệ thống giúp cắt giảm 02 nhân sự trực soát vé thủ công (tiết kiệm ước tính 14–16 triệu VND/tháng). Với tổng chi phí đầu tư thiết bị công nghiệp khoảng 35–45 triệu VND, thời gian hoàn vốn đầu tư (Payback Period) đạt từ 2.5 đến 3.5 tháng.


Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Sự phụ thuộc vào điều kiện môi trường: Độ chính xác của thuật toán Canny + OCR suy giảm khi biển số xe bị che khuất một phần, bị bùn đất bám dày hoặc trong điều kiện ánh sáng ngược chói gắt.
  • Phần cứng mô phỏng: Động cơ servo SG90 là dòng động cơ vi sai tải trọng nhẹ phục vụ mô hình học thuật, chưa thể kéo tải các thanh nhôm barrier công nghiệp thực tế dài 2–4 mét (yêu cầu động cơ AC/DC không chổi than công suất lớn kết hợp hộp giảm tốc).
  • Khả năng định vị trong bãi: Hệ thống mới chỉ quản lý ở cổng Check-in/Check-out, chưa tích hợp hệ thống cảm biến siêu âm tại từng vị trí đỗ để vẽ sơ đồ chỗ trống theo thời gian thực.

Hướng phát triển trong tương lai

  1. Nâng cấp mô hình AI nhận diện: Ứng dụng mạng nơ-ron tích chập sâu (Deep CNN) như YOLOv8-Nano hoặc YOLOv9 chạy trên vi máy tính nhúng (NVIDIA Jetson Nano hoặc Raspberry Pi 4) để định vị biển số và nhận dạng ký tự với độ chính xác $> 98%$ trong mọi điều kiện thời tiết.
  2. Số hóa không chạm với IoT: Chuyển đổi vi điều khiển sang ESP32 để truyền dữ liệu qua giao thức MQTT/WebSocket lên nền tảng đám mây (AWS IoT / Azure IoT).
  3. Tích hợp thanh toán tự động: Sinh mã VietQR động trực tiếp trên màn hình phụ tại cổng ra theo đúng số tiền lưu trong SQL Server để khách hàng quét mã thanh toán qua ứng dụng Mobile Banking không dùng tiền mặt.

Đối tượng hưởng lợi

  • Sinh viên ngành Kỹ thuật Điện tử / Viễn thông / Tự động hóa: Cung cấp tài liệu tham khảo thực tế về cách giao tiếp các chuẩn bus vi điều khiển (SPI, I2C, UART), phương pháp thiết kế mạch in PCB và quy trình xử lý tín hiệu thực tế.
  • Lập trình viên phần mềm nhúng & Desktop: Cung cấp mẫu mã nguồn (code pattern) kết nối đa luồng giữa giao diện C# WinForms, thư viện xử lý ảnh EmguCV và hệ quản trị cơ sở dữ liệu SQL Server.
  • Ban quản lý tòa nhà và Doanh nghiệp: Cung cấp phương án giải pháp tự động hóa chi phí thấp, tối ưu hóa quy trình kiểm soát bãi đỗ xe và ngăn ngừa thất thoát tài chính.
  • Các nhà nghiên cứu ứng dụng: Cung cấp dữ liệu thực nghiệm về thời gian trễ, hiệu quả phân vùng biên theo dạng cây (Contour Tree Hierarchy) làm tiền đề phát triển các thuật toán nhận dạng phương tiện nâng cao.

Câu hỏi thường gặp

1. Yêu cầu cấu hình phần cứng tối thiểu để triển khai phần mềm quản lý là gì?

Máy tính trạm (PC/Laptop) cần trang bị vi xử lý Intel Core i3 thế hệ 8 (hoặc tương đương AMD), RAM tối thiểu 4 GB, 02 cổng USB 2.0/3.0 khả dụng cho Camera và Arduino, ổ cứng trống 10 GB và chạy hệ điều hành Windows 10/11 64-bit có cài đặt Microsoft .NET Framework 4.8 cùng SQL Server Express.

2. Khi mất kết nối giữa máy tính và Arduino thì hệ thống xử lý như thế nào?

Khi mất kết nối cổng COM (UART), phần mềm C# sẽ hiển thị cảnh báo lỗi kết nối ngoại vi trên giao diện điều khiển. Để đảm bảo an toàn, trạng thái barrier sẽ duy trì ở chế độ đóng và nhân viên có thể sử dụng nút nhấn thủ công được tích hợp trực tiếp trên mạch vi điều khiển để mở barrier khẩn cấp.

3. Hệ thống có thể tích hợp với các loại thẻ từ thang máy chung cư có sẵn không?

Hoàn toàn có thể. Module MFRC522 hoạt động ở tần số tiêu chuẩn $13.56\text{ MHz}$ (tương thích chuẩn ISO/IEC 14443A), cho phép đọc trực tiếp mã UID của hầu hết các loại thẻ từ thông dụng hiện nay như thẻ cư dân thang máy, thẻ sinh viên, hoặc thẻ ngân hàng hỗ trợ NFC.

4. Quy trình bảo trì hệ thống định kỳ bao gồm những công việc gì?

Định kỳ hàng tháng cần vệ sinh bề mặt kính của camera và đầu phát hồng ngoại của cảm biến E18-D80NK để tránh bám bụi làm giảm độ nhạy; kiểm tra độ siết của khớp nối động cơ barrier; thực hiện sao lưu (backup) cơ sở dữ liệu SQL Server và dọn dẹp các tệp ảnh chụp log tạm thời trên ổ đĩa.

5. Chi phí triển khai thực tế cho một bãi xe hoàn chỉnh là bao nhiêu và thời gian thu hồi vốn?

Chi phí hoàn thiện cho một trạm kiểm soát 2 làn thực tế (gồm 2 camera chuyên dụng IP, barrier tự động, tủ điều khiển công nghiệp, máy tính và phần mềm) dao động từ 35–45 triệu VND. Với việc cắt giảm nhân sự kiểm soát thủ công, bãi xe có thể thu hồi vốn đầu tư hoàn toàn trong khoảng thời gian từ 2.5 đến 3.5 tháng.


Kết luận

Đề tài "Thiết kế, thi công mô hình bãi giữ xe thông minh" đã hoàn thành toàn diện các mục tiêu nghiên cứu lý thuyết lẫn thực nghiệm kỹ thuật. Hệ thống chứng minh tính hiệu quả vượt trội khi kết hợp đồng bộ giữa vi điều khiển ATmega328P, công nghệ nhận dạng RFID $13.56\text{ MHz}$, xử lý ảnh biên Canny/OCR với thư viện EmguCV trên nền C#, cùng hệ quản trị cơ sở dữ liệu SQL Server. Mô hình đạt độ chính xác nhận diện biển số $90.0%$, tổng thời gian xác thực phương tiện lý tưởng ($1.29\text{ s}$) và tích hợp tính năng an toàn PCCC tự động mở barrier khi có hỏa hoạn. Đây là giải pháp công nghệ có tính khả thi cao, mở ra tiềm năng ứng dụng rộng rãi trong quá trình xây dựng hạ tầng đô thị thông minh hiện đại.