1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế mô hình hệ thống điều khiển đèn giao thông tự động thông qua xử lý ảnh

88 3 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 đề Thiết Kế Mô Hình Hệ Thống Điều Khiển Đèn Giao Thông Tự Động Thông Qua Xử Lý Ảnh
Tác giả Trần Quang Quý, Nguyễn Quang Sơn
Người hướng dẫn ThS. Ngô Thị Minh Hương
Trường học Đại học Đà Nẵng
Chuyên ngành Công nghệ kỹ thuật điện - điện tử
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Đà Nẵng
Định dạng
Số trang 88
Dung lượng 3,23 MB

Nội dung

Kết quả đạt được, giá trị khoa học, khả năng ứng dụng của đề tài: 0.75đ/1đ - Đề tài “Thiết kế mô hình hệ thống điều khiển đèn giao thông tự động thông qua xử lý ảnh” sinh viên đã hoàn th

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA ĐIỆN – ĐIỆN TỬ

ĐỒ ÁN TỐT NGHIỆP

ĐẠI HỌC NGÀNH : CÔNG NGHỆ KỸ THUẬT ĐIỆN - ĐIỆN TỬ

CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ

ĐỀ TÀI:

THIẾT KẾ MÔ HÌNH HỆ THỐNG ĐIỀU KHIỂN ĐÈN GIAO THÔNG TỰ ĐỘNG

THÔNG QUA XỬ LÝ ẢNH

Giảng viên hướng dẫn: ThS NGÔ THỊ MINH HƯƠNG

NGUYỄN QUANG SƠN

Trang 2

KHOA ĐIỆN – ĐIỆN TỬ

ĐỒ ÁN TỐT NGHIỆP

ĐẠI HỌC NGÀNH : CÔNG NGHỆ KỸ THUẬT ĐIỆN – ĐIỆN TỬ

CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ

ĐỀ TÀI:

THIẾT KẾ MÔ HÌNH HỆ THỐNG

ĐIỀU KHIỂN ĐÈN GIAO THÔNG TỰ ĐỘNG

THÔNG QUA XỬ LÝ ẢNH

NGUYỄN QUANG SƠN

1911505120236

Đà Nẵng, tháng 6 năm 2023

Trang 3

NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP

(Dành cho người hướng dẫn)

I Thông tin chung:

1 Họ và tên sinh viên: Trần Quang Quý (1); Nguyễn Quang Sơn (2)

2 Lớp: (1)19D2; (2)19D2 Mã SV: (1)1911505120144; (2)1911505120236

3 Tên đề tài: Thiết kế mô hình hệ thống điều khiển đèn giao thông tự động thông qua

xử lý ảnh

4 Người hướng dẫn: Ngô Thị Minh Hương Học hàm/ học vị: Thạc sĩ

II Nhận xét, đánh giá đồ án tốt nghiệp:

1 Về tính cấp thiết, tính mới, mục tiêu của đề tài: (1đ/1đ)

Đề tài cơ bản đã đạt được mục tiêu yêu cầu của ĐATN

2 Về kết quả giải quyết các nội dung nhiệm vụ yêu cầu của đồ án: (3.75đ/4đ)

Đề tài đã xây dựng hệ thống đếm phương tiện qua hình ảnh với đầu vào là hình ảnh

có chứa đối tượng cần đếm từ ảnh chụp Thông qua quá trình xử lý ảnh sẽ cho ra kết

quả là số lượng phương tiện của mỗi làn đường từ đó gửi dữ liệu xuống kít điều khiểnarduino để điều khiển tín hiệu đèn giao thông điều tiết giao thông

3 Về hình thức, cấu trúc, bố cục của đồ án tốt nghiệp: (2đ/2đ)

Đồ án được trình bày theo format chuẩn

4 Kết quả đạt được, giá trị khoa học, khả năng ứng dụng của đề tài: (0.75đ/1đ)

- Đề tài “Thiết kế mô hình hệ thống điều khiển đèn giao thông tự động thông qua xử

lý ảnh” sinh viên đã hoàn thành đề tài đúng với mục tiêu đề ra ban đầu

- Đề tài có tính thực tiễn cao, có khả năng tiếp tục phát triển

5 Các tồn tại, thiếu sót cần bổ sung, chỉnh sửa:

Chỉnh sửa lại các lỗi chính tả, hình ảnh

III Tinh thần, thái độ làm việc của sinh viên: (2đ/ 2đ)

- Có tinh thần trách nhiệm và nhận thức được nhiệm vụ khi được giao Đồ án

Trang 4

IV Đánh giá:

1 Điểm đánh giá: 9.5/10 (lấy đến 1 số lẻ thập phân)

2 Đề nghị: ☒ Được bảo vệ đồ án ☐ Bổ sung để bảo vệ ☐ Không được bảo vệ

Đà Nẵng, ngày 25 tháng 5 năm 2023

Người hướng dẫn

Ngô Thị Minh Hương

Trang 6

Ngày nay cùng với sự phát triển của khoa

Trang 7

Ngày nay cùng với sự phát triển của khoa

Ngày nay cùng với sự phát triển của khoa

Trang 8

Ngày nay cùng với sự phát triển của khoa học kỹ thuật, xã hội ngày càng vănminh và hiện đại, sự phát triển ở đô thị ngày một đi lên Nhu cầu về giao thông ngàycàng trở nên cấp thiết, nhất là trong các khu vực thành thị.Sự phát triển nhanh chóngcủa nền kinh tế và lượng dân cư đông đúc Nhu cầu đi lại, vận chuyển cũng tăng lênnhanh chóng đi kèm theo nó là bài toán tắc nghẽn ùn tắc giao thông Ùn tắc giao thônggây thiệt hại không nhỏ cho sự phát triển kinh tế quốc gia, giảm hiệu suất lao động vàtăng các chi phí không cần thiết trong quá trình sản xuất Trong bối cảnh kinh tế lạmphát và khó khăn như hiện nay, lãng phí trong giao thông lại đặt thêm một gánh nặngđối với đời sống kinh tế của người dân Qua thực trạng đó, nhóm muốn xây dựng một

hệ thống điều khiển giao thông tự động, phân luồng trực tiếp và hiệu quả hơn phần nào

đó giảm bớt tình trạng ùn tắc giao thông Đồng thời tiếp cận, bổ sung các kiến thứcmới, cũng như củng cố lại những kỹ năng kiến thức trong suốt quá trình học tập tại

Trang 9

Tóm tắt nội dung:

Chương 1: Tổng quan về đề tài nêu lên những vấn đề cấp thiết của thực trạng giao

thông nước ta Cùng với đó giới thiệu tổng quát về giải pháp

Chương 2: Cơ sở lý thuyết Đây là chương cũng cố lý thuyết nền tảng về kỹ thuật và

công nghệ liên quan

Chương 3: Thiết kế hệ thống và thi công hệ thống Xác định những yêu cầu của thực

trạng giao thông hiện nay từ đó vận dụng những kiến thức cơ sở ở chương 2 để thiết kế

mô hình

Chương 4: Quá trình thực hiện và kết quả.

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA ĐIỆN – ĐIỆN TỬ

CỘNG HÒA XÃ HÔI CHỦ NGHĨA VIỆT NAM

Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

Giảng viên hướng dẫn: ThS Ngô Thị Minh Hương

Sinh viên thực hiện:Trần Quang Quý Mã SV: 1911505120144

Nguyễn Quang Sơn Mã SV: 1911505120236

1 Tên đề tài:

Thiết kế mô hình hệ thống điều khiển đèn giao thông tự động thông qua xử lý ảnh

2 Các số liệu, tài liệu ban đầu:

- Camera thu thập hình ảnh đầu vào

- Kit điều khiển chính: Raspberry Pi 4, board mạch Arduino Uno, 4 Module Led 7

thanh 2 digit, 4 đèn tín hiệu giao thông

Trang 10

mà camera thu được Thông qua quá trình xử lý hình ảnh cho ra kết quả số lượngphương tiện trên mỗi làn đường, từ đó dữ liệu sẽ được vi điểu khiển xử lý điều khiểntín hiệu đèn giao thông sao cho phù hợp nhất với mỗi thời gian thực khác nhau Nhóm

sẽ thực hiện các nội dung như sau:

- Tìm hiểu về Raspberry Pi 4

- Tìm hiểu nguyên lý hoạt động của đèn giao thông ở ngoài thực tế

- Xây dựng quá trình xử lý ảnh đầu vào

- Xây dựng chương trình đếm phương tiện trên ảnh

- Xây dựng chương trình điều khiển tín hiệu đèn giao thông

Trang 11

Lời đầu tiên, em xin chân thành gửi lời cảm ơn sâu sắc đến ThS Ngô Thị Minh Hương, người đã đồng hành, dẫn dắt và hướng dẫn em trong quá trình hình thành và

phát triển đề tài tốt nghiệp này

Theo đó em muốn gửi gắm lòng biết ơn đến các quý thầy cô trong Khoa Điện – Điện tử, trường Đại học Sư Phạm Kỹ thuật Đà Nẵng đã luôn tạo điều kiện thuận

lợi, môi trường học tập tốt nhất cho em Giúp em xây dựng vững chắc nền tảng kiếnthức chuyên ngành mà mình đang hướng đến

Cảm ơn sự giúp đỡ của giảng viên nhóm chúng em chắc rằng cuốn đồ án nàycũng không tránh khỏi những thiếu sót trong khi làm cũng như trong suốt quá trìnhchúng em thực hiện đồ án này, chúng em rất cảm ơn nếu nhận được những ý kiến đónggóp của khoa, giảng viên và cùng với tất cả các bạn đọc để chúng tôi ngày càng hoànthiện hơn

Cuối cùng, chúng em xin chân thành cảm ơn các thầy cô và bạn bè, đã luôn tạođiều kiện, quan tâm, ủng hộ, giúp đỡ, động viên chúng em trong suốt quá trình học tập

và hoàn thành đồ án tốt nghiệp

Chúng em xin chân thành cảm ơn!

Trang 12

Tên sinh viên: Trần Quang Quý sinh viên lớp 19D2

Nguyễn Quang Sơn sinh viên lớp 19D2

Chúng em xin cam đoan các kết quả được trình bày trong đồ án này là thành quảnghiên cứu của em trong suốt thời gian qua và chưa từng xuất hiện trong công bố haysao chép của tác giả khác dưới sự định hướng và hướng dẫn của cô ThS Ngô ThịMinh Hương Các thông tin trích dẫn trong đồ án được chỉ rõ, nguồn gốc rõ ràng vàđược phép công bố Các kết quả đạt được chính xác và trung thực Toàn bộ nội dungtrong báo cáo không quá 80% là sao chép Nếu có bất kỳ vi phạm nào, em xin chịuhoàn toàn trách nhiệm và chịu mọi sự kỷ luật của khoa và nhà trường

Sinh viên thực hiện(Chữ ký, họ và tên sinh viên)

Trần Quang QuýNguyễn Quang Sơn

MỤC LỤC

Trang 13

TÓM TẮT

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

LỜI NÓI ÐẦU i

CAM ĐOAN ii

MỤC LỤC iii

DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT vi

DANH MỤC CÁC BẢNG, HÌNH VẼ vii

MỞ ĐẦU 1

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 3

1.1 Giới thiệu chương 3

1.2 Đặt vấn đề 3

1.3 Một số hệ thống điều khiển giao thông bằng xử lý ảnh hiện nay 4

1.4 Mục đích đề tài 4

1.5 Sơ đồ khối hệ thống 5

1.6 Nội dung nghiên cứu 5

1.7 Tính mới của đề tài 6

1.8 Phạm vi ứng dụng 6

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 7

2.1 Raspberry pi 4 [2] 7

2.1.1 Giới thiệu chung 7

2.1.2 Phân loại Raspberry Pi 8

2.1.3 Hệ điều hành và phần mềm chạy được trên Raspberry Pi 8

2.1.4 Phần cứng của Raspberry Pi 4 9

2.1.5 Mô tả chân raspberry pi 12

2.2 Mạch hiển thị 2 Led 7 đoạn 74HC595 16

2.3 Module đèn tín hiệu giao thông 5V 17

Trang 14

2.6 Webcam HD 1080p 21

2.7 Chuẩn giao tiếp UART 21

2.8 Tổng quan về xứ lý ảnh [3] 24

2.8.1 Giới thiệu xử lý ảnh 24

2.8.2 Các vấn đề cơ bản trong xử lý ảnh 27

2.8.2.1 Điểm ảnh (Picture Element) 27

2.8.2.2 Độ phân giải của ảnh 28

2.8.2.3 Mức xám của ảnh 28

2.8.2.4 Trích chọn đặc điểm 28

2.8.2.5 Nhận dạng 29

2.8.2.6 Nén ảnh 29

2.9 Xử lý ảnh sử dụng YOLO [4] 30

2.9.1 Khái niệm YOLO 30

2.9.2 Kiến trúc mạng YOLO 31

2.9.3 Cách yolo hoạt động 32

2.9.4 Output của YOLO 34

2.9.5 Hàm tính IOU 35

CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG 36

3.1 Giới thiệu 36

3.2 Thiết kế hệ thống phần cứng 36

3.2.1 Thiết kế sơ đồ khối hệ thống 36

3.2.2 Sơ đồ kết nối hệ thống 37

3.2.3 Thiết kế mô hình ngã tư 40

3.2.4 Quy trình hoạt động của hệ thống 40

3.3 Thi công hệ thống phần cứng 41

3.3.1 Sơ đồ nguyên lý khối salve 41

Trang 15

3.3.4 Mô hình sau khi hoàn thiện 47

3.4 Xây dựng chương trình mô phỏng giao thông 48

3.5 Cài đặt hệ thống 50

3.6 Lập trình hệ thống 54

3.6.1 Lập trình trên Thonny của Raspberry Pi 54

3.6.1.1 Sơ đồ đếm số lương phương tiện 54

3.6.1.2 Lưu đồ thuật toán 54

3.6.2 Sơ đồ khối xử lý trên arduino 56

3.6.3 Training dữ liệu ở mô hình YOLO 57

3.6.3.1 Chuẩn bị dữ liệu 57

CHƯƠNG 4: KẾT QUẢ - NHẬN XÉT – ĐÁNH GIÁ 62

4.1 Kết quả 62

4.2 Nhận xét - đánh giá mô hình hệ thống 67

KẾT LUẬN – HƯỚNG PHÁT TRIỂN 69

TÀI LIỆU THAM KHẢO 70 PHỤ LỤC

DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT

Trang 16

GPU: Graphics Processing Unit

CPU: Central Processing Unit

RAM: Random Access Memory

UART: Universal Asynchronous Receiver-Transmitter

SPI: Serial Peripheral Interface

I2C: Inter-Integrated Circuit

HDMI: High-Definition Multimedia Interface

SDIO: Storage Device Input/Output

VNP: virtual private network

CCD: Change Coupled Device

CGA: Color Graphic Adaptor

XLA: Xử lý ảnh

EasyEDA: Easy Electronics Design Automation

IOU: intersection over union

SSD: Single Shot Detector

YOLO: You Only Look Once

DANH MỤC CÁC BẢNG, HÌNH VẼ

Trang 17

Bảng 2.3 Bảng chân UART 15

Bảng 2.4 Bảng sơ đồ chân SPI 15

Bảng 2.5 Bảng chân I2C 15

Bảng 2.6 Chân PWM 16

Bảng 2.7 Bảng chân SD0CLK 16

Bảng 3.1 Thời gian đèn tín hiệu tương ứng với số phần trăm 39

Bảng 3.2 Thống kê dòng tiêu thụ 39

Bảng 4.1 Bảng chế độ hoạt động 63

Bảng 4.2 Bảng kết quả đếm xe ở 2 làn xe 65

Hình 1.1 Sơ đồ tổng quát của hệ thống 5

Hình 2.1 Board mạch Raspberry Pi 4 7

Hình 2.2 Mặt trước Raspberry Pi 10

Hình 2.3 Mặt sau Raspberry Pi 10

Hình 2.4 Cấu trúc phần cứng Raspberry Pi 11

Hình 2.5 Cổng nguồn Type C 11

Hình 2.6 Cổng màn hình HDMI 12

Hình 2.7 Cổng Ethernet và USB 12

Hình 2.8 Sơ đồ chân Raspberry Pi 13

Hình 2.9 GPIO Raspberry Pi 13

Hình 2.10 Mạch hiển thị 2 led 7 đoạn 74HC595 17

Hình 2.11 module đèn tín hiệu giao thông 5V 17

Hình 2.12 Màn hình LCD 3.5 inch Raspberry Pi 18

Hình 2.13 Arduino UNO R3 19

Hình 2.14 Webcam HD 1080P 21

Hình 2.15 Hai MCU giao tiếp trực tiếp với nhau bằng Tx và Rx 22

Hình 2.16 Dữ liệu truyền qua UART 23

Hình 2.17 Sơ đồ xử lý ảnh 25

Hình 2.18 Hệ thống xử lý ảnh 25

Hình 2.19 Các lớp trong YOLO 31

Hình 2.20 Sơ đồ kiến trúc mạng YOLO 31

Hình 2.21 Các layer trong mạng Darknet-53 32

Hình 2.22 Hoạt động của YOLO 33

Hình 2.23 Output của YOLO 34

Trang 18

Hình 3.3 Nguồn DC điện áp 5V- 3A 39

Hình 3.4 Mô hình đèn giao thông 40

Hình 3.5 Sơ đồ nguyên lý của khối nhận tín hiệu điều khiển Arduino 41

Hình 3.6 Khối Slave Arduino 42

Hình 3.7 Mạch thực tế 42

Hình 3.8 Phần mềm vẽ mạch EasyEDA 43

Hình 3.9 Mạch in PCB lớp bottom 43

Hình 3.10 Mạch in ở chế độ xem 3D 44

Hình 3.11 Ống nhựa sau khi uốn 44

Hình 3.12 Trụ đèn sau khi hoàn thành 45

Hình 3.13 Mô hình sau khi phân chia làn đường 45

Hình 3.14 Vị trí lắp camera trên mô hình 46

Hình 3.15 Góc nhìn camera trên cao 46

Hình 3.16 Mô hình sau khi hoàn thiện 47

Hình 3.17 Vị trí đặt bộ điều khiển 47

Hình 3.18 Mô hình trên nhìn xuống 48

Hình 3.19 Phần mềm giả lập giao thông 49

Hình 3.20 Giao diện phần mềm giả lập tín hiệu đèn giao thông 49

Hình 3.21 Phương tiện khi gặp đèn tín hiệu 50

Hình 3.22 Giao diện chương trình mô phỏng ngã tư có cảm biến 50

Hình 3.23 Chọn hệ điều hành và thẻ nhớ 51

Hình 3.24 Tạo tệp trống để cấu hình Wifi 51

Hình 3.25 Thay đôi tên và mật khẩu Wifi 52

Hình 3.26 Địa chỉ IP của Raspberry Pi 52

Hình 3.27 Dùng địa chỉ IP để truy cập 53

Hình 3.28 Giao diện Raspbian nhìn từ máy tính 53

Hình 3.29 Sơ đồ quá trình đếm đối tượng sử dụng OPENCV 54

Hình 3.30 Lưu đồ thuật toán chương trình xử lý ảnh và điều khiển đèn giao thông 55

Hình 3.31 Sơ đồ khối xử lý trên Arduino 56

Hình 3.32 Phần mềm Make Sense 57

Hình 3.33 Tạo tên nhãn đối tượng 58

Hình 3.34 Cắt các đối tượng xe trong ảnh 58

Hình 3.35 Xuất file tọa độ đối tượng 59

Hình 3.36 Tọa độ đối tượng trong ảnh 59

Trang 19

Hình 3.39 Câu lệnh chạy chương trình nhận diện 61

Hình 3.40 Kết quả nhận diện 61

Hình 4.1 Mô hình hoàn thiện và cho chạy thử 62

Hình 4.2 Giao diện camera quan sát trên máy tính 62

Hình 4.3 Hình ảnh chương trình nhận diện ở chế độ ít xe 64

Hình 4.4 Tín hiệu đèn xanh ở làn 1 và đèn đỏ ở làn 2 64

Hình 4.5 Tín hiệu đèn đỏ ở làn 1 và đèn xanh ở làn 2 64

Hình 4.6 Giản đồ thời gian đèn tín hiệu ở chế độ ít phương tiện 65

Hình 4.7 Kết quả đếm phương tiện ở 2 làn xe 65

Hình 4.8 Giản đồ thời gian đèn tín hiệu ở chế độ đông phương tiện 66

Hình 4.9 Chương trình nhận diện ở chế độ đông xe 66

Hình 4.10 Thời gian đèn xanh ở làn 1 và đèn đỏ ở làn 2 66

Hình 4.11 Thời đèn đỏ ở làn 1 và đèn xanh ở làn 2 67

Hình 4.12 Giản đồ thời gian đèn tín hiệu 67

Trang 20

MỞ ĐẦU

Ngày nay trên các thành phố lớn tại Việt Nam xảy ra tình trạng ùn tắc giao thôngvào giờ cao điểm, gây ra thiệt hại kinh tế, ô nhiễm môi trường Có nhiều giải pháp đểgiảm ùn tắc như mở rộng đường, xây dựng cầu vượt tại các giao lộ Nhưng đa số rấttốn kém và khó áp dụng tại tất cả các các giao lộ mà chỉ áp dụng vào các nút giaothông trọng điểm Từ thực trạng đó chúng tôi đã đưa ra một giải pháp điều khiển hệthống giao thông bằng công nghệ xử lý hình ảnh và liên kết các hệ thống lại với nhaunhằm đưa ra một giải pháp điều khiển tối ưu nhất

Qua thực trạng đó, nhóm muốn xây dựng một hệ thống điều khiển giao thông tựđộng, phân luồng trực tiếp và hiệu quả hơn phần nào đó giảm bớt tình trạng ùn tắcgiao thông Đồng thời tiếp cận, bổ sung các kiến thức mới, cũng như củng cố lạinhững kỹ năng kiến thức trong suốt quá trình học tập tại trường Do đó, nhóm thực

hiện đồ án chọn đề tài: “Thiết kế mô hình hệ thống điều khiển đèn giao thông tự động thông qua xử lý ảnh”.

Mục tiêu của đề tài là xây dựng hệ thống đếm phương tiện qua camera với đầuvào là hình ảnh chứa những phương tiện cần được nhận diện thông qua quá trình xử lýảnh sẽ cho ra kết quả là số lượng phương tiện của mỗi làn đường từ đó gửi dữ liệuxuống kít điều khiển arduino để điều khiển tín hiệu đèn giao thông

Bố cục của đề tài gồm 4 chương:

Chương 1: Tổng quan về đề tài

Chương này trình bày vấn đề lý do chọn đề tài, mục tiêu, nội dung nghiên cứu,các giới hạn thông số và bố cục đồ án

Chương 2: Cơ sở lý thuyết.

Giới thiệu về Raspberry Pi 4, giới thiệu về xử lý ảnh Các phần cứng được sửdụng trong đề tài cũng như trên mô hình Giới thiệu về thuật toán nhận diện và đếm sốlượng phương tiện

Chương 3: Thiết kế và thi công hệ thống

Phân tích, xây dựng sơ đồ khối, sơ đồ phần cứng, thiết kế chương trình cho hệthống đếm phương tiện qua hình ảnh được viết trên Raspberry Pi 4 Thiết kế mô hìnhgiả lập mô phỏng giao thông thực tế Thiết kế hệ thống thi công mô hình, lưu đồ, đưa

ra giải thuật và chương trình

Chương 4: Kết quả, nhận xét, đánh giá và hướng phát triển

Nêu các kết quả đạt được khi thực hiện chương trình, phân tích, nhận xét, đánh

Trang 21

giá kết quả thực thi được, những hình ảnh của hệ thống, đưa ra những thông số đánhgiá về hệ thống.Tóm tắt những kết quả đạt được, những hạn chế và nêu lên các hướngphát triển trong tương lai cho hệ thống.

Trang 22

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI

1.1 Giới thiệu chương.

Nội dung chương này bày về mục tiêu, nội dung nghiên cứu, lý do chọn đề tài, sơ

đồ khối của hệ thống, phạm vi ứng dụng của hệ thống, một số hệ thống điều khiển giaothông tự động hiện nay

1.2 Đặt vấn đề.

Tại Việt Nam số lượng xe máy trong những năm qua tăng một cách đột biến, mật

độ xe lưu thông trên đường ngày một nhiều, trong khi đó hệ thống đường xá ở ViệtNam còn quá nhiều hạn chế nên thường gây ra các hiện tượng như kẹt xe, ùn tắc giaothông, đặc biệt là tai nạn giao thông ngày càng nhiều trở thành mối hiểm họa chonhiều người Sự phát triển nhanh chóng của nền kinh tế và lượng dân cư đông đúc.Nhu cầu đi lại, vận chuyển cũng tăng lên nhanh chóng đi kèm theo nó là bài toán tắcnghẽn ùn tắc giao thông Ùn tắc giao thông gây thiệt hại không nhỏ cho sự phát triểnkinh tế quốc gia, giảm hiệu suất lao động và tăng các chi phí không cần thiết trong quátrình sản xuất Trong bối cảnh kinh tế lạm phát và khó khăn như hiện nay, lãng phítrong giao thông lại đặt thêm một gánh nặng đối với đời sống kinh tế của người dân.Nguyên nhân của vấn đề này một phần là do cơ sở hạ tầng chưa đáp ứng được nhu cầulưu thông hiện nay, một phần là do việc phân chia, định thời gian của hệ thống đèngiao thông hiện tại ở các giao lộ chưa hợp lý khiến cho số lượng phương tiện giaothông bị ùn tắc theo thời gian rồi dẫn đến tắc nghẽn giao thông Qua thực trạng đó,nhóm muốn xây dựng một hệ thống điều khiển tín hiệu đèn giao thông tự động, phânluồng trực tiếp và hiệu quả hơn phần nào đó giảm bớt tình trạng ùn tắc giao thông.Đồng thời tiếp cận, bổ sung các kiến thức mới, cũng như cũng cố lại những kỹ năngkiến thức đã học trong suốt quá trình học tập tại trường [1]

Do đó, nhóm thực hiện đồ án chọn đề tài: “Thiết kế thi công hệ thống điều khiểntín hiệu đèn giao thông tự động thông qua xử lý ảnh” Nghiên cứu này nhằm mục tiêuphát triển giải thuật điều khiển hệ thống đèn giao thông cho một giao lộ, với chu kỳđèn tín hiệu tùy thuộc vào tình trạng xe lưu thông trên hai tuyến đường quan sát đượcbởi camera Giải thuật đếm số lưu lượng xe trên đường được xây dựng để quyết địnhthời gian của chu kỳ đèn xanh kế tiếp cho tuyến đường tương ứng Hình ảnh thu được

từ camera sẽ được mô phỏng giả lập để kiểm chứng giải thuật điều khiển Kết quả môphỏng cho thấy tuyến đường nào có lưu lương xe lớn hơn thì chu kỳ đèn xanh củatuyến đường đó dài hơn và ngược lại

Trang 23

1.3 Một số hệ thống điều khiển giao thông bằng xử lý ảnh hiện nay.

Hiện nay trên thế giới, có nhiều hệ thống giao thông điều khiển tự động bằngcông nghệ xử lý ảnh Có thể kể đến một số hệ thống như sau:

Hệ thống phát hiện và điều khiển đèn giao thông dựa trên luồng giao thông: Hệthống này sử dụng camera để theo dõi và phân tích luồng giao thông trên các tuyếnđường Bằng cách phân tích dữ liệu hình ảnh, hệ thống xác định mật độ giao thông vàđiều chỉnh đèn giao thông tự động để ưu tiên cho luồng giao thông có nhiều phươngtiện hơn và giảm ùn tắc

Hệ thống nhận dạng phương tiện ưu tiên: hệ thống này sử dụng mô hìnhYOLOv8 xử lý ảnh để nhận dạng phương tiện ưu tiên như xe cứu thương, xe cảnh sáthoặc xe cứu hỏa Khi phương tiện ưu tiên tiến đến giao lộ, hệ thống có thể phát hiện và

ưu tiên mở đèn xanh cho phương tiện ưu tiên để đảm bảo an toàn và ưu tiên cho nhữngtrường hợp khẩn cấp

Hệ thống nhận dạng và điều khiển đèn giao thông dựa trên người đi bộ: hệ thốngnày sử dụng xử lý ảnh để nhận dạng và đếm số lượng người đi bộ tại các vạch đi bộhoặc vạch dừng Dựa trên thông tin này, hệ thống có thể điều chỉnh đèn giao thông đểđảm bảo an toàn cho người đi bộ và tăng cường tính hiệu quả của giao thông đô thị

Hệ thống phát hiện và điều chỉnh đèn giao thông dựa trên dữ liệu thời tiết: hệthống này sử dụng xử lý ảnh cùng với dữ liệu thời tiết để đánh giá tình hình giaothông Ví dụ, trong trường hợp mưa lớn, hệ thống có thể phát hiện và điều chỉnh đèngiao thông để giảm tốc độ và tăng cường an toàn cho người tham gia giao thông

Ở các quốc gia tiên tiến, giải pháp đưa ra là lắp đặt các hệ thống camera để tựđộng điều tiết giao thông tại các giao lộ trọng yếu Trong quá trình phát triển hệ thốngkiểm soát giao thông, đã có rất nhiều công bố về việc nghiên cứu thông qua mô phỏng

và thực nghiệm nhằm tối ưu hóa các bộ điều khiển đèn tín hiệu Trong đó, các nghiêncứu điển hình về việc sử dụng kỹ thuật xử lý ảnh kết hợp với điều khiển mờ (fuzzycontrol) đèn tín hiệu đã được áp dụng thành công Các hệ thống này có giá rất cao, ví

dụ một hệ thống đèn giao thông thông minh thương mại sử dụng máy tính công nghiệp

và các camera giám sát được giới thiệu bởi AdvanTech lên đến hàng tỉ đồng cho mỗichốt giao thông

1.4 Mục đích đề tài.

Trước tình hình phương tiện tham gia giao thông ngày càng gia tăng khôngngừng và hệ thống giao thông nước ta ngày càng phức tạp Dần đến tình trạng ùn tắc

Trang 24

và tai nạn giao thông ngày càng gia tăng Xuất phát từ nhu cầu thực tế đó, chúng ta cầncác giải pháp để giải quyết một phần nào đó về các nhu cầu thực tế trên.

Mục tiêu của đề tài “Thiết kế thi công hệ thống điều khiển tín hiệu đèn giaothông tự động thông qua xử lý ảnh” là xây dựng hệ thống đếm phương tiện quawebcam với đầu vào là hình ảnh có chứa đối tượng cần đếm từ khung ảnh Thông quaquá trình xử lý ảnh sẽ cho ra kết quả là số lượng phương tiện của mỗi làn đường từ đógửi dữ liệu về board arduino để điều khiển tín hiệu đèn giao thông điều tiết lưu lượngphương tiện

1.5 Sơ đồ khối hệ thống.

Đây là sơ đồ khối của hệ thống xử lý đèn giao thông tự động bằng xử lý ảnh:

Hình 1.1 Sơ đồ tổng quát của hệ thống

1.6 Nội dung nghiên cứu.

Mục tiêu xây dựng đề tài: “Thiết kế thi công hệ thống điều khiển tín hiệu đèn giaothông tự động thông qua xử lý ảnh” nhóm sẽ thực hiện những nội dung như sau:

Nội dung 1: Tìm hiểu về Raspberry Pi 4.

Nội dung 2: Tìm hiểu về phần mềm mô phỏng giao thông

Nội dung 3: Cài đặt thư viện cho Raspberry Pi.

Nội dung 4: Tìm hiểu các thuật toán nhận di phương tiện giao thông, nguyên lý

hoạt động của đèn giao thông ở ngoài thực tế

Nội dung 5: Xây dựng quá trình xử lý ảnh đầu vào.

Nội dung 6: Xây dựng hệ thống đếm phương tiện trong ảnh, lập trình hiển thị hình

ảnh sau khi qua quá trình xử lý ảnh để mô phỏng quá trình thu thập dữ liệu

Nội dung 7: Xây dựng chương trình điều khiển đèn tín hiệu đèn giao thông trên

Aruino Uno

Trang 25

Nội dung 8: Đánh giá kết quả thực hiện.

1.7 Tính mới của đề tài.

Đề tài “Thiết kế mô hình điều khiển tín hiệu đèn giao thông thông qua xử lý ảnh”điểm mới của đề tài là sử dụng máy tính nhúng Raspberry Pi để nhúng chương trìnhthuật toán YOLOv8 để xử lý ảnh sau đó dữ liệu được gửi về Arduino để điều khiển tínhiệu đèn giao thông Hệ thống sẽ tự động điều chỉnh thời gian cho hợp lý khi phát hiện

số lượng phương tiện lưu thông tránh tính trạng tắc nghẽn giao thông vào các giờ caođiểm và ưu tiên luồng nào nhiều phương tiện sẽ được lưu thông trong thời gian dàihơn

1.8 Phạm vi ứng dụng.

Đề tài “Thiết kế mô hình điều khiển tín hiệu đèn giao thông tự động thông qua

xử lý ảnh” được ứng dụng cho tình trạng giao thông nước ta hiện nay Xử lý tính trạnggiao thông đông đúc tại các thành phố của nước ta Cũng như kiểm soát đèn giao thôngtại các điểm nguy hiểm Hệ thống sử dụng xử lý ảnh để phát hiện các điểm nguy hiểmtrên đường như ngã tư, giao lộ không có đèn tín hiệu hoặc khu vực có nguy cơ tai nạncao Bằng cách phân tích hình ảnh và dữ liệu giao thông, hệ thống có thể điều chỉnhđèn giao thông để tăng cường an toàn cho người tham gia giao thông và giảm thiểunguy cơ tai nạn Điều khiển đèn giao thông tại các khu vực đô thị đông đúc: trong cáckhu vực đô thị có mật độ dân cư cao, việc điều khiển đèn giao thông trở nên phức tạp

Hệ thống sử dụng để theo dõi và phân tích luồng giao thông tại các ngã tư và giao lộ.Dựa trên thông tin này, hệ thống điều chỉnh tín hiệu đèn giao thông tự động để tối ưuhóa luồng giao thông, giảm thiểu ùn tắc và tạo ra một môi trường giao thông an toàn

Đó chính là các bài toán cần xử lý trong hệ thống giao thông nước ta hiện nay

Trang 26

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1 Raspberry pi 4 [2]

2.1.1 Giới thiệu chung.

Raspberry Pi là một máy vi tính rất nhỏ gọn, kích thước hai cạnh chỉ cỡ một cáithẻ ATM, trong đó đã tích hợp mọi thứ cần thiết để bạn sử dụng như một máy tính Bộ

xử lý SoC Broadcom BCM2835 của nó bao gồm CPU, GPU, RAM, khe cắm thẻmicroSD, WiFi, Bluetooth, Ethernet, HDMI và 4 cổng USB 2.0

Hình 2.2 Board mạch Raspberry Pi 4

Trước khi bắt đầu làm việc với Raspberry Pi, bước đầu tiên cài đặt hệ điều hànhbằng cách tải hệ điều hành Raspian vào thẻ nhớ, gắn chuột, bàn phím và màn hình là

có thể sử dụng như một máy tính thông thường

Với khả năng tùy biến cao, Raspberry Pi có thể biến thành rất nhiều thiết bị từphần cứng đến phần mềm, có thể kể đến một số công dụng như sau:

 Máy chơi game cầm tay, console, game thùng Chơi như máy điện tử băng ngàyxưa, giả lập được nhiều hệ máy

 Dùng làm VPN cá nhân

 Biến ổ cứng bình thường thành ổ cứng mạng (NAS)

 Làm camera an ninh, quan sát từ xa

 Hiển thị thời tiết, hiển thị thông tin mạng nội bộ

Trang 27

 Máy nghe nhạc, máy đọc sách.

Raspberry Pi sản xuất bởi 3 OEM: Sony, Qsida, Egoman và được phân phốichính bởi Element14, RS Components và Egoman

Nhiệm vụ ban đầu của dự án Raspberry Pi là tạo ra máy tính rẻ tiền có khả nănglập trình cho những sinh viên, nhưng Pi đã được sự quan tâm từ nhiều đối tượng khácnhau Đặc tính của Raspberry Pi xây dựng xoay quanh bộ xử lí SoC BroadcomBCM2835 (là chip xử lí mobile mạnh mẽ có kích thước nhỏ hay được dùng trong điệnthoại di động) bao gồm CPU, GPU,bộ xử lí âm thanh, hình ảnh và các tính năng khác.Tất cả được tích hợp bên trong chip có điện năng thấp này

Raspberry Pi không thay thế hoàn toàn hệ thống để bàn hoặc máy xách tay Bạnkhông thể chạy Windows trên đó vì BCM2835 dựa trên cấu trúc ARM nên không hỗtrợ mã x86/x64, nhưng vẫn có thể chạy bằng Linux với các tiện ích như lướt web, môitrường Desktop và các nhiệm vụ khác Tuy nhiên Raspberry Pi là một thiết bị đa năngđáng ngạc nhiên với nhiều phần cứng có giá thành rẻ nhưng rất hoàn hảo cho những hệthống điện tử , những dự án DIY, thiết lập hệ thống tính toán rẻ tiền cho những bài họctrải nghiệm lập trình…

2.1.2 Phân loại Raspberry Pi.

Đã có 4 thế hệ Raspberry Pi: Pi 1, Pi 2, Pi 3 và Pi 4 (thường có một Model A vàmột Model B trong hầu hết các thế hệ) Model A là một biến thể rẻ hơn, có xu hướnggiảm bớt số RAM và các cổng, như USB và Ethernet

Có 2 phiên bản model Raspberry Pi bao gồm Model A và Model B, tên cácmodel này dược đặt theo tên BBC Micro Model A có bộ nhớ RAM 256 MB và mộtcổng USB Model này rẻ hơn và sử dụng ít năng lượng hơn so với Model B Model B

có 2 cổng USB, một cổng Ethernet để kết nối với mạng và có bộ nhớ RAM 512MB 2loại model Raspberry Pi là Model A và Model B đã được nâng cấp lên A + và B +.Trên các bản nâng cấp này có một số cải tiến nhỏ, chẳng hạn như tăng số cổng USB vàmức tiêu thụ năng lượng được cải thiện, đặc biệt là trong phiên bản B +

Raspberry Pi 4 là phiên bản đầu tiên của Raspberry Pi có sẵn với nhiều cấu hìnhRAM Các model trước đó đã được nâng cấp với những phiên bản nhỏ (như Pi Zero và

Pi Zero W, hoặc Raspberry Pi 3 và 3B+) Bạn có thể chọn ba phiên bản Raspberry Pi4:

Trang 28

Raspberry Pi được thiết kế cho hệ điều hành Linux, và nhiều bản phân phốiLinux hiện cũng có phiên bản tối ưu hóa Raspberry Pi Hai trong số các lựa chọn phổbiến nhất là Raspbian Jessie dựa trên hệ điều hành Debian, và Pidora dựa trên hệ điềuhành Fedora.

Trên thực tế cả 2 tùy chọn này đều hoạt động tốt, lựa chọn Raspbian Jessie hayPidora là do sở thích của mỗi người Khi khởi động đầu tiên từ thẻ SD, bạn sẽ đượccung cấp menu có nhiều phân phối (bao gồm cả Raspbian và Pidora) để lựa chọn.Chúng ta vẫn còn những lựa chọn khác: OpenELEC và RaspBMC là 2 hệ điềuhành phân phối dựa trên Linux, nhắm mục tiêu hướng tới sử dụng Raspberry Pi làmtrung tâm truyền thông Ngoài ra còn có các hệ thống không phải Linux, chẳng hạnnhư RISC OS, chạy trên Pi

Có rất nhiều hệ điều hành khác nhau chạy được với Raspberry Pi Tùy theo mụcđích và nhu cầu mà bạn lựa chọn cho phù hợp

Raspberry Pi OS: Hệ điều hành khuyên dùng cho các nhu cầu như văn phòng, lậptrình, máy chủ, lưu trữ … Pi OS có các phiên bản 32/64Bit với các tùy chọn Lite (giaodiện dòng lệnh), Desktop (có giao diện đồ họa) và Full (có giao diện đồ họa và cácphần mềm cơ bản như Office, web, mail, ….)

Ubuntu: tương tự như Raspberry Pi OS, nó cũng có các tùy chọn cho bản server(chỉ có dòng lệnh), desktop Tuy nhiên, so sánh phiên bản có giao diện desktop thìUbuntu có vẻ chậm hơn Pi OS, bù lại nó có giao diện đẹp và bóng bẩy hơn

Phục vụ nhu cầu media: với nhu cầu sử dụng Pi để giải trí, bạn có thể lựa chọnLibreELEC hoặc OSMC (xem phim, nghe nhạc, truyền hình, … trên nền Kodi) Nếubạn có nhu cầu nghe nhạc thì có thể lựa chọn Volumio, RuneAudio Nhu cầu chơigame, giả lập: Bạn sẽ có các lựa chọn như RetroPie, RecallBox, Lakka

Windows: Raspberry Pi có thể chạy được Windows 10 hoặc Windows 11, WinIoT Tuy nhiên, chạy Windows 10/11 trên Raspberry Pi không phù hợp với tất cả mọinhu cầu Nó khá chậm và không sử dụng được Wifi

3D Printing: Bạn có thể chọn OctoPi, Mainsail OS, SimplyPi

Home Automation: với nhu cầu nhà thông minh, bạn có thể chọn HomeAssistant, Home Bridge, Raspbery Matic

Ở đề tài này nhóm chúng em sử dụng Raspbian đây là bản build Linux dựa trênnên Debian (Gần giống ubuntu) với giao diện LXDE (thay vì GNOME) Có đầy đủweb browser, media player, tools, etc … Nói chung hệ điều hành này dành cho nhữngngười muốn dùng Raspberry Pi như một cái PC

2.1.4 Phần cứng của Raspberry Pi 4.

Trang 29

Hình 2.3 Mặt trước Raspberry Pi.

Hình 2.4 Mặt sau Raspberry Pi

Thông số kỹ thuật

• Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz

• 2GB, 4GB hoặc 8GB LPDDR4-3200 SDRAM (tùy thuộc vào kiểu máy)

• 2,4 GHz và 5,0 GHz IEEE 802.11ac wireless

• Cổng hiển thị MIPI DSI 2 làn

• Cổng camera MIPI CSI 2 làn

• Cổng video tổng hợp và âm thanh stereo 4 cực

• H.265 (giải mã 4kp60), H264 (giải mã 1080p60, mã hóa 1080p30)

• Đồ họa OpenGL ES 3.0

• Khe cắm thẻ nhớ Micro-SD để tải hệ điều hành và lưu trữ dữ liệu

• 5V DC qua đầu nối USB-C (tối thiểu 3A *)

• 5V DC qua đầu cắm GPIO (tối thiểu 3A *)

Trang 30

• Bật nguồn qua Ethernet (PoE) (yêu cầu PoE HAT riêng biệt)

Hình 2.5 Cấu trúc phần cứng Raspberry Pi

 Những tính năng mới của Raspberry Pi 4

Nguồn: đầu kết nối chuyển từ micro USB type B sang USB type C

 Công suất tiêu thụ: mức tiêu thụ điện năng tối đa của Pi 4 là khoảng 7,6W khi tải

và 3,4W khi không tải

 Nguồn điện cung cấp: bộ cấp nguồn USB Type-C, ở mức 5V / 3A

2.1.5 Mô tả chân raspberry pi.

Raspberry Pi 4 có thể sử dụng trong hệ thống nhúng để giao tiếp tín hiệu

Trong 40 chân GPIO bao gồm:

 26 chân GPIO Khi thiết lập là input, GPIO có thể được sử dụng như chân interupt,GPIO 14 & 15 được thiết lập sẵn là chân input

 1UART, 1 I2C, 2 SPI, 1 PWM (GPIO 4)

 2 chân nguồn 5V, 2 chân nguồn 3.3V, 8 chân GND

 2 chân ID EEPROM

Các chân GPIO không chỉ thực hiện các chức năng I/O đơn giản mà còn hỗ trợgiao thức UART, SPI và I2C

Trang 31

Hình 2.9 Sơ đồ chân Raspberry Pi.

Hình 2.10 GPIO Raspberry Pi

Chân cấp nguồn

Power In: trong Raspberry pi, có hai cách cấp nguồn, một là từ cổng nguồn

USB-C và thứ hai là từ các chân 5V

Đầu vào ở chân 5V phải ổn định và theo đúng thông số kỹ thuật Trong trườnghợp có điện áp cao hơn, thiết bị có thể bị cháy

Các chân đầu vào 5V sẽ không có cầu chì và bộ điều chỉnh điện áp khi được sửdụng làm đầu vào cấp nguồn, do đó nguồn điện 5V phải theo đúng thông số kỹ thuật

để tránh hư hại Chân đầu vào cấp nguồn cho Raspberry Pi 4 được cung cấp bên dưới:

Từ chân 2 đến 6 : 5V Chân 6 : GND

Power Out: có hai loại chân nguồn ra trong Raspberry pi 4 là 3V3 và 5V 5V

được kết nối trực tiếp với cổng USB nhưng 3V3 được kết nối thông qua bộ điều chỉnhđiện áp cho ra đầu ra 3V ổn định Tất cả các chân nguồn ra được cung cấp bên dưới:3V3 – Chân 1, chân 17 5V – Chân 2, chân 6

Ground: Raspberry Pi 4 có nhiều chân ground được kết nối bên trong và các

chân này này có thể làm điểm nối đất chung cho nguồn điện hoặc thiết bị bên ngoài.Danh sách các chân ground được đưa ra dưới đây:

Chân I/O digital

Hầu hết mọi thiết bị đều cần các chân đầu vào và đầu ra để giao tiếp Trong thiết

bị này có 28 chân GPIO được sử dụng làm đầu vào và đầu ra digital Các chân GPIOtrong bộ điều khiển có một số giá trị mặc định

Các chân GPIO từ 0-9 sẽ ở trạng thái logic cao và từ 10 trở lên các chân sẽ ởtrạng thái logic thấp Tất cả các chân đó trong Raspberry Pi 4 đều được cung cấp bảngdưới:

Trang 32

Bảng 2.2 Bảng chân I/O digital.

GPIO0 – Chân 27 GPIO1 – Chân 28 GPIO2 – Chân 3 GPIO3 – Chân 5GPIO4 – Chân 7 GPIO5 – Chân 29 GPIO6 – Chân 31 GPIO7 – Chân 26GPIO8 – Chân 24 GPIO9 – Chân 21 GPIO10 – Chân 19 GPIO11 – Chân 23GPIO12 – Chân 32 GPIO13 – Chân 33 GPIO14 – Chân 8 GPIO15 – Chân 10GPIO16 – Chân 36 GPIO17 – Chân 11 GPIO18 – Chân 12 GPIO19 – Chân 35GPIO20 – Chân 38 GPIO21 – Chân 40 GPIO22 – Chân 15 GPIO23 – Chân 16GPIO24 – Chân 18 GPIO25 – Chân 22 GPIO26 – Chân 37 GPIO27 – Chân 13

Module giao tiếp dữ liệu nối tiếp Raspberry Pi

Các chân UART trong Raspberry Pi

Có nhiều giao thức nối tiếp và UART là một trong số đó Nó khá phổ biến vì có

hệ thống giao tiếp đơn giản và phụ thuộc vào hầu hết các phần mềm Có nhiều chângiao tiếp UART trong Raspberry Pi 4 được đưa ra bên dưới:

Bảng 2.3 Bảng chân UART

TXD5 – GPIO12 – Chân 32 RXD5 – GPIO13 – Chân 33

Chân giao tiếp SPI

Một số thiết bị sử dụng giao thức SPI và nó giúp điều khiển nhiều thiết bị bằngcách sử dụng 1 đường truyền dữ liệu duy nhất Trong Raspberry pi 4 có nhiều chânSPI được sử dụng cho giao tiếp SPI Chân SPI của Raspberry Pi 4 được cung cấp bêndưới:

Bảng 2.4 Bảng sơ đồ chân SPI

SPI3 CEO N –

GPIO0 – Chân 27

SPI3 MISO –GPIO1 – Chân 28

SPI3 MOSI –GPIO2 – Chân 3

SPI3 SCLK –GPIO3 – Chân 5SPI4 CEO N –

GPIO4 – Chân 7

SPI4 MISO –GPIO5 – Chân 29

SPI4 MOSI –GPIO6 – Chân 31

SPI4 SCLK –GPIO7 – Chân 26SPI0 CE1 N – SPI0 CE0 N – SPI0 MISO – SPI0 MOSI –

Trang 33

GPIO8 – Chân 24 GPIO9 – Chân 21 GPIO10 – Chân 19 GPIO11 – Chân 23

Chân giao tiếp I2C

Raspberry Pi 4 có hỗ trợ giao thức I2C Là giao thức được sử dụng ở một số cảmbiến và động cơ Tất cả các chân này được đưa ra bên dưới:

Bảng 2.5 Bảng chân I2C

SDA0 / SDA6 –

GPIO0 – Chân 27

SCL0 / SCL6 –GPIO1 – Chân 28

SDA1 / SDA3 –GPIO2 – Chân 3

SCL1 / SCL3 –GPIO3 – Chân 5SDA3 – GPIO4 –

Chân 7

SCL3 – GPIO5 –Chân 29

SDA4 – GPIO6 –Chân 31

SCL4 – GPIO7 –Chân 26

SDA4 – GPIO8 –

Chân 24

SCL4 – GPIO9 –Chân 21

SDA5 – GPIO10 –Chân 19

SCL5 – GPIO11 –Chân 23

Các chân GPIO PWM

Để tạo ra tín hiệu đầu ra xung mong muốn Raspberry Pi 4 có một số chân PWM.Các chân này cấp dữ liệu trực tiếp cho các thiết bị ngoại vi điện áp thấp Để tạo ra tínhiệu đầu tiên các chân phải được lập trình trước Tất cả các chân PWM được đưa rabên dưới:

Bảng 2.6 Chân PWM

Các chân SDIO Raspberry Pi

Trong Raspberry Pi 4 có một khe cắm thẻ SD nhưng các cgaab GPIO cũng hỗ trợkhả năng tương thích với thẻ SD Chân SDIO trên thiết bị có thể được sử dụng cho thẻ

SD khi có ứng dụng yêu cầu:

Bảng 2.7 Bảng chân SD0CLK

SD0CLK / SD1 CLK –

GPIO22 – Chân 15

SD0 CMD / SD1 CMD –GPIO23 – Chân 16

SD0 DATA0 / SD1 DAT0– GPIO24 – Chân 18SD0 DAT1 / SD1 DAT1 –

GPIO25 – Chân 22

SD1 DAT2 / SD1 DAT2 –GPIO26 – Chân 37

SD0 DAT3 / SD1 DAT3 –GPIO27 – Chân 13

HDMI

Raspberry Pi 4 có hai cổng micro HDMI, cho phép kết nối hai màn hình riêng

Trang 34

biệt Cần cáp micro HDMI-to-HDMI hoặc cáp HDMI-to-HDMI cùng với bộ chuyểnđổi micro HDMI-to-HDMI để kết nối Raspberry Pi 4 với màn hình.

2.2 Mạch hiển thị 2 Led 7 đoạn 74HC595.

Mạch hiển thị 2 led 7 đoạn 74hc595 được thiết kế giúp bạn có thể dễ dàng điềukhiển và hiển thị thông tin lên 2 led 7 đoạn chỉ với 3 chân giao tiếp thông qua IC ghidịch 74HC595, ngoài ra mạch còn có khả năng mở rộng thêm các led tiếp theo quacổng đầu ra nối tiếp, mạch có bộ thư viện đi kèm dễ sử dụng phù hợp cho các ứngdụng: bộ đếm, đồng hồ

Thông số kỹ thuật của Mạch hiển thị 2 Led 7 đoạn 74HC595

 Nguồn sử dụng: 3 ~ 6VDC

 Dòng điện sử dụng: 50mA

 IC Driver: 74HC595

 3 chân giao tiếp: SCLK, RCLK, DIO

 Hiển thị 2 led 7 đoạn cỡ 0.5”

Hình 2.11 Mạch hiển thị 2 led 7 đoạn 74HC595

2.3 Module đèn tín hiệu giao thông 5V.

Module đèn tín hiệu giao thông được sử dụng trong các mô hình sử dụng đèngiao thông hoặc trong các bài thực hành vi điều khiển về đèn giao thông, mạch có thiết

kế nhỏ gọn, dễ kết nối với chân GND (0VDC) chung, các chân điều khiển kích mứccao VCC (3.3~5VDC) để đèn sáng

Hình 2.12 module đèn tín hiệu giao thông 5V

Trang 35

 Đầu vào: đầu ra tín hiệu số

 Giao diện: điều khiển riêng cực âm đỏ vàng xanh lục

 Ánh sáng vàng sáng hơn ánh sáng xanh và ánh sáng đỏ là sáng nhất

2.4 Màn hình LCD 3.5 inch Raspberry Pi.

Màn Hình LCD 3.5 inch Raspberry Pi Cảm Ứng Điện Trở được sử dụng với cácloại Raspberry Pi có GPIO 40 chân: Raspberry Pi 4, Raspberry Pi 3, Raspberry Pi 2, giúp biến Raspberry Pi thành một máy tính hoàn chỉnh với màn hình cảm ứng siêu nhỏgọn, màn hình tích hợp cảm ứng điện trở, chất lượng hiển thị tốt, độ bền cao, rất dễ sửdụng

Thông số kỹ thuật

 Màn Hình LCD 3.5 inch Raspberry Pi Cảm Ứng Điện Trở

 Độ phân giải: 320 x 480 pixels

 Giao tiếp và cấp nguồn: 40 chân GPIO của Raspberry Pi, phương thức giao tiếpchuẩn SPI

Hình 2.13 Màn hình LCD 3.5 inch Raspberry Pi

2.5 Arduino Uno R3.

Trang 36

Arduino Uno R3 được sử dụng vi điều khiển ATmega328, tương thích với hầuhết các loại Arduino Shield trên thị trường, có thể gắn thêm các module mở rộng đểthực hiện thêm các chức năng như điều khiển motor, kết nối wifi hay các chức năngkhác Sử dụng ngôn ngữ lập trình C, C++ hoặc Arudino, một ngôn ngữ bắt nguồn từ C,C++ trên phần mềm riêng cho lập trình Arduino IDE.

Hình 2.14 Arduino UNO R3

Thông số kỹ thuật:

 Chip điều khiển chính: ATmega328P

 Chip nạp và giao tiếp UART: ATmega16U2

 Nguồn nuôi mạch: 5VDC từ cổng USB hoặc nguồn ngoài cắm từ giắc tròn DC

 Số chân Digital I/O: 14 (trong đó 6 chân có khả năng xuất xung PWM)

 Số chân PWM Digital I/O: 6

 Số chân Analog Input: 6

 Dòng điện DC Current trên mỗi chân I/O: 20 mA

 Dòng điện DC Current chân 3.3V: 50 mA

 Flash Memory: 32 KB (ATmega328P), 0.5 KB dùng cho bootloader

 SRAM: 2 KB (ATmega328P)

 EEPROM: 1 KB (ATmega328P)

 Clock Speed: 16 MHz

Bộ nhớ của Arduino UNO R3

32KB bộ nhớ Flash: đây là nơi lưu trữ những đoạn lệnh bạn lập trình Những

ứng dụng thông thường thì sẽ để ra vài KB trong số này cho bootloader, nhưng bạnyên tâm, vì mình chắc bạn không dùng quá 20KB đâu

2KB cho SRAM (Static Random Access Memory): đây là nơi lưu những giá trị

các biến bạn khai báo khi lập trình Bạn khai báo càng nhiều biến thì càng cần nhiều

Trang 37

bộ nhớ RAM Cũng như Flash, bạn không cần quá quan tâm đến dung lượng của bộnhớ RAM này Và đã là Ram thì tất nhiên dữ liệu trên SRAM sẽ bị mất khi mất điện.

1K cho EEPROM (Electrically Eraseble Programmable Read Only Memory):

đây được coi là chiếc mini USB, nơi bạn có thể đọc và ghi dữ liệu của mình mà không phải lo bị mất khi mất điện Với những ứng dụng lớn, các bạn nên quan tâm đến dung lượng của bộ nhớ này để phân bố cho hiệu quả

Các cổng vào/ra trên Arduino UNO R3

Nhìn hình ảnh trên ta có thể thấy 14 chân digital dùng để đọc hoặc xuất tín hiệu.Mức điện áp logic là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗichân đều có các điện trở pull-up đươc thiết kế có sẵn trong vi điều khiển ATmega328(mặc định thì các điện trở này không được kết nối) Khi muốn dùng các điện trở pull upnày, các bạn cần đến lập trình

Ngoài ra, cần lưu ý một số chân dùng cho các giao tiếp cơ bản:

2 chân Serial: 1 (TX) và 0 (RX): dùng để nhận (receive – RX) và gửi (transmit

– TX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2chân này Bạn không nên sử dụng 2 chân này nếu không cần thiết

Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn băm xung PWM với độ phân

giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite()

Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài các

chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thứcSPI với các thiết bị khác

LED 13: trên board Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Bạn sẽ

thấy đèn này nhấp nháy khi nhấn nút reset Công dụng của nó chỉ để báo hiệu Nóđược nối với chân số 13

Analog Pin: 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 →

210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Bạn có thể để đưa vào

chân AREF trên board điện áp tham chiếu khi sử dụng các chân analog Nói cách

khác, khi bạn cấp điện áp 2.5V vào chân này thì bạn có thể đo điện áp trong khoảng từ0V → 2.5V với độ phân giải vẫn là 10bit

Giao tiếp I2C: 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các

thiết bị khác

Ứng dụng của Arduino Uno R3

Aruino Uno R3 được sử dụng phổ biến trong việc tự thiết kế ra các mạch điện tửnhư điều khiển led, gửi dữ liệu lên lcd, điều khiển motor, hay được gắn thêm các

Trang 38

Shield để kết nối nhiều module cảm biến khác để thực hiện thêm nhiều chức năng mởrộng như gửi dữ liệu qua wifi.

Ngoài ra, trên thị trường còn có nhiều biến thể của Arduino Uno để thực hiệnthêm các tính năng chuyên dụng, ví dụ như mCore, Orion trên mBot được chuyêndụng với việc dễ dàng phân biệt các loại module nào có thể sử dụng cắm vào trên cáccổng để trẻ dễ dàng sử dụng

2.6 Webcam HD 1080p.

Webcam chuyên dụng để học zoom, quay webcam, livestream

Webcam full hd độ phân giải 1080p và 720p (1920x1080 và 1280x720)

Có thể xoay nghe nói thu âm giúp thao tác dễ dàng, camera webcam sịn sò âmthanh nổi

Webcam PC có camera thông minh tốc độ lấy nét bằng tay nhanh, hình ảnh âmthanh sắc nét video mượt mà

Cắm vào máy tính qua cổng usb sử dụng luôn không cần cài đặt, tương thích cácphần mềm và game

Hình 2.15 WebcamHD 1080P

2.7 Chuẩn giao tiếp UART.

UART (Universal Asynchronous Receiver-Transmitter) bộ truyền nhận dữ liệunối tiếp bất đồng bộ Đây là một trong những giao thức truyền thông giữa thiết bị vớithiết bị được sử dụng nhiều nhất Giao tiếp UART được sử dụng nhiều trong các ứngdụng để giao tiếp với các module như: Wifi, Bluetooth, Xbee, module đầu đọc thẻRFID với Raspberry Pi, Arduino hoặc vi điều khiển khác Đây cũng là chuẩn giao tiếpthông dụng và phổ biến trong công nghiệp

Trong giao tiếp UART, hai UART giao tiếp trực tiếp với nhau UART truyềnchuyển đổi dữ liệu song song từ một thiết bị điều khiển như CPU thành dạng nối tiếp,

Trang 39

truyền nó nối tiếp đến UART nhận, sau đó chuyển đổi dữ liệu nối tiếp trở lại thành dữliệu song song cho thiết bị nhận.

Hình 2.16 Hai MCU giao tiếp trực tiếp với nhau bằng Tx và Rx

Hai đường dây mà mỗi thiết bị sử dụng để truyền dữ liệu đó là:

 Transmitter (Tx)

 Receiver (Rx)

UART truyền dữ liệu không đồng bộ, có nghĩa là không có tín hiệu đồng hồ đểđồng bộ hóa đầu ra của các bit từ UART truyền đến việc lấy mẫu các bit bởi UARTnhận Thay vì tín hiệu đồng hồ, UART truyền thêm các bit start và stop vào gói dữ liệuđược chuyển Các bit này xác định điểm bắt đầu và điểm kết thúc của gói dữ liệu đểUART nhận biết khi nào bắt đầu đọc các bit

Khi UART nhận phát hiện một bit start, nó bắt đầu đọc các bit đến ở một tần số

cụ thể được gọi là tốc độ truyền (baud rate) Tốc độ truyền là thước đo tốc độ truyền

dữ liệu, được biểu thị bằng bit trên giây (bps – bit per second), có nhiều tốc độ truyềnkhã nhau từ 9600 bps  115200 bps Cả hai UART đều phải hoạt động ở cùng mộttốc độ truyền Tốc độ truyền giữa UART truyền và nhận chỉ có thể chênh lệch khoảng10% trước khi thời gian của các bit bị lệch quá xa

Cả hai UART cũng phải được cấu hình để truyền và nhận cùng một cấu trúc gói

dữ liệu

Cách thức hoạt động của giao tiếp UART

UART sẽ truyền dữ liệu nhận được từ một bus dữ liệu (Data Bus) Bus dữ liệuđược sử dụng để gửi dữ liệu đến UART bởi một thiết bị khác như CPU, bộ nhớ hoặc

vi điều khiển Dữ liệu được chuyển từ bus dữ liệu đến UART truyền ở dạng song song.Sau khi UART truyền nhận dữ liệu song song từ bus dữ liệu, nó sẽ thêm một bit start,một bit chẵn lẻ và một bit stop, tạo ra gói dữ liệu Tiếp theo, gói dữ liệu được xuất ranối tiếp từng bit tại chân Tx UART nhận đọc gói dữ liệu từng bit tại chân Rx của nó.UART nhận sau đó chuyển đổi dữ liệu trở lại dạng song song và loại bỏ bit start, bit

Trang 40

chẵn lẻ và bit stop Cuối cùng, UART nhận chuyển gói dữ liệu song song với bus dữliệu ở đầu nhận.

UART truyền dữ liệu nối tiếp, theo một trong ba chế độ:

 Full duplex: Giao tiếp đồng thời đến và đi từ mỗi master và slave

 Half duplex: Dữ liệu đi theo một hướng tại một thời điểm

 Simplex: Chỉ giao tiếp một chiều

Hình 2.17 Dữ liệu truyền qua UART

 St: bit khởi đầu, luôn ở mức thấp

 (n): dữ liệu các bit (0 – 8)

 P: bit chẵn lẻ, có thể là số chẵn hoặc lẻ

 Sp: bit dừng, luôn ở mức cao

 IDLE: không chuyển giao trên đường dây liên lạc (RxDn hoặc TxDn), phải ở mứccao

Dữ liệu truyền qua UART được tổ chức thành các gói Mỗi gói chứa 1 bit bắtđầu, 5 đến 9 bit dữ liệu (tùy thuộc vào UART), một bit chẵn lẻ tùy chọn và 1 hoặc 2bit dừng

Bit khởi đầu: Đường truyền dữ liệu trong giao tiếp UART thường được giữ ởmức điện áp cao khi nó không truyền dữ liệu Để bắt đầu truyền dữ liệu, UART truyền

sẽ kéo đường truyền từ mức cao xuống mức thấp trong một chu kỳ đồng hồ KhiUART 2 phát hiện sự chuyển đổi điện áp cao xuống thấp, nó bắt đầu đọc các bit trongkhung dữ liệu ở tần số của tốc độ truyền (baud rate)

Khung dữ liệu: Khung dữ liệu chứa dữ liệu thực tế đang được truyền Nó có thểdài từ 5 bit đến 8 bit nếu sử dụng bit Parity (bit chẵn lẻ) Nếu không sử dụng bit Parity,khung dữ liệu có thể dài 9 bit Trong hầu hết các trường hợp, dữ liệu được gửi với bitLSB (bit có trọng số thấp nhất) trước tiên

Bit chẵn lẻ: Bit chẵn lẻ là một cách để UART nhận cho biết liệu có bất kỳ dữ liệunào đã thay đổi trong quá trình truyền hay không Bit có thể bị thay đổi bởi bức xạ

Ngày đăng: 08/03/2024, 14:04

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w