1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe

82 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Mô Hình Quản Lý Bãi Giữ Xe
Tác giả Bùi Trịnh Tăng Đức, Huỳnh Hữu Lợi
Người hướng dẫn ThS. Huỳnh Thị Thu Hiền
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Máy Tính
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 82
Dung lượng 3,99 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN (18)
    • 1.1 ĐẶT VẤN ĐỀ (18)
    • 1.2 MỤC TIÊU ĐỀ TÀI (18)
    • 1.3 GIỚI HẠN ĐỀ TÀI (19)
    • 1.4 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU (19)
      • 1.4.1 Đối tượng nghiên cứu (19)
      • 1.4.2 Phạm vi nghiên cứu (19)
    • 1.5 BỐ CỤC ĐỀ TÀI (19)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (19)
    • 2.1 CÔNG NGHỆ RFID (21)
      • 2.1.1 Giới thiệu (21)
      • 2.1.2 Các dải tần RFID (0)
      • 2.1.3 Nguyên lý hoạt động (21)
      • 2.1.4 Ứng dụng (0)
      • 2.1.5 Lợi ích và hạn chế (22)
    • 2.2 CHUẨN GIAO TIẾP SPI [2] (23)
      • 2.2.1 Giới thiệu (23)
      • 2.2.2 Nguyên lý hoạt động (0)
    • 2.3 CHUẨN GIAO TIẾP UART [3] (25)
      • 2.3.1 Giới thiệu (25)
      • 2.3.2 Truyền dữ liệu (25)
    • 2.4 CHUẨN GIAO TIẾP I2C [4] (27)
      • 2.4.1 Giới thiệu (27)
      • 2.4.2 Khung truyền I2C (29)
      • 2.4.3 Nguyên lý truyền nhận dữ liệu (0)
    • 2.5 PYQT5 VÀ QT DESIGNER [7] (30)
      • 2.5.1 PyQt5 (30)
      • 2.5.2 QT DESIGNER (30)
    • 2.6 Android Studio [8] (0)
    • 2.7 Cơ sở dữ liệu thời gian thực trên Firebase [9] (0)
  • CHƯƠNG 3: THIẾT KẾ HỆ THỐNG (34)
    • 3.1 GIỚI THIỆU (34)
      • 3.1.1 Phần cứng (34)
      • 3.1.1 Phần mềm (34)
    • 3.2 SƠ ĐỒ KHỐI VÀ CHỨC NĂNG TỪNG KHỐI (35)
    • 3.3 NGUYÊN LÝ HOẠT ĐỘNG CỦA HỆ THỐNG (36)
    • 3.4 THIẾT KẾ HỆ THỐNG PHẦN CỨNG (37)
      • 3.2.1 Khối cảm biến (37)
      • 3.2.2 Khối cảm biến cho RFID (38)
      • 3.2.3 Khối hiển thị (39)
      • 3.2.4 Khối xử lý trung tâm (40)
      • 3.2.5 Khối nguồn (41)
      • 3.2.6 Khối động cơ (42)
      • 3.2.7 Khối nút nhấn (43)
      • 3.2.8 Sơ đồ nguyên lý (0)
    • 3.3 THIẾT KẾ PHẦN MỀM (44)
      • 3.3.1 Ý tưởng xây dựng phần mềm quản lý trên máy tính (44)
      • 3.3.2 Ý tưởng thiết kế ứng dụng trên điện thoại Android (45)
      • 3.3.3 Thiết kế cơ sở dữ liệu (45)
    • 3.4 LƯU ĐỒ THUẬT TOÁN (47)
      • 3.4.1 Lưu đồ thuật toán khối xử lý trung tâm (47)
      • 3.4.3 Lưu đồ giải thuật của điều khiển động cơ (49)
    • 3.5 LƯU ĐỒ HOẠT ĐỘNG CỦA HỆ THỐNG ỨNG DỤNG TRÊN MÁY TÍNH 33 (50)
      • 3.5.1 Lưu đồ giao diện đăng nhập (50)
      • 3.5.2 Lưu đồ giao diện đăng ký (52)
      • 3.5.3 Lưu đồ giao diện cấu hình (54)
      • 3.5.4 Lưu đồ giải thuật của giao diện chính (55)
    • 3.6 LƯU ĐỒ GIẢI THUẬT ỨNG DỤNG TRÊN ANDROID (57)
      • 3.6.1 Lưu đồ đăng ký tài khoản (57)
      • 3.6.2 Lưu đồ đăng nhập tài khoản (58)
      • 3.6.3 Lưu đồ kiểm tra vị trí (59)
      • 3.6.4 Lưu đồ đặt chỗ (60)
      • 3.6.5 Lưu đồ nạp tiền (61)
      • 3.6.6 Lưu đồ hỗ trợ tìm đường (61)
      • 3.6.7 Lưu đồ tổng thể của ứng dụng (63)
  • CHƯƠNG 4: KẾT QUẢ VÀ ĐÁNH GIÁ (20)
    • 4.1 KẾT QUẢ PHẦN CỨNG (64)
    • 4.2 KẾT QUẢ PHẦN MỀM (68)
      • 4.2.1 Kết quả phần mềm trên PC (68)
      • 4.2.2 Ứng dụng trên Android (73)
    • 4.3 ĐÁNH GIÁ (76)
  • CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (20)
    • 5.1 KẾT LUẬN (77)
    • 5.2 HƯỚNG PHÁT TRIỂN (77)
  • TÀI LIỆU THAM KHẢO ...................................................................................... 59 (78)

Nội dung

TỔNG QUAN

ĐẶT VẤN ĐỀ

Theo sự thống kê của Cục Đăng kiểm Việt Nam, tính đến tháng 11/2021, trên cả nước có 4512518 ô tô lưu hành [5] Chúng ta có thể thấy chỉ riêng trong nước, lượng xe ô tô đã khá đáng kể Từ đó, vấn đề thiết kế và quản lý bãi giữ xe đã đưa ra để mà đáp ứng được những nhu cầu thiết yếu cho người dân Để làm được điều đó, chúng ta sẽ cần phải áp dụng các tiến bộ về khoa học kỹ thuật công nghệ trong việc quản lý các bãi xe để mà cho thuận tiện, tối ưu nhất cho cả người sử dụng và người quản lý Ngày nay, các công nghệ như RFID, IoT, nhận diện,… được đưa vào quản lý bãi xe một cách rộng rãi và sự hiệu quả mà chúng đưa lại rất rõ rệt.

Trước đây, giữ xe kiểu cũ là khi một xe vào bãi sẽ có nhân viên ghi lại thông tin lên trên vé phần lớn là biển số xe Đối với việc này, nó rất bất tiện cho người dùng và nhân viên giữ xe vì vé giấy rất dễ rách và ướt Đó là xét về mặt tiện ích còn khi ta xét về yếu tố bảo vệ bầu khí quyển của môi trường thì vé giấy chỉ dùng một lần và khi chúng được vứt thì môi trường sẽ bị ô nhiễm và gây thiệt hại về tài nguyên rừng

Nếu như chúng ta có thể áp dụng các công nghệ mới điển hình như RFID thì sẽ đưa ra sự có ích hơn cho cả khách hàng và nhân viên bãi xe Trước mắt ta thấy được sự nhanh chóng, độ chính xác cao và tính an toàn khi dùng công nghệ RFID Ngoài ra, việc dùng thẻ RFID sẽ

MỤC TIÊU ĐỀ TÀI

Thiết kế mô hình bãi giữ xe có chức năng:

Quản lý khách hàng bằng thẻ RFID.

Xây dựng phần mềm quản lý bãi giữ xe trên máy tính.

Xây dựng ứng dụng đặt chỗ trước trên điện thoại

Android Quản lý số chỗ còn trống trong bãi xe.

Xây dựng bản đồ GPS cho người dùng tìm đường đến bãi giữ xe.

Trong quá trình thực thi đề tài này, nhóm thực hiện ứng dụng và kiểm chứng những gì đã được học được ở trường lớp Bên cạnh đó, khả năng tư duy, giải quyết

1 các vấn đề sẽ được phát huy Bên cạnh đó là cơ hội để góp thêm những kinh nghiệm, kỹ năng cho quá trình phát triển sự nghiệp sau này.

GIỚI HẠN ĐỀ TÀI

Đề tài thiết kế mô hình quản lý bãi giữ xe bằng thẻ RFID và phần mềm trên máy tính, đặt chỗ từ xa qua ứng dụng trên điện thoại Android,đọc/ghi dữ liệu bằng Firebase thông qua mạng Internet.

ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

Kit điều khiển Arduino Mega và Arduino

UNO Cảm biến siêu âm.

Hệ thống đọc thẻ RFID.

Cơ sở dữ liệu thời gian thực trên Firebase.

Android Studio lập trình ứng dụng cho điện thoại Android.

Viết chương trình ứng dụng trên máy tính bằng ngôn ngữ Python Các chuẩn giao tiếp có liên quan.

Nghiên cứu hệ thống đọc thẻ RFID.

Nghiên cứu sử dụng nhiều cảm biến siêu âm cùng lúc để phát hiện vật cản Đọc ghi dữ liệu qua Firebase.

Sử dụng Android Studio để lập trình ứng dụng đặt chỗ từ xa cho điện thoại Android.

Viết ứng dụng để quản lý bãi giữ xe trên máy tính.

BỐ CỤC ĐỀ TÀI

Đề tài được thực hiện với 5 chương:

Chương 1 TỔNG QUAN: Đặt vấn đề, mục tiêu đề tài, giới hạn đề tài, đối tượng và phạm vi nghiên cứu.

CƠ SỞ LÝ THUYẾT

CÔNG NGHỆ RFID

Công nghệ RFID viết tắt là Radio Frequency Identification là một công nghệ có khả năng nhận diện được đối tượng bằng sóng vô tuyến Nó có thể thu thập, đánh dấu và nhận dạng các đối tượng thông qua sóng vô tuyến Một hệ thống RFID sẽ gồm hai phần chính là thẻ và đầu đọc Trong đó, thẻ chứa một mạch tích hợp hay còn gọi là chip RFID cùng với ăng-ten. Đầu đọc sẽ giao tiếp với thẻ bằng sóng vô tuyến [6] 2.1.2 Các dải tần RFID

Hiện tại, thế giới phân công nghệ RFID theo ba nhóm tần số: tần số thấp (LF), cao (HF), siêu cao tần (UHF).

Dải tần Khoảng cách Tốc độ

LF 30 KHz – 300 KHz Từ dưới 10cm Chậm

HF 3 MHz – 30 MHz Khoảng từ 10cm

UHF 300 MHz – 3 GHz Lên đến 12m Nhanh

2.1.3 Nguyên lý hoạt động Đầu đọc sẽ phát ra sóng điện từ với một tần số nhất định Khi đó, nếu thẻ nằm trong vùng hoạt động sẽ tiếp nhận sóng đó Sau đó, thẻ sẽ phát ra một tín hiệu riêng biệt Đầu đọc sẽ có một IC tiếp nhận và giải mã tín hiệu đó và xác định được mã đó là của thẻ nào.

Hình 2.1 Cấu tạo bên trong của thẻ RFID

Hình 2.2 Nguyên lý hoạt động của hệ thống RFID 2.1.4 Ứng dụng

● Quản lý bãi giữ xe.

2.1.5 Lợi ích và hạn chế

Bảng 2.2 Lợi ích và hạn chế của hệ thống RFID [1]

Thu thập dữ liệu một cách nhanh chóng Chi phí cao

Lượng thông tin xử lý trong mỗi lần lớn Có thể đọc xuyên vật cản.

Thẻ bền, đa dạng, dùng được nhiều lần

Dễ bị nhiễu sóng khi gặp kim loại và các tín hiệu điện từ khác.

CHUẨN GIAO TIẾP SPI [2]

Chuẩn SPI (Serial Peripheral Interface) là chuẩn truyền thông nối tiếp tốc độ cao được hãng Motorola phát triển Đây là một chuẩn truyền song công (full duplex) nên quá trình truyền và nhận có thể được diễn ra cùng lúc Chuẩn này truyền dữ liệu theo kiểu “Chủ - tớ” hay còn gọi là Master - Slave Trong đó, một thiết bị sẽ đóng vai trò là chủ quản lý và điều phối quá trình truyền nhận thông tin, một hoặc nhiều thiết bị khác sẽ đóng vai trò là tớ chịu sự điều khiển của thiết bị chủ Việc truyền nhận thông tin trong chuẩn SPI sẽ thông qua 4 đường nên còn gọi là chuẩn truyền “4 dây” hay “4 - wire” Bốn dây đó sẽ là:

Hình 2.3 Chuẩn giao tiếp SPI

● SCK (Serial Clock): Đây là xung giữ nhịp trong quá trình truyền được tạo ra bởi thiết bị chủ Mỗi nhịp trên SCK sẽ báo hiệu 1 bit dữ liệu truyền đến hoặc gửi đi Nhờ có xung giữ nhịp SCK mà quá trình truyền nhận ít bị lỗi và có thể đạt được tốc độ cao.

● MISO (Master Input Slave Output): Trên đường truyền này, tín hiệu sẽ được thiết bị Slave tạo ra và truyền đi, thiết bị Master sẽ tiếp nhận tín hiệu vào.

● MOSI (Master Output Slave Input): Ngược lại với MISO, trên đường truyền MOSI, tín hiệu sẽ được tạo ra và truyền đi bởi thiết bị Master, thiết bị Slave sẽ tiếp nhận tín hiệu.

● SS (Slave Select): Chân này còn có tên gọi khác là CS (Chip Select) Thiết bị Master sẽ thông qua chân này mà quyết định việc có truyền nhận dữ liệu với Slave đó không Khi muốn chọn Slave nào để giao tiếp, Master sẽ cho đường SS tương ứng với Slave đó tích cực mức thấp việc này sẽ tùy thuộc vào người dùng

Hình 2.4 Sơ đồ truyền nhận 1-1 giữa Master và Slave

Hình 2.5 Sơ đồ truyền nhận một Master và nhiều Slave 2.2.2 Nguyên lý hoạt động

Mỗi Master và Slave đều sẽ có một thanh ghi dịch 8 bits Khi Master muốn giao tiếp thông tin với thiết bị Slave nào thì chỉ việc kéo chân SS tương ứng với Slave đó xuống mức thấp Sau khi xác nhận truyền nhận, cứ mỗi xung clock thì Master sẽ gửi 1 bit từ thanh ghi dịch của nó đến thanh ghi dịch của Slave theo đường truyền MOSI Cùng lúc đó, Slave cũng gửi 1 bit từ thanh ghi dịch của nó tới thanh ghi dịch của Master qua đường truyền MISO Quá trình này, diễn ra cùng lúc nên ta gọi là truyền song công Sau 8 chu kỳ xung clock, quá trình truyền nhận 1 byte dữ liệu hoàn tất

Hình 2.6 Cơ chế truyền dữ liệu giữa Master và Slave

CHUẨN GIAO TIẾP UART [3]

UART (Universal Asynchronous Receiver-Transmitter) là bộ truyền nhận nối tiếp không đồng bộ có nghĩa là không có tín hiệu clock để đồng bộ hóa các bit truyền đi và nhận vào Để UART trở thành một giao thức thì phải có hai bộ UART kết nối với nhau Cả hai bên phải có những quy ước với nhau về tốc độ, số bit sẽ truyền nhận trước Hai thiết bị UART sẽ được kết nối với nhau qua 3 đường: TX, RX, GND (GROUND) Chân TX của thiết bị này sẽ kết nối với chân RX của thiết bị còn lại và một điều bắt buộc là chân GND của 2 thiết bị UART phải nối với nhau vì các tín hiệu sẽ truyền theo mức điện áp nên phải nối GND để có thể so sánh mức điện áp

Bảng 2.3 Kết nối 2 bộ UART

2.3.2 Truyền dữ liệu Đầu tiên, bộ UART sẽ nhận dữ liệu có thể từ một vi điều khiển thông qua Bus dữ liệu (Data Bus) ở dạng song song Sau đó, bộ UART sẽ đóng khung dữ liệu và truyền đi thông qua chân TX.

Hình 2.7 Khung dữ liệu truyền

● IDLE: Trạng thái nghỉ khi không có sự truyền nhận trên RX hay

TX Ở trạng thái này, tín hiệu luôn luôn ở mức cao.

● St: Bit bắt đầu (Start bit) luôn luôn ở mức thấp Khi bên truyền muốn báo hiệu cho bên nhận là chuẩn bị truyền dữ liệu, nó sẽ chuyển đổi từ trạng thái nghỉ sang truyền bằng cách kéo tín hiệu xuống mức thấp

● 0-8: Các bit dữ liệu muốn truyền Sau khi kéo tín hiệu xuống mức thấp để báo hiệu truyền dữ liệu, UART sẽ bắt đầu truyền từng bit dữ liệu và nó sẽ truyền từ bit có trọng số thấp (ở đây là bit thứ 0) Một khung dữ liệu truyền sẽ có 5 đến 9 bits nhưng thông thường chỉ sử dụng từ 5-8 bits

● P: Bit kiểm tra Parity có thể chẵn hoặc lẻ và cũng có thể không cần Mục đích của bit Parity này là để kiểm tra dữ liệu truyền đi có lỗi hay không bằng cách kiểm tra số lượng bit 1 trong dữ liệu truyền đi tính cả bit Parity Có 2 loại bit Parity:

○ Bit Parity kiểm tra chẵn: Là bit Parity mà khi thêm vào tổng số bit 1 trở thành số chẵn.

○ Bit Parity kiểm tra lẻ: Là bit Parity mà khi thêm vào tổng số bit 1 trở thành số lẻ.

Ví dụ: Ta có dữ liệu truyền đi là 10001011P Ở đây, dữ liệu truyền đi có 8 bit trong đó có 4 bit 1 Khi P = 0, số bit 1 sẽ là 4 ⇒ P là bit parity chẵn Khi P = 1, số bit 1 sẽ là 5 ⇒ P là bit parity lẻ

● Sp: Stop bit (bit kết thúc) bắt buộc tối thiểu phải có 1 bit Stop Bit này luôn ở mức cao Nó báo hiệu việc truyền dữ liệu đã kết thúc Sau đó, nếu UART muốn tiếp tục truyền thì kéo tín hiệu xuống mức thấp để bắt đầu quá trình truyền mới hoặc có thể giữ ở mức cao để về trạng thái nghỉ

Hình 2.8 UART nhận dữ liệu Khi bên nhận phát hiện tín hiệu để báo hiệu báo hiệu chuẩn bị nhận dữ liệu, nó sẽ chờ nửa chu kỳ bit Tính từ thời điểm nửa chu kỳ bit đó, cứ mỗi 1 chu kỳ bit, bên nhận sẽ đọc dữ liệu của bit Thời điểm đọc dữ liệu bit là giữa chu kỳ của bit vì lúc đó là lúc dữ liệu ổn định nhất nên việc đọc sẽ chính xác hơn Bên nhận cứ đọc như thế cho tới khi phát hiện trạng thái dừng

Sau khi hoàn tất việc nhận dữ liệu bên nhận sẽ loại bỏ bit Start, Stop, Parity Sau đó, nó sẽ chuyển dữ liệu về dạng song song và truyền lại cho Bus dữ liệu

Hình 2.9 Truyền nhận dữ liệu UART

CHUẨN GIAO TIẾP I2C [4]

I2C viết tắt của Inter - Integrated Circuit là một chuẩn giao tiếp nối tiếp đồng bộ bằng xung clock Chuẩn này được dùng để truyền nhận dữ liệu giữa các IC mà chỉ cần 2 dây tín hiệu nên nó còn được gọi là giao thức 2 dây (2-wire)

I2C dùng 2 dây để truyền dữ liệu là:

● SCL (Serial Clock Line): Dây này sẽ dùng để phát xung clock.

● SDA (Serial Data Line): Đây là dây sẽ truyền dữ liệu.

Trong chuẩn này, việc giao tiếp cũng sẽ được thực hiện theo kiểu chủ - tớ (Master - Slave) nhưng khác với chuẩn SPI là sẽ có thể có một hoặc nhiều thiết bị chủ trong quá trình giao tiếp Khi lập thành giao thức I2C thì bất kể là thiết bị chủ hay tớ thì các chân SCL sẽ nối chung với nhau, các chân SDA cũng vậy Tuy vậy, những con Slave không thể giao tiếp trực tiếp với nhau được mà chúng chỉ ở đó đợi lệnh từ Master, lệnh đó có thể là truyền hoặc nhận dữ liệu Bên cạnh đó, mỗi đường dây sẽ có nối với một điện trở kéo lên để giữ mặc định các đường dây ở mức cao tránh trường hợp đường dây vừa bị một thiết bị kéo xuống thấp vừa bị một thiết bị khác kéo lên cao (ngắn mạch)

Hình 2.10 Chuẩn giao tiếp I2C có 1 thiết bị chủ

Hình 2.11 Chuẩn giao tiếp I2C có nhiều hơn 1 thiết bị chủ

● Bắt đầu: Dấu hiệu cho biết bắt đầu truyền dữ liệu.

● Bit địa chỉ: Sẽ có từ 7-10 bit nhưng thông thường chỉ có 7 bit. Những bit địa chỉ này sẽ được gắn cho thiết bị để phân biệt các thiết bị với nhau và những địa chỉ này sẽ là cố định.

● Bit Read/Write: Quyết định xem là Master muốn truyền hay nhận dữ liệu Nếu như Master muốn truyền dữ liệu đi thì bit này sẽ là 0 Nếu Master muốn nhận dữ liệu về thì bit này sẽ là 1.

● Bit ACK/NACK: Phản hồi của Slave về Master Nếu địa Master gửi tới giống với địa chỉ của Slave thì nó sẽ phản hồi bit 0 về Master Ngược lại, Slave sẽ phản hồi bit 1.

● Bit dữ liệu: Sẽ là những thông tin mà thiết bị truyền gửi đến thiết bị nhận Đi theo sau là bit ACK/NACK để xác định là thiết bị nhận đã nhận thành công hay chưa nếu nhận thành công thì đặt là 0 nếu chưa thành công thì đặt là 1.

● Kết thúc: Báo hiệu cho các Slave biết quá trình truyền nhận đã kết thúc 2.4.3 Nguyên lý truyền nhận dữ liệu

● Bước 1: Để bắt đầu việc truyền nhận dữ liệu, Master lần lượt kéo SDA và SCL xuống mức thấp.

● Bước 2: Master gửi đi các bit địa chỉ và bit Read/Write.Nếu Master muốn truyền dữ liệu đi thì đặt bit Read/Write là 0 Nếu Master muốn nhận dữ liệu về thì đặt bit Read/Write là 1 Các Slave sẽ so sánh các bit địa chỉ đó với địa chỉ của mình Nếu địa chỉ trùng khớp, Slave sẽ kéo SDA xuống mức thấp và đặt bit ACK/NACK là 0 Mặc định SDA ở mức cao và bit ACK/NACK đặt là 1

● Bước 3: Truyền nhận các bit dữ liệu Nếu truyền nhận thành công thì bit ACK/NACK sẽ được đặt là 0 Nếu chưa thành công bit này sẽ được đặt là 1.

● Bước 4: Sau khi hoàn tất quá trình truyền nhận, Master sẽ phát tín hiệu kết thúc bằng cách lần lược đưa SCL và SDA lên mức cao.

PYQT5 VÀ QT DESIGNER [7]

PyQt5 là một trong những phiên bản của PyQt - thư viện Python hỗ trợ tạo các ứng dụng giao diện đồ họa người dùng (Graphical User Interface) PyQt là phần mềm miễn phí được tạo bởi Riverbank Computing và được phát triển vào năm 1999 PyQt5 được phát hành vào năm 2016 và cập nhật lần cuối vào tháng 10 năm 2021

Các lớp (class) được chia thành nhiều module như: QtCore, QtGui, QtWidgets, QtBluetooth, QtNetwork, mỗi sẽ có những chức năng khác nhau tùy thuộc vào những công việc mà con người muốn xử lý Ví dụ: QtWidgets sẽ chứa các lớp hỗ trợ cho các phần như nút nhấn, các nhãn, các hộp thoại, là những thứ cơ bản để tạo nên giao diện người dùng.

Cách cài đặt thư viện PyQt5: Vào Command Prompt và gõ dòng lệnh: pip install pyqt5 Nếu không thành công có thể đổi thành lệnh: pip3 install pyqt5

Hình 2.13 Cài PyQt5 thành công 2.5.2 QT DESIGNER

Qt Designer là một công cụ giúp xây dựng giao diện đồ họa người dùng một cách nhanh chóng Nó sử dụng phương thức kéo thả gần gũi với người dùng Người dùng có thể dễ dàng bố trí các thành phần như các nút nhấn, các nhãn, hộp văn bản,

Hình 2.14 Giao diện làm việc của Qt Designer 2.6 Android Studio [8]

Hình 2.15 Logo của Android Studio Android Studio là môi trường phát triển tích hợp (Integrated Development Environment) chính thức được sử dụng trong phát triển ứng dụng Android Nó có chức năng hỗ trợ người dùng tạo ra các ứng dụng cho điện thoại Android Hiện tại, có hai ngôn ngữ dùng để lập trình ứng dụng trên Android Studio là Java và Kotlin nhưng Java phổ biến hơn.

Khi lập trình ứng dụng Android bằng Android Studio, ta sẽ làm 2 việc:

● Thiết kế giao diện: Ta sẽ tạo ra giao diện ngoài màn hình bao gồm các nhãn, nút nhấn, hình ảnh,… Những đối tượng thể hiện một chức năng hoặc không chức năng nào Các giao diện này sẽ được lưu ở các file xml

Hình 2.16 Một file thiết kế giao diện

● Lập trình chức năng: Ta sẽ dựa vào phần thiết kế giao diện và yêu cầu đặt ra để viết ra các chức năng cho một trang Các file chức năng sẽ được lưu trong các file java

Hình 2.17 Một file lập trình chức năng 2.7 Cơ sở dữ liệu thời gian thực trên Firebase [9]

Firebase ra mắt đầu tiên vào tháng 4 năm 2012 Nó cung cấp cho người dùng các cơ sở dữ liệu dựa trên nền tảng đám mây Nó giúp người dùng lập trình ứng dụng, web, di động sử dụng cơ sở dữ liệu một cách đơn giản

Cơ sở dữ liệu thời gian thực (Realtime Database) là sản phẩm đầu tiên của Firebase Nó cho phép người dùng lưu trữ và đồng bộ dữ liệu Trong đó, dữ liệu sẽ được sắp xếp dưới dạng cây Trên cây sẽ tạo ra các nút và có thể tạo vô hạn các nút Một nút có có thể sẽ có các nút con bên dưới nếu mà nút đó chưa được gán giá trị

Hình 2.19 Cơ sở dữ liệu thời gian thực trên Firebase

Cơ sở dữ liệu thời gian thực trên Firebase [9]

“Mô hình quản lí bãi giữ xe” được thiết kế bao gồm phần cứng và phần mềm

Mỗi phần sẽ có các yêu cầu riêng như sau:

Phần cứng có khả năng xử lý dữ liệu từ cảm biến khoảng cách, đọc thẻ RFID và kết hợp camera để chụp lại biển số xe, hiển thị số chỗ còn trống trong bãi giữ xe trên LCD, truyền nhận dữ liệu với nhau và cập nhật dữ liệu lên phần mềm máy tính qua cáp USB (mã thẻ, trạng thái bãi đỗ xe), điều khiển động cơ mở và đóng thanh chắn barrier. 3.1.1 Phần mềm

Nhóm tiến hành thực thi vẽ lưu đồ giải thuật và lập trình cho từng thiết bị Sau khi viết chương trình chạy riêng cho từng thiết bị chạy ổn định, nhóm tiến hành kết hợp để viết và chỉnh sửa chương trình chung cho cả hệ thống Đảm bảo giải thuật cho hệ thống là tối ưu nhất Về phần ứng dụng được chia ra hai phần là ứng dụng quản lý hệ thống xe trên máy tính và và ứng dụng xe đặt chỗ trước bằng ứng dụng trên Android có các chức năng như sau:

● Ứng dụng trên máy tính: o Đăng nhập cho nhà quản lý. o Hiển thị hình ảnh trích xuất từ camera được đặt ở cổng vào và cổng ra. o Hiển thị thông tin xe ra và vào, ngày và giờ, hiển thị cả trạng thái bãi xe còn hoặc không còn chỗ. o Lưu trữ và hiển thị lại hình ảnh đã chụp. o Quản lý thẻ gồm thêm thẻ, xóa thẻ. o Xem doanh thu trong một ngày.

● Ứng dụng trên điện thoại Android: o Đăng ký tài khoản mới. o Đăng nhập thành viên. o Thấy được trạng thái của các vị trí trong bãi.

THIẾT KẾ HỆ THỐNG

GIỚI THIỆU

“Mô hình quản lí bãi giữ xe” được thiết kế bao gồm phần cứng và phần mềm

Mỗi phần sẽ có các yêu cầu riêng như sau:

Phần cứng có khả năng xử lý dữ liệu từ cảm biến khoảng cách, đọc thẻ RFID và kết hợp camera để chụp lại biển số xe, hiển thị số chỗ còn trống trong bãi giữ xe trên LCD, truyền nhận dữ liệu với nhau và cập nhật dữ liệu lên phần mềm máy tính qua cáp USB (mã thẻ, trạng thái bãi đỗ xe), điều khiển động cơ mở và đóng thanh chắn barrier. 3.1.1 Phần mềm

Nhóm tiến hành thực thi vẽ lưu đồ giải thuật và lập trình cho từng thiết bị Sau khi viết chương trình chạy riêng cho từng thiết bị chạy ổn định, nhóm tiến hành kết hợp để viết và chỉnh sửa chương trình chung cho cả hệ thống Đảm bảo giải thuật cho hệ thống là tối ưu nhất Về phần ứng dụng được chia ra hai phần là ứng dụng quản lý hệ thống xe trên máy tính và và ứng dụng xe đặt chỗ trước bằng ứng dụng trên Android có các chức năng như sau:

● Ứng dụng trên máy tính: o Đăng nhập cho nhà quản lý. o Hiển thị hình ảnh trích xuất từ camera được đặt ở cổng vào và cổng ra. o Hiển thị thông tin xe ra và vào, ngày và giờ, hiển thị cả trạng thái bãi xe còn hoặc không còn chỗ. o Lưu trữ và hiển thị lại hình ảnh đã chụp. o Quản lý thẻ gồm thêm thẻ, xóa thẻ. o Xem doanh thu trong một ngày.

● Ứng dụng trên điện thoại Android: o Đăng ký tài khoản mới. o Đăng nhập thành viên. o Thấy được trạng thái của các vị trí trong bãi.

17 o Đặt chỗ trước từ xa. o Nạp tiền vào tài khoản. o Hỗ trợ tìm đường tới bãi.

SƠ ĐỒ KHỐI VÀ CHỨC NĂNG TỪNG KHỐI

Hình 3.1 Sơ đồ khối toàn hệ thống

Chức năng của từng khối trong Block:

Khối cảm biển: Đọc giá trị khi có vật cản ở khoảng cách cho phép và đọc giá trị quang trở.

Khối hiển thị: Hiển thị số chỗ còn trống trong bãi giữ xe.

Khối RFID: Đọc mã thẻ RFID bên vào và bên ra.

Khối PC: Đọc và xử lý dữ liệu được gửi đến từ khối xử lý trung tâm và xử lý chuỗi dữ liệu khi có dữ liệu hoặc thông tin có trên firebase Hiển thị hình ảnh từ camera, chụp lại hình ảnh khi có xe vào và ra Khối xử lý trung tâm: Có chức năng là nhận và xử lý chuỗi dữ liệu được gửi đến từ ứng dụng của máy tính, điều khiển động cơ, đọc mã thẻ RFID, đọc giá trị từ các cảm biến siêu âm được gửi về để xử lý

Firebase: Lưu trữ dữ liệu, thông tin và phản hồi, giao tiếp với khối xử lý trung tâm.

Khối đèn: Để hiển thị màu đỏ khi có xe đậu và hiển thị màu xanh khi chỗ đậu không có xe.

Khối nút nhấn: Để điều khiển động cơ khi không còn giao tiếp với khối xử lý trung tâm.

Khối nguồn: Tạo ra nguồn điện cung cấp cho toàn hệ thống của block hoạt động.

NGUYÊN LÝ HOẠT ĐỘNG CỦA HỆ THỐNG

Hệ thống sẽ thực thi và xử lý tuần tự đúng như ban đầu mà nhóm đã thiết kế và viết chương trình từ khi cấp nguồn cho đến khi kết thúc:

Khối xử lý trung tâm cùng với các thiết bị khác như RFID, động cơ, cảm biển khoảng cách, cảm biến quang trở, đèn, LCD, Lazer, sẽ khởi động Đồng thời ứng dụng máy tính được bật, tiến hành nhập thông tin đăng nhập và cấu hình cần thiết sau đó ứng dụng máy tính sẽ kết nối với phần cứng đề truyền nhận dữ liệu

Khối xử lý trung tâm sẽ tiếp nhận dữ liệu từ cảm biến khoảng cách để hiển thị thông tin trạng thái còn bao nhiêu chỗ trong bãi xe trên màn hình LCD Đồng thời cũng sẽ tiếp nhận dữ liệu từ ứng dụng máy tính để cập nhật

19 thêm chỗ đặt trước từ ứng dụng điện thoại Khi có quẹt thẻ xảy ra, khối xử lý trung tâm sẽ gửi dữ liệu tới ứng dụng máy tính để kiểm tra, camera sẽ chụp ảnh và gửi lệnh điều khiển về để điều khiển động cơ đóng hoặc mở.

THIẾT KẾ HỆ THỐNG PHẦN CỨNG

Hiện nay trên thị trường sản xuất rất nhiều linh kiện có thể kể đến gồm có rất nhiều loại cảm biến khoảng cách với khả năng đo được khoảng cách xa lên đến hàng ngàn mét và chúng được sử dụng rộng rãi ở công nghiệp, kho bãi, được phân loại thành các nhóm ở trong thị trường hiện nay được kể đến như là: o Cảm biến khoảng cách bằng tia laser. o Cảm biến khoảng cách bằng sóng âm. o Cảm biến tiệm cận đo khoảng cách.

Vì lý do đề tài của nhóm thực hiện chỉ đo khoảng cách phát hiện vị trí xe đỗ vào trong bãi với tầm khoảng cách ngắn, độ chính xác cao, thời gian đáp ứng nhanh, giá thành rẻ, dễ lắp đặt Nên nhóm thực hiện đã quyết định lựa chọn module cảm biến siêu âm hc-sr04 cho đề tài này.

Module cảm biến siêu âm hc-sr04 được dùng khá rộng rãi trong môi trường công nghiệp cũng như cho nghiên cứu và phát triển sản phẩm. Module hc-sr04 là thiết bị cảm biến có giá thành rẻ, độ ổn định và chính xác khá cao Nó đo khoảng cách bằng cách dùng phản xạ sóng siêu âm với phạm vi dao động từ 2 đến 400 cm Module này chỉ sử dụng có 2 chân để đo khoảng cách: chân TRIG là chân phát tín hiệu, ECHO là chân nhận tín hiệu phản hồi về và hai chân còn lại là VCC (5V), GND là chân nối đất. Hc-sr04 cũng như các module sử dụng sóng siêu âm để phát hiện vật cản khác đều sử dụng chung một nguyên lý phản xạ sóng siêu âm Cảm biến có 2 thành phần là phát sóng siêu âm và thu sóng siêu âm phản xạ về

Nguyên tắc hoạt động của nó như sau: hc-sr04 sử dụng chân TRIG là chân phát tín hiệu truyền đi trong khoảng 10us ở mức cao Khi đó hc-sr04 sẽ tự động phát ra một sóng siêu âm với tần số là 40kHz và kiểm tra xem liệu có tín hiệu trả về hay không Nếu có sóng phản hồi về sẽ tác động lên chân nhận sóng Chỉ cần đo khoảng thời gian từ lúc phát sóng và cho đến lúc sóng phản hồi về, ta có biết được từ cảm biến đến vật xa bao nhiêu Công thức tính là:

Khoảng cách = (thời gian * vận tốc âm thanh (340 m/s)) / 2 (3.1)

Thông số kỹ thuật của cảm biến: o Mức điện áp có thể hoạt động: 5VDC o Mức dòng điện có thể hoạt động: < 15mA o Mức tín hiệu cao: 5V o Mức tín hiệu thấp: 0V o Góc quét được tối đa của cảm biến: 15º o Độ chính xác: ~3mm

Mô tả kết nối: Trong mô hình của nhóm thực hiện, nhóm kết nối các cảm biến với vi điều khiển Arduino Uno R3 thông qua các chân GPIO, lần lượt các chân ECHO và TRIG được nối với các chân như sau: PD3, PD5, PD6, PD7, PB0, PB1, PB2, PB3 Các chân VCC của các cảm biến được nối chung vào nguồn 5V, còn lại là chân GND được nối chung với vi điều khiển

Hình 3.2 Sơ đồ mạch kết nối cảm biến siêu âm với khối xử lý trung tâm

3.2.2 Khối cảm biến cho RFID

Trên thị trường và công nghiệp hiện nay có rất nhiều module sử dụng rộng rãi với nhiều loại IC đa dạng như: RC522, PN532, EM-18 RC522 là IC được ưa chuộng và dùng rất thông dụng và phổ biến, đáp ứng với nhiều nhu cầu khác nhau không chỉ của sinh viên nghiên cứu công nghệ RFID mà còn cho các công nghiệp, phát triển sản phẩm với giá thành phù hợp, độ chính xác cao Đầu đọc thẻ RFID RC522 sử dụng IC MFRC522 của NXP dùng đề giao tiếp với thẻ NFC hoạt động, hoạt động với dãi tần số 13,56MHz Sử dụng mức điện áp

21 được cung cấp là 3,3V Module RFID RC522 hỗ trợ rất nhiều chuẩn giao tiếp được kể đến như: I2C, SPI và UART Nhóm thực hiện đã chọn chuẩn SPI là chuẩn giao tiếp được đánh giá là tốc độ truyền dẫn cao, giá thành rẻ, dễ thiết kế được tích hợp để thi công vào mô hình.

Hình 3.3 Sơ đồ mạch kết nối của module đọc thẻ RFID với khối xử lý trung tâm Mô tả kết nối chân: Trong mô hình của nhóm thực hiện, vi điều khiển Arduino

Mega 2560 có các chân dành riêng để hỗ trợ cho việc giao tiếp với chuẩn SPI nên khối RFID được kết nối với vi điều khiển thông qua các chân, vì mô hình nhóm thực hiện đã sử dụng hai module RFID nên các chân kết nối sẽ như sau: MOSI (PB2), MISO (PB3), SCK (PB1), SDA cho Module RFID thứ nhất (PB4), RST (PH6), IRQ (không dùng).

Có nhiều loại thiết bị để hỗ trợ việc hiển thị như: màn hình LCD 16x2, Oled, TFT, GLCD, … Tuy nhiên, với khối lượng thông tin cần hiển thị, nhóm thực hiện đã quyết định chọn màn hình LCD 20x4 Bên cạnh đó, màn hình LCD 20x4 có số chân kết nói ít bằng cách sử dụng giao tiếp nối tiếp I2C bởi nó giúp hạn chế được số lượng đi dây, giúp thiết kế phần cứng trở nên dễ dàng và gọn gàng với chỉ sử dụng 2 chân của vi điều khiển là SCL và SDA Kết nối lần lượt trực tiếp với 2 chân PD0 và PD1 của vi diều khiển Arduino Mega 2560, nhờ vào các chân này đã được tích hợp sẵn chuẩn giao tiếp I2C để hỗ trợ trong việc giao tiếp với LCD 20x4.

Hình 3.4 Sơ đồ mạch kết nối khối hiển thị với khối xử lý trung tâm

3.2.4 Khối xử lý trung tâm

Hiện nay có rất hiều loại mạch nhúng phục vụ cho nhu cầu học tập, nghiên cứu, phát triển sản phẩn của sinh viên, học sinh nói chung và cho những doanh nghiệp, xây dựng sản phẩm nói chung như: ARM, Raspberry Pi, Altera, Arduino, Intel Galileo, … Nhóm thực hiện đã chọn board Arduino Mega 2560 và Arduino Uno R3 làm thiết bị xử lý trung tâm vì loại này có sẵn và thịnh hành trên thị trường, phù hợp với thiết kế của hệ thống ban đầu mà nhóm đã đặt ra

Hình 3.5 Sơ đồ khối xử lý trung tâm Khối xử lí trung tâm gồm hai vi điều khiển được lập trình để: Giao tiếp với RFID để nhận thông tin từ thẻ.

Nhận thông tin đặt chỗ từ Android qua PC thông qua giao tiếp UART Điều khiển các động cơ đóng mở barrier khi có xe ra/vào Nhận thông tin từ khối cảm biến để cập nhật dữ liệu và vị trí có xe đã đỗ trong bãi.

Hiển thị trạng thái bãi đỗ xe lên LCD.

Trong khi nhóm thực hiện đề tài này đã sử dụng vi điều khiển Arduino Uno R3 và Arduino Mega 2560 thuận tiện cho việc lập trình và tiết kiệm thời gian, giá thành rẻ, sử dụng phổ biến, đặc biệt hỗ trợ nhiều chân UART để truyền nhận nhiều dữ liệu cùng lúc, có số lượng chân kết nối ngoại vi nhiều, tần số xung clock lớn và còn được hỗ trợ cực kì rộng lớn cho nhiều ứng dụng Arduino được phát triển và lập trình dựa trên ngôn ngữ Java mang lại khả năng xử lý chuỗi mạnh mẽ, tạo nên sự thuận lợi cho yêu cầu của hệ thống Vì khi giao tiếp với PC, sẽ dường như làm việc với chuỗi để xử lý đến >90% trong chương trình

THIẾT KẾ PHẦN MỀM

3.3.1 Ý tưởng xây dựng phần mềm quản lý trên máy tính Để quản lý, nắm rõ thông tin số lượng xe ra và vào cũng như thông tin chủ sở hữu xe có trong bãi xe, Từ đó, xây dựng phần mềm để quản lý trên máy tính là cần thiết Phần trên máy tính sẽ có các chức năng như sau:

Giám sát thời gian ra vào của xe bằng thẻ RFID.

27 Ứng dụng có phân quyền admin Mỗi admin sẽ có tài khoản cùng với mật khẩu riêng để đăng nhập Admin sẽ có quyền xem, thêm cũng như chỉnh sửa, quản lý dữ liệu của toàn hệ thống.

Có lưu lại lịch sử thời gian như ngày, giờ ra và vào bãi giữ xe của từng cá nhân.

Quản lý danh sách người dùng bao gồm ID, tên chủ sở hữu xe, vị trí, biển số xe, thời gian ra và vào của từng người.

Có chức năng lưu lại ảnh vào và ra của từng xe hiện có ở trong bãi. Quản lý thẻ như có thể thêm, tìm kiếm, xóa thẻ trong dữ liệu Có khả năng phát hiện thẻ khác không có trong dữ liệu khi quẹt thẻ.

Có chức năng cập nhật dữ liệu cho các trường hợp đặt chỗ trước trên ứng dụng Android.

3.3.2 Ý tưởng thiết kế ứng dụng trên điện thoại Android

Ngoài việc đáp ứng bãi đỗ, nhóm mong muốn giúp các khách hàng có thể dễ dàng dùng hơn khi sử dụng Từ đó, nhóm đã thiết kế ứng dụng Android giúp mọi người có thể đăng ký đặt chỗ trước Ứng dụng sẽ có các tính năng như sau:

● Đăng ký được tài khoản.

● Xem được sơ đồ bãi xe Hiện trạng các vị trí đã sử dụng hay còn trống

● Đặt chỗ trước bằng điện thoại.

● Nạp tiền vào tài khoản.

● Chỉ đường đến bãi xe thông qua việc liên kết với Google Maps.

3.3.3 Thiết kế cơ sở dữ liệu Để lưu trữ các hình ảnh cũng như dữ liệu thông tin từ xe ra và vào ta cần một cơ sở dữ liệu (CSDL) Đó chính là thứ quan trọng nhất mà một ứng dụng có thể lưu trữ và xử lý dữ liệu để tạo nên sự tương tác với người dùng

Vì thế nhóm thực hiện đã đưa MySQLite3 ra để làm cơ sở dữ liệu

MySQLite3 được so sánh như là bộ não hay trái tim của một con người, là trung tâm sự sống của một cá thể, nếu hai bộ phận này bị tổn thương thì mọi hoạt động của cơ thể đó sẽ bị tác động rất nghiêm trọng MySQLite3 cũng vậy, nó chính là nơi lưu trữ, quản lý toàn bộ dữ liệu của một ứng dụng Nếu ta tạo một ứng dụng mà không có hệ quản trị cơ sở dữ liệu, chính xác ở đây là MySQLite3, thì ứng dụng của ta sẽ không có bất cứ sự tương tác nào với người sử dụng Chính vì thế mà việc kết hợp giữa việc lập trình ứng dụng python với cơ sở dữ liệu MySQLite3 là vô cùng cần thiết.

Ngoài ra còn có Firebase giúp kết nối dữ liệu giữa người đặt chỗ trước đến với hệ thống quản lý bãi giữ xe.

LƯU ĐỒ THUẬT TOÁN

3.4.1 Lưu đồ thuật toán khối xử lý trung tâm

Hình 3.10 Lưu đồ giải thuật của khối xử lý trung tâm

Chương trình của khối xử lý trung tâm từ khi bắt đầu vào sẽ khởi động vi điều khiển và các module như đọc thẻ RFID, các cảm biến, màn hình LCD 20x4, động cơ, Chương trình sẽ dừng nếu chưa kết nối và đợi đến khi nào có kết nối Vòng lặp trong chương trình sẽ được thực hiện Nếu bộ xử lý trung tâm đã khởi tạo xong sẽ tiến hành kiểm tra giá trị từ cảm biến và cập nhật trạng thái led

Sau đó sẽ kiểm tra đầu đọc thẻ RFID nếu có quẹt thẻ thì sẽ gửi UID của thẻ tới ứng dụng máy tính để xử lý dữ liệu từ thẻ.

Nếu không có quẹt thẻ sẽ chương trình sẽ kiểm tra có dữ liệu được gửi về Nếu là số sẽ cập nhật trạng thái led, còn lại sẽ điều khiển động cơ đóng mở thanh barrier Nếu không có dữ liệu nào được trả về, chương trình sẽ kiểm tra tiếp quang trở để kiểm tra xem xe đã thực sự vào và ra trong bãi Khi đó barrier sẽ đóng lại

Sau đó chương trình sẽ hiển thị trạng thái thông tin chỗ của bãi đậu xe 3.4.2 Lưu đồ giải thuật của quét thẻ RFID

Hình 3.11 Lưu đồ giải thuật quét thẻ RFID

Chương trình sẽ kiểm tra quá trình quẹt thẻ nếu có và yêu cầu việc quét thẻ RFID, chuyển đổi mã thẻ thành chuỗi sau đó gửi qua ứng dụng trên máy tính

3.4.3 Lưu đồ giải thuật của điều khiển động cơ

Khởi tạo giá trị ban đầu

Kiểm tra có nhấn nhận về là mở nút ở cổng vào cổng vào Đúng

Chuỗi dữ liệu Sai Kiểm tra xe đã Sai Chuỗi dữ liệu Sai Kiểm tra có Sai Kiểm tra xe đã nhận về là đóng vào trong nhận về là đóng nhấn nút ở cổng ra ngoài cổng vào cổng ra ra

Sai Đúng Đúng Đúng Đúng Đúng Đóng Barrier ở Mở Barrier ở Đóng Barier ở cổng vào cổng ra cổng ra

Hình 3.12 Lưu đồ giải thuật điều khiển động cơ

Quy trình điều khiển động cơ được thực hiện theo lưu đồ hình 3.10 như sau:

Sau khi khởi tạo thư viện và port cho động cơ. Động cơ sẽ mở cho thanh barrier ở cổng vào ở các trường hợp như đợi lệnh gửi về từ ứng dụng máy tính hoặc nếu khi nút nhấn được nhấn. Động cơ sẽ đóng thanh barrier ở cổng vào ở các trường hợp như đợi lệnh gửi về từ ứng dụng máy tính hoặc khi xe đã vào trong bãi đỗ xe. Động cơ sẽ mở cho thanh barrier ở cổng ra ở các trường hợp như đợi lệnh gửi về từ ứng dụng máy tính hoặc nếu khi nút nhấn được nhấn. Động cơ sẽ đóng thanh barrier ở cổng ra ở trường hợp như nếu xe đã ra khỏi bãi đỗ xe.

LƯU ĐỒ HOẠT ĐỘNG CỦA HỆ THỐNG ỨNG DỤNG TRÊN MÁY TÍNH 33

3.5.1 Lưu đồ giao diện đăng nhập

Khởi tạo giao diện form đăng nhập

Nhập tài khoản, mật khẩu

Kiểm tra tài khoản và mật khẩu

Sai Đúng Đăng nhập thành công

Hình 3.13 Lưu đồ giao diện đăng nhập Đầu tiên khởi động phần mềm sẽ là nơi đăng nhập Người dùng được yêu cầu nhập tài khoản và mật khẩu Sau đó nhấn nút đăng nhập để kết nối tới cơ sở dữ liệu

33 để đối chiếu với tài khoản và mật khẩu hiện có trong cơ sở dữ liệu có trùng khớp với thông tin mà người dùng đã nhập Nếu không trùng hợp sẽ bắt nhập lại thông tin tài khoản và mật khẩu cho đến khi nào đăng nhập thành công

3.5.2 Lưu đồ giao diện đăng ký

Khởi tạo giao diện form đăng ký

Nhập thông tin vào form đăng ký

Kiểm tra tài Đúng khoản tồn tại

Sai Đăng ký thành công

Hình 3.14 Lưu đồ giao diện đăng ký

Khi khởi tạo giao diện đăng ký, người dùng nhập thông tin như tài khoản, mật khẩu và mật khẩu được nhập lại một lần nữa.

Sau khi nhập hết thông tin và nhấn nút có chữ “đăng ký” Chương trình sẽ tự động kết nối đến cơ sở dữ liệu để đối chiếu xem tài khoản đã nhập đã có trong cơ sở dữ liệu không Nếu không có thì sẽ kiểm tra đến mật khẩu liệu có trùng khớp với mật khẩu nhập lại hay không nếu cả hai đều trùng khớp sẽ chuyển thông tin vào trong cơ sở dữ liệu.

Nếu như người dùng nhập tài khoản đã tồn tại trong cơ sở dữ liệu hay mật khẩu không đúng sẽ báo lỗi và cần nhập lại cho đến khi nào tạo tài khoản mới thành công.

3.5.3 Lưu đồ giao diện cấu hình

Khởi tạo giao diện form cấu hình

Nhập thông tin cần thiết để hệ thống hoạt động

Chọn thư mục lưu ảnh

Kiểm tra thông Sai tin cấu hình Đúng

Hình 3.15 Lưu đồ giao diện cấu hình Khi khởi tạo được giao diện cấu hình Người dùng nhập thông tin cấu hình cần thiết để hệ thống hoạt động và lựa chọn thư mục để chứa ảnh

Sau khi nhập thông tin cấu hình cần thiết thì tiến hành nhấn nút xác nhận. Chương trình sẽ kiểm tra thông tin đã điền đầy đủ Nếu điền không đầy đủ sẽ quay lại nhập lại hết thông tin mà còn thiếu.

Sau khi nhập hết thông tin đầy đủ để cấu hình cho hệ thống hoạt động sẽ chuyển đến giao diện chính.

3.5.4 Lưu đồ giải thuật của giao diện chính

Khởi tạo giao diện chính Khởi tạo các biến Khởi tạo kết nối cổng port Kết nối camera Khởi tạo kết nối firebase Cập nhật dữ liệu từ cơ sở dữ liệu

Dữ liệu được Sai Dữ liệu được Đúng Nhận và tách

Dữ liệu là RFID Đúng RFID ở cổng ra

Sai RFID ở cổng Sai gửi từ firebase gửi đến port chuỗi vào

Sai vào cơ sở dữ

Sai Kiểm tra thẻ liệu

Dữ liệu là vị trí có trong cơ sở có trong cơ sở bãi đỗ xe dữ liệu dữ liệu Đúng Đúng Đúng

Cập nhật vị trí Đúng

Lưu thông tin còn hoặc Gửi dữ liệu tới

Thẻ đặt trước thẻ vào cơ sở trống trong firebase dữ liệu bãi xe

Cập nhật Hiển thị hình ngày, giờ ra ảnh cổng vào trong cơ sở dữ liệu

Hiển thị hình ảnh cổng ra

Hình 3.16 Lưu đồ giao diện chính

KẾT QUẢ VÀ ĐÁNH GIÁ

KẾT QUẢ PHẦN CỨNG

Hình 4.1: Mô hình hệ thống sau khi được cấp nguồn

Trong hình 4.1 đã hiển hiển thị mô hình hệ thống khi được cấp nguồn, trên màn hình LCD sẽ hiển thị thông tin “Xin chao qui khach, So cho con: 4”

Hình 4.2: Mô hình tổng thể của hệ thống nhìn từ trên cao

Trong hình 4.2 đã thể hiện mô hình tổng quan của hệ thống gồm bên cổng ra, cổng vào, vị trí đỗ xe ở trong bãi xe Bên cạnh đó là đèn ở trên mỗi vị trí đỗ xe

Hình 4.3: Bên tay phải mô hình của hệ thống Trong hình 4.3 đã thể hiện là thanh barrier ở cổng vào Thanh barrier sẽ mở theo 2 cách là chờ phản hồi từ ứng dụng trên máy tính hoặc nút nhấn được nhấn Khi xe đã qua khỏi thanh barrier để tiến vào trong bãi xe, thanh barrier sẽ lập tức đóng lại Ngoài ra còn hiển thị hai cảm biến vật cản ở mỗi vị trí đỗ xe ở bên tay trái mô hình của hệ thống bãi giữ xe khi xe đỗ vào 2 vị trí đèn trên đầu mỗi vị trí tương ứng sẽ hiện màu đỏ.

Hình 4.4: Bên tay trái của mô hình hệ thống Ở hình 4.4 đã hiển thị ở cổng ra của bãi giữ xe gồm barrier đóng hoặc mở được điều khiển bằng hai cách đó là chờ phản hồi từ ứng dụng máy tính hoặc là nút nhấn được nhấn Khi xe đã qua khỏi thanh barrier, thanh barrier sẽ lập tức đóng lại Ngoài ra còn hiển thị hai cảm biến vật cản ở mỗi vị trí đỗ xe ở bên tay phải mô hình của hệ thống bãi giữ xe khi xe đỗ vào 2 vị trí đèn trên đầu mỗi vị trí tương ứng sẽ hiện màu đỏ.

Hình 4.5: Mô hình hệ thống khi có một xe vào bãi giữ xe Ở hình 4.5, màn hình LCD đã hiển thị số lượng mà xe còn trống ở trong bãi xe Nếu ở vị trí đỗ xe nào trống đèn trên đầu tương ứng ở vị trí đỗ xe đó sẽ hiển thị màu xanh, ngược lại nếu đèn ở vị trí đỗ xe đó sẽ hiển thị màu đỏ là có xe đã đỗ tại vị trí đó Đồng thời sẽ cập nhật chỗ còn trống trên màn hình hiển thị LCD.

KẾT QUẢ PHẦN MỀM

4.2.1 Kết quả phần mềm trên PC

Những kết quả về thiết kế giao diện và chức năng cũng như các tính năng đã được đưa ra ở mục 3.3.1 “Ý tưởng thiết kế giao diện ứng dụng trên máy tính” Ứng dụng giao diện thực hiện được các yêu cầu từ hệ thống:

Trang đăng nhập: yêu cầu đăng nhập, xác minh người dùng.

Hình 4.6: Giao diện đăng nhập Giao diện đăng ký: Tạo một tài khoản để có thể đăng nhập vào hệ thống được hiển thị ở hình 4.7.

Hình 4.7: Giao diện đăng kýGiao diện cấu hình: Người dùng cung cấp những thông tin cần thiết và tiên quyết như cổng port kết nối, thư mục lưu trữ hình ảnh, chi phí giữ xe để chương trình hệ thống có thể hoạt động.

Hình 4.8: Giao diện cấu hình Giao diện chính: Đưa ra được cái nhìn tổng thể về thông tin khách hàng (ID, biển số xe, vị trí, ), trạng thái của các vị trí có trong bãi xe, hiển thị ngày giờ.

Hình 4.9 Giao diện làm việc chính

Giao diện ảnh vào: Hiển thị hình ảnh và thông tin biển số xe nếu là người dùng đặt chỗ trước Nếu không phải người dùng đặt chỗ trước thì nhập thông tin biển số xe vào.

Hình 4.10 Ảnh chụp ngõ vào

Giao diện ảnh ra: Hiển thị hình ảnh cụ thể tương ứng với từng người dùng thẻ được chụp từ camera ở cổng vào và camera ở cổng ra Ngoài ra còn hiển thị thông tin biển số xe của người quẹt thẻ và số tiền cần phải trả

Hình 4.11 Ảnh chụp khi xe ra

Hình 4.12 Giao diện quản lý thẻ

● Trang đăng nhập: Tại đây, người dùng sẽ nhập vào Nick name và mật khẩu đã đăng ký.

● Trang đăng ký: Nơi để tạo tài khoản mới Người dùng sẽ điền đầy đủ thông tin để đăng ký.

● Trang chủ: Nơi thể hiện các thông tin cá nhân, sơ đồ, hiện trạng của các vị trí trong bãi xe.

● Hộp thoại đặt chỗ: Tại đây, thông tin để đặt chỗ cần được điền đẩy đủ bởi người dùng.

Hình 4.16 Hộp thoại đặt chỗ

● Hộp thoại nạp tiền: Tại đây, người dùng sẽ nhập số tiền cần nạp và nhấn xác nhận.

Hình 4.17 Hộp thoại nạp tiền

● Chức năng “tìm đường”: Khi người dùng nhấn vào tìm đường trên trang chủ Điện thoại sẽ hiện ra yêu cầu truy cập GPS Sau khi được cấp quyền truy cập GPS, ứng dụng sẽ quay lại trang chủ Khi đó, người dùng sẽ nhấn tìm đường lần nữa Ứng dụng sẽ chuyển hướng qua Google bản đồ

Hình 4.18 Yêu cầu cấp quyền GPS

Ngày đăng: 16/11/2023, 06:00

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Cấu tạo bên trong của thẻ RFID - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 2.1 Cấu tạo bên trong của thẻ RFID (Trang 22)
Hình 2.6 Cơ chế truyền dữ liệu giữa Master và Slave 2.3 CHUẨN GIAO TIẾP UART [3] - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 2.6 Cơ chế truyền dữ liệu giữa Master và Slave 2.3 CHUẨN GIAO TIẾP UART [3] (Trang 25)
Hình 2.10 Chuẩn giao tiếp I2C có 1 thiết bị chủ - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 2.10 Chuẩn giao tiếp I2C có 1 thiết bị chủ (Trang 28)
Hình 2.16 Một file thiết kế giao diện - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 2.16 Một file thiết kế giao diện (Trang 32)
Hình 2.17 Một file lập trình chức  năng 2.7 Cơ sở dữ liệu thời gian thực trên Firebase [9] - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 2.17 Một file lập trình chức năng 2.7 Cơ sở dữ liệu thời gian thực trên Firebase [9] (Trang 32)
Hình 3.1 Sơ đồ khối toàn hệ thống - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 3.1 Sơ đồ khối toàn hệ thống (Trang 35)
Hình 3.4 Sơ đồ mạch kết nối khối hiển thị với khối xử lý trung tâm 3.2.4  Khối xử lý trung tâm - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 3.4 Sơ đồ mạch kết nối khối hiển thị với khối xử lý trung tâm 3.2.4 Khối xử lý trung tâm (Trang 40)
Hình 3.5 Sơ đồ khối xử lý trung tâm - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 3.5 Sơ đồ khối xử lý trung tâm (Trang 41)
Bảng 3.1 Điện năng tiêu thụ của các thiết bị trong hệ thống - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Bảng 3.1 Điện năng tiêu thụ của các thiết bị trong hệ thống (Trang 42)
Hình 3.8 Sơ đồ mạch kết nối của nút nhấn 3.2.8 Sơ đồ nguyên lý - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 3.8 Sơ đồ mạch kết nối của nút nhấn 3.2.8 Sơ đồ nguyên lý (Trang 44)
Hình 3.10 Lưu đồ giải thuật của khối xử lý trung tâm - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 3.10 Lưu đồ giải thuật của khối xử lý trung tâm (Trang 47)
Hình 3.13 Lưu đồ giao diện đăng nhập - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 3.13 Lưu đồ giao diện đăng nhập (Trang 50)
Hình 3.14 Lưu đồ giao diện đăng ký - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 3.14 Lưu đồ giao diện đăng ký (Trang 52)
Hình 3.15 Lưu đồ giao diện cấu hình - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 3.15 Lưu đồ giao diện cấu hình (Trang 54)
Hình 3.16 Lưu đồ giao diện chính - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 3.16 Lưu đồ giao diện chính (Trang 56)
Hình 3.17 Lưu đồ đăng ký trên điện thoại Android - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 3.17 Lưu đồ đăng ký trên điện thoại Android (Trang 57)
Hình 3.19 Lưu đồ kiểm tra vị trí - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 3.19 Lưu đồ kiểm tra vị trí (Trang 59)
Hình 3.20 Lưu đồ đặt chỗ trên điện thoại - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 3.20 Lưu đồ đặt chỗ trên điện thoại (Trang 60)
Hình 3.22 Lưu đồ hỗ trợ tìm đường - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 3.22 Lưu đồ hỗ trợ tìm đường (Trang 62)
Hình 3.23 Lưu đồ tổng thể của ứng dụng Android - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 3.23 Lưu đồ tổng thể của ứng dụng Android (Trang 63)
Hình 4.1: Mô hình hệ thống sau khi được cấp nguồn - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 4.1 Mô hình hệ thống sau khi được cấp nguồn (Trang 64)
Hình 4.2: Mô hình tổng thể của hệ thống nhìn từ trên cao - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 4.2 Mô hình tổng thể của hệ thống nhìn từ trên cao (Trang 65)
Hình 4.3: Bên tay phải mô hình của hệ thống - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 4.3 Bên tay phải mô hình của hệ thống (Trang 66)
Hình 4.4: Bên tay trái của mô hình hệ thống - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 4.4 Bên tay trái của mô hình hệ thống (Trang 67)
Hình 4.5: Mô hình hệ thống khi có một xe vào bãi giữ xe - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 4.5 Mô hình hệ thống khi có một xe vào bãi giữ xe (Trang 68)
Hình 4.6: Giao diện đăng nhập - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 4.6 Giao diện đăng nhập (Trang 69)
Hình 4.9 Giao diện làm việc chính - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 4.9 Giao diện làm việc chính (Trang 70)
Hỡnh 4.10 Ảnh chụp ngừ vào - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
nh 4.10 Ảnh chụp ngừ vào (Trang 71)
Hình 4.11 Ảnh chụp khi xe ra - (Đồ án tốt nghiệp) mô hình quản lý bãi giữ xe
Hình 4.11 Ảnh chụp khi xe ra (Trang 72)
w