Đặt vấn đề dẫn tới lý do chọn đề tài, trình bày mục tiêu, nội dung nghiên cứu, xác định một số giới hạn và trình bày bố cục của đề tài. • Chương 2: Tổng quan Giới thiệu một số cơ sở lý thuyết liên quan về phần cứng cũng như phần mềm và những phần cứng cần sử dụng cho đề tài. • Chương 3: Thiết kế hệ thống Xây dựng sơ đồ khối, trình bày nguyên lý hoạt động của hệ thống. Thiết kế và lựa chọn linh kiện phù hợp cho từng khối.
Xây dựng sơ đồ nguyên lý cho từng khối và toàn bộ hệ thống. 9 • Chương 4: Thi công hệ thống Trình bày các bước thi công mô hình hoàn chỉnh từ phần cứng đến phần mềm. Xây dựng lưu đồ giải thuật, phương trình tính toán các thông số cụ thể, xử lý tín hiệu và lập trình cho C#, vi điều khiển. • Chương 5: Kết luận và hướng phát triển Trình bày những ưu nhược điểm của toàn bộ hệ thống.
Từ đó đưa ra kết luận và hướng phát triển cho đề tài. 10 CHƯƠNG 2 TỔNG QUAN 2.1 Phương án lựa chọn Bãi gửi xe tự động vòng xoay: Hình 1: Bãi gửi xe tự động vòng xoay Bãi gửi xe tự động dạng vòng xoay được thiết kế để tận dụng tối đa diện tích đất có sẵn. Cấu trúc xoay quanh 2 trục giúp nâng hạ các tầng xe một cách dễ dàng hơn, cho phép đậu được nhiều xe hơn trên diện tích nhỏ hơn so với các hệ thống đậu xe truyền thống, giảm thiểu diện tích cần thiết cho việc đậu xe. Bãi gửi xe tự động dạng vòng xoay thường được trang bị các hệ thống an ninh như camera giám sát, cửa tự động và cơ chế kiểm soát truy cập để đảm bảo an toàn cho xe và người sử dụng.
Việc tự động hóa quá trình đậu xe cũng giúp giảm thiểu nguy cơ va chạm hoặc hỏng hóc. Người sử dụng có thể gửi xe tại một điểm đặt xe và hệ thống sẽ tự động đưa xe vào các vị trí đậu xe trống trên vòng xoay. Việc này giúp tiết kiệm thời gian và công sức cho người sử dụng, đồng thời tăng cường sự linh hoạt trong việc quản lý không gian 11 đậu xe. Hệ thống thanh toán thường được tích hợp trực tiếp vào quy trình đậu xe, cho phép người sử dụng thanh toán một cách dễ dàng thông qua các máy thu phí tự động hoặc ứng dụng di động.
Bãi gửi xe tự động dạng vòng xoay thường được thiết kế để hoạt động một cách hiệu quả về năng lượng, giảm thiểu lãng phí và tối ưu hóa hiệu suất hoạt động. Sau khi phân tích, phương án áp dụng vào đề tài được lựa chọn theo các chỉ tiêu đề ra như sau: tiết kiệm diện tích, hiệu quả kinh tế theo thời gian, tính tự động cao, dễ thực hiện và hiện thực hóa mô hình. Do đó phương án bãi gửi xe dạng vòng xoay được lựa chọn cho đề tài này. Hình 2: bản thiết kế mô hình Bãi gửi xe tự động vòng xoay 12 2.2 Các cơ sở lý thuyết liên quan 2.1 Giới thiệu về ngôn ngữ Python và một số công cụ liên quan Hình 3: python là gì? Python là ngôn ngữ lập trình máy tính bậc cao thường được sử dụng để xây dựng trang web và phần mềm, tự động hóa các tác vụ và tiến hành phân tích dữ liệu.
Python là ngôn ngữ có mục đích chung, nghĩa là nó có thể được sử dụng để tạo nhiều chương trình khác nhau và không chuyên biệt cho bất kỳ vấn đề cụ thể nào. Tính linh hoạt này, cùng với sự thân thiện với người mới bắt đầu, đã khiến nó trở thành một trong những ngôn ngữ lập trình được sử dụng nhiều nhất hiện nay. Một cuộc khảo sát được thực hiện bởi công ty phân tích ngành RedMonk cho thấy rằng đây là ngôn ngữ lập trình phổ biến thứ hai đối với các nhà phát triển Ưu điểm: • Dễ đọc và dễ hiểu: Python có cú pháp đơn giản và gần gũi với ngôn ngữ tự nhiên, giúp cho việc viết mã trở nên dễ dàng và dễ hiểu hơn. Điều này làm cho Python trở thành một lựa chọn tốt cho cả người mới bắt đầu và những lập trình viên kinh nghiệm.
• Cộng đồng lớn và sự hỗ trợ mạnh mẽ: Python có một cộng đồng lập trình viên rất lớn và năng động, với nhiều tài liệu, hướng dẫn và thư viện mã nguồn mở phong phú. Điều này giúp cho việc học và làm việc với Python trở nên dễ dàng hơn. 13 • Đa năng và linh hoạt: Python có thể được sử dụng cho nhiều mục đích khác nhau, từ việc viết script đơn giản cho đến phát triển ứng dụng phức tạp. Nó cũng có thể tích hợp được với nhiều ngôn ngữ và công nghệ khác.
• Tính mở rộng và phát triển: Python có một hệ thống thư viện và framework phong phú, cho phép lập trình viên mở rộng chức năng của ngôn ngữ theo nhu cầu cụ thể của dự án. • Hỗ trợ cho nhiều nền tảng: Python có sẵn trên nhiều hệ điều hành khác nhau và có thể chạy trên nhiều loại thiết bị khác nhau, từ máy tính cá nhân đến thiết bị di động và thiết bị nhúng. Với sự đa năng và dễ sử dụng của nó, Python là một lựa chọn lý tưởng cho việc lập trình các mô hình bãi gửi xe tự động. Bằng cách sử dụng Python, chúng ta có thể viết mã để điều khiển các hệ thống điều khiển, xử lý dữ liệu từ các cảm biến và thiết bị, và thậm chí xây dựng giao diện người dùng để tương tác với người dùng cuối.
Do đó em đã lựa chọn python là ngôn ngữ để lập trình xử lý ảnh và giao diện cho đề tài này. 14 Giải thuật xử lý ảnh nhận diện biển số xe Bắt đầu B1: Camera nhận lệnh chụp ảnh từ python và tiến hành chụp hình. B2: Sau khi có được hình ảnh từ camera, chương Chụp ảnh trình tiến hành quá trình tách biển số xe ra khỏi hình. B3: Từ biển số xe ta tiến hành lấy đường viền ảnh.
Tách hình biển số B4: Như bước ở trên ta đã có các đường viền xung quanh các ký tự, từ các đường viền này ta cắt riêng lẻ lấy đường viền ký tự từng ký tự của biển số xe. B5: Với những mẫu ký tự được cắt ra, ta đưa chúng vào thư viện nhận dạng ký tự có sẵn trong Emgu CV. cắt ký tự B6: Mặc dù đã nhận dạng được các ký tự, nhưng lúc này thứ tự của chúng vẫn rất lộn xộn. Do đó bước cuối Nhận dạng ký tự cùng là sắp xếp chúng theo thứ tự dựa vào vị trí cất của các ký tự ở bước 5 Sắp sếp ký tự Kết thúc Hình 4: Giải thuật xử lý ảnh nhận diện biển số xe 15 2.2 Giới thiệu về ngôn ngữ C# và một số công cụ liên quan Hình 5: Giới thiệu về ngôn ngữ C# C# (hay còn gọi là C Sharp, là ngôn ngữ lập trình hướng đối tượng, hiện đại do Microsoft phát triển như một phần của nền tảng.
Nó được giới thiệu lần đầu tiên vào năm 2000 và kể từ đó đã trở thành một trong những ngôn ngữ lập trình được sử dụng rộng rãi nhất trong ngành. C# có thiết kế đơn giản, mạnh mẽ và linh hoạt. Sở hữu một cú pháp tương tự như các ngôn ngữ lập trình phổ biến, bao gồm Java và C++, giúp các nhà phát triển đã quen thuộc với các ngôn ngữ này dễ làm quen. Ứng dụng Tương tự như các ngôn ngữ lập trình khác, C# được sử dụng để tạo các chương trình và ứng dụng khác nhau.
Các ứng dụng đa dạng dành cho thiết bị di động, máy tính để bàn, dịch vụ dựa trên đám mây, trang web, phần mềm doanh nghiệp hay các ứng dụng trò chơi. Do đó, C# được tin tưởng sử dụng nhiều trong các lĩnh vực chính: • Phát triển ứng dụng máy tính: C# thường được sử dụng để phát triển các ứng dụng máy tính trên nền tảng Windows, bao gồm các ứng dụng desktop như 16 ứng dụng quản lý, trò chơi, công cụ đồ họa, và phần mềm năng lượng. • Phát triển ứng dụng di động: Sử dụng Xamarin, một công cụ phát triển ứng dụng di động được Microsoft sở hữu, ta có thể sử dụng C# để phát triển ứng dụng di động cho cả iOS và Android. • Phát triển ứng dụng web: C# thường được sử dụng trong việc phát triển ứng dụng web thông qua ASP.NET, một framework web được tích hợp trong .NET cung cấp các công cụ mạnh mẽ để phát triển ứng dụng web chuyên nghiệp và hiệu quả.
Sơ đồ giải thuật C# điều khiển động cơ Cảm biến - Xử lý tín hiệu Động cơ nhận Bắt đầu - Tín hiệu điều bước tín khiển hiệu Động cơ servo Hình 6: Sơ đồ giải thuật C# điều khiển động cơ 17 2.3 Công Nghệ RFID Giới thiệu RFID là công nghệ nhận dạng đối tượng bằng sóng vô tuyến. Công nghệ này cho phép nhận biết các đối tượng thông qua hệ thống thu phát sóng radio, cho phép ghi và đọc dữ liệu từ một thẻ hoặc tag thông qua sóng radio từ đó có thể giám sát, quản lý hoặc lưu từng đối tượng. RFID thường được sử dụng để nhận diện và theo dõi các đối tượng, hàng hóa, và người dùng một cách tự động và không cần tiếp xúc. Cấu tạo Hệ thống RFID gồm ba phần chính: tag (thẻ), thiết bị đọc (reader), và hệ thống phần mềm để xử lý dữ liệu.
Hình 7: cấu tạo Thẻ RFID Thẻ RFID chứa một đoạn mã không trùng lặp giữa các thẻ được lưu trữ trong một chip và được truyền qua sóng radio. 18 Hình 8: Thiết bị đọc RFID RC552 Thiết bị đọc RFID là một thiết bị điện tử có khả năng gửi và nhận sóng radio để tương tác với các thẻ RFID. Nguyên lý hoạt động Thiết bị RFID reader phát ra sóng điện tử ở một tần số nhất định, khi thiết bị thẻ RFID trong vùng hoạt động sẽ cảm nhận được sóng điện tử này và thu nhận năng lượng, từ đó phát lại cho thiết bị RFID reader biết mã số của mình. Từ đó thiết bị RFID reader nhận biết được tag nào đang trong vùng hoạt động.
Hình 9: Nguyên lý hoạt động Thiết bị RFID 19 Ứng dụng Thẻ chíp (tag) RFID chứa rất nhiều mã nhận dạng khác nhau, thông thường là 32 bít tương ứng với hơn 4 tỷ mã số khác nhau. Ngoài ra khi xuất xưởng mỗi thẻ chip RFID được gắn một mã số khác nhau. Do vậy, khi một vật được gắn chíp RFID thì khả năng nhận dạng nhầm với 1 thẻ chip RFID khác là rất thấp, xác suất là 1 phần 4 tỷ.