You are on page 1of 48

ĐẠ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


NGHÀNH : CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ VIỄN
THÔNG
CHUYÊN NGHÀNH: VIỄN THÔNG

ĐỀ TÀI :

ĐIỀU KHIỂN GIÁM SÁT XE TỰ ĐỘNG BẰNG


SÓNG RF

Người hướng dẫn : ThS Phạm Thị Thảo Khương

Sinh viên thực hiện: Phạm Đình Ngọc Hoà - 1911505410118

Đào Trung Trực - 1911505410169

Lớp : 19DT1

Đà nẵng , ngày 22 tháng 12 năm 2023


LỜI NÓI ĐẦU

1
LỜI CAM ĐOAN

2
MỤC LỤC

LỜI NÓI ĐẦU.....................................................................................................1


LỜI CAM ĐOAN................................................................................................2
MỤC LỤC...........................................................................................................3
DANH MỤC HÌNH ẢNH..................................................................................5
MỞ ĐẦU..............................................................................................................6
1. Lý do chọn đề tài.....................................................................................................................................6
2. Mục tiêu và giới hạn đề tài......................................................................................................................6
3. Phạm vi và đối tượng nghiên cứu...........................................................................................................7
4. Phương pháp nghiên cứu........................................................................................................................7
5. Cấu trúc của đồ án tốt nghiệp................................................................................................................7

CHƯƠNG 1. CƠ SỞ LÝ THUYỂT..................................................................8
1.1 Các hệ thống công nghệ an toàn cơ bản trên xe ô tô.........................................................................8
1.2 Các hệ thống công nghệ an toàn cao cấp trên xe ô tô.....................................................................14
1.3 Tổng quan về các hệ thống cảnh báo tránh va chạm trên xe ô tô..................................................18
1.4 Tổng quan về sóng rf........................................................................................................................19
1.5 Phần mềm arduino ide......................................................................................................................19
1.6 Phần mềm proteus............................................................................................................................25
1.7 Tổng quan về ngôn ngữ C++............................................................................................................28

CHƯƠNG 2. THIẾT KẾ PHẦN CỨNG........................................................31


2.1 Sơ đồ khối hệ thống...........................................................................................................................31
2.2 Sơ đồ bố trí hệ thống.........................................................................................................................32
2.3 Thiết kế mô hình 3D xe điều khiển..................................................................................................32
2.4 Thiết bị sử dụng trong hệ thống.......................................................................................................33
2.4.1. Arduino nano................................................................................................................................33
2.4.2. Mạch thu phát rf nrf24l01 pa lna 2.4ghz.....................................................................................36
2.4.3. Module joystick.............................................................................................................................37
2.4.4. Động cơ giảm tốc vàng..................................................................................................................37
2.4.5. Mạch hiển thị neopixel ring 12 rgb led ws2812...........................................................................38
2.4.6. Module loa.....................................................................................................................................39
2.4.7. Cảm biến siêu âm hc-sr04............................................................................................................39
2.4.8. Mạch điều khiển động cơ dc l298n..............................................................................................41
2.5 Thiết kế mạch cho hệ thống..............................................................................................................42

CHƯƠNG 3. THIẾT KẾ PHẦN MỀM VÀ KẾT QUẢ................................43


3.1 Lưu đồ thuật toán.............................................................................................................................43
3.1.1 Sơ đồ thuật toán tổng hệ thống........................................................................................................43

3
3.1.2 Sơ đồ thuật toán của bộ điều khiên....................................................................................................43
3.1.3 Sơ đồ thuật toán của xe.......................................................................................................................43
3.2 Kết quả đạt được...............................................................................................................................43
3.2.1 Mô hình bộ điều khiển......................................................................................................................43
3.2.2 Mô hình xe điều khiển......................................................................................................................43
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.....................................................................................................44
Kết luận...........................................................................................................................................................44
Hướng phát triển............................................................................................................................................44

TÀI LIỆU THAM KHẢO................................................................................45


PHỤ LỤC..........................................................................................................46

4
DANH MỤC HÌNH ẢNH

Hình 1. 1: Túi khí SRS..................................................................................................10


Hình 1. 2: hệ thống chống bó cứng phanh ABS............................................................10
Hình 1. 3: Hệ thống hỗ trợ phanh khẩn cấp BA............................................................11
Hình 1. 4: Hệ thống phân phối lực phanh điện tử EBD................................................12
Hình 1. 5: Hệ thống cân bằng điện tử ESP....................................................................12
Hình 1. 6: Hệ thống kiểm soát lực kéo TCS.................................................................13
Hình 1. 7: Hệ thống hỗ trợ khởi hành ngang dốc HAC................................................14
Hình 1. 8: Hệ thống cảnh báo phanh khẩn cấp ESS......................................................14
Hình 1. 9: Hệ thống điều khiển hành trình Cruise Control System...............................15
Hình 1. 10: Cảm biến lùi...............................................................................................16
Hình 1. 11: Hệ thống phanh tay....................................................................................17
Hình 1. 12: Hệ thống cảnh báo áp suất lốp...................................................................18
Hình 1. 13: Tần số vô tuyến và một số ứng dụng.........................................................22
Hình 1. 14: Cấu tạo Arduino.........................................................................................23
Hình 1. 15: Giao diện của phần mềm IDE....................................................................26
Hình 1. 16: Menu file trên phần mềm IDE....................................................................26
Hình 1. 17: Cách chọn cổng COM trên màn hình IDE.................................................27
Hình 1. 18: Tổng quan quá trình xử lý chương trình Arduino......................................27
Hình 1. 19: Phần mềm Proteus......................................................................................28
Hình 1. 20: Thiết kế mạch proteus................................................................................30

Hình 2. 1: Sơ đồ bố trí thiết bị.......................................................................................34


Hình 2. 2: Sơ đồ khối hệ thống.....................................................................................35
Hình 2. 3: Mô hình thiết kế...........................................................................................36
Hình 2. 4: Arduino nano................................................................................................36
Hình 2. 5: Mạch thu phát RF NRF24L01 PA LNA 2.4Ghz anten rời..........................40
Hình 2. 6: Module Joystick...........................................................................................41
Hình 2. 7: Động cơ giảm tốc vàng................................................................................42
Hình 2. 8: mạch hiển thị neopixel ring 12 rgb led ws2812...........................................43
Hình 2. 9: MODULE LOA...........................................................................................44
Hình 2. 10: Cảm biến siêu âm HC-SR04......................................................................44
Hình 2. 11: Mạch điều khiển động cơ DC L298N........................................................45
Hình 2. 12: Mạch thiết kế ra chân hệ thống..................................................................46
Hình 2. 13: Sơ đồ kết nối bộ điều khiển........................................................................46
5
MỞ ĐẦU
1. Lý do chọn đề tài
"Điều Khiển Giám Sát Xe Tự Động Bằng Sóng RF" đang trở nên ngày càng
quan trọng trong bối cảnh phát triển mạnh mẽ của công nghệ ô tô tự động. Sự tiện lợi
và hiệu quả của việc sử dụng sóng radio tần số cao (RF) trong hệ thống này không chỉ
giúp tăng cường khả năng truyền thông mà còn mở ra nhiều khả năng ứng dụng đa
dạng.
Đối với việc giám sát và điều khiển xe tự động, việc sử dụng sóng RF mang lại
khả năng truyền thông nhanh chóng và ổn định, giảm thiểu độ trễ trong truyền dẫn
thông tin. Điều này là quan trọng để đảm bảo rằng các hệ thống điều khiển có thể phản
ứng nhanh chóng đối với môi trường đường sá đầy biến động.
Ngoài ra, sóng RF cũng cho phép truyền dẫn dữ liệu với khoảng cách xa mà
không cần sự trực tiếp giữa bộ phát và bộ thu, giúp tăng cường khả năng giám sát xe
trong môi trường đô thị phức tạp. Điều này làm tăng tính ứng dụng và linh hoạt của hệ
thống, đồng thời giúp cải thiện độ an toàn và hiệu suất của xe tự động.
Trong bối cảnh ô tô tự động đang trở thành một xu hướng không thể ngăn cản,
nghiên cứu về "Điều Khiển Giám Sát Xe Tự Động Bằng Sóng RF" không chỉ đáp ứng
nhu cầu thực tế mà còn đóng góp vào sự phát triển toàn diện của ngành công nghiệp ô
tô thông minh và bền vững. Trong đó việc đưa ra cảnh báo khi xe gặp các trường hợp
bất ngờ về việc các xe hoặc vật cản lớn dừng đột ngột làm tài xế không thể xử lý lúc
này ứng dụng giảm tốc độ của hệ thống được kích hoạt nhằm trợ giúp cho việc giảm
tốc độ cho xe khi gặp sự cố, đảm bảo trật tự an toàn giao thông hiện nay

2. Mục tiêu và giới hạn đề tài


Mục tiêu:
Mục tiêu chính của hệ thống điều khiển giám sát xe tự động bằng sóng RF là
nâng cao mức độ an toàn trong giao thông đường sá. Qua việc sử dụng sóng RF để
truyền dữ liệu, hệ thống có thể phản ứng nhanh chóng đối với tình huống nguy hiểm
và giảm nguy cơ tai nạn.
Hệ thống cũng hướng đến mục tiêu tối ưu hóa hiệu suất của xe tự động. Việc sử
dụng sóng RF giúp truyền dẫn dữ liệu về tình trạng của xe một cách chính xác, từ đó
giúp cải thiện quản lý và bảo dưỡng xe.
Mục tiêu khác là tạo ra hệ thống giảm tốc độ khi gặp vật cản phía trước nhằm
mang lại đảm bảo an toàn cho xe, đưa ra cảnh báo còi và đèn cho tài xế trong xe và các
xe phía sau để giảm thiểu tai nạn giao thông.
6
Giới hạn:
Mặc dù sóng RF có thể truyền tín hiệu xa, nhưng khoảng cách này vẫn có giới
hạn. Sự giảm điều này có thể xảy ra do nhiễu sóng hoặc các vật cản trong môi trường.
Hệ thống sử dụng sóng RF có thể phải đối mặt với thách thức về bảo mật tín
hiệu. Cần có biện pháp bảo mật mạnh mẽ để ngăn chặn các tình huống xâm phạm an
ninh và quyền riêng tư.
Triển khai hệ thống điều khiển giám sát xe tự động bằng sóng RF có thể đòi hỏi
chi phí cao do yêu cầu các thiết bị và công nghệ cao cấp. Ngoài ra, cần có những biện
pháp đào tạo để đảm bảo người sử dụng có thể vận hành và bảo dưỡng hệ thống hiệu
quả.
Giới hạn việc giảm tốc độ còn phụ thuộc vào các yếu tố như phanh xe, bộ hãm
tốc độ động cơ,…làm ảnh hướng tới việc giảm tốc độ trong khoản thời gian khẩn cấp
3. Phạm vi và đối tượng nghiên cứu
- Xác định mô hình mô phỏng, hệ thống điều khiển
- Sử dụng vi điều khiển Arduino trong hệ thống
- Ngôn ngữ lập trình (arduino ide) để lập trình arduino
4. Phương pháp nghiên cứu
- Tham khảo tài liệu, sách hướng dẫn, video hướng dẫn
- Tham khảo các nguồn tài liệu từ giáo viên, bạn bè, nhà trường
- Vận dụng các phương pháp tổng hợp thông tin, phân tích các dữ liệu, sàng lọc
các thông tin.
5. Cấu trúc của đồ án tốt nghiệp
- CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
- CHƯƠNG 2: THIẾT KẾ MÔ HÌNH HỆ THỐNG
- CHƯƠNG 3: KẾT LUẬN

7
CHƯƠNG 1. CƠ SỞ LÝ THUYỂT

1.1 Các hệ thống công nghệ an toàn cơ bản trên xe ô tô


1. Túi khí

Hình 1. 1: Túi khí SRS


Túi khí SRS (Supplemental Restraint System) là một tính năng an toàn bị động
được trang bị trên xe ô tô nhằm giúp bảo vệ người lái và hành khách khỏi các va đập,
giảm thiểu chấn thương gây ra bởi lực quán tính khi gặp các sự cố, va chạm mạnh bất
ngờ.
2. Hệ thống chống bó cứng phanh

Hình 1. 2: hệ thống chống bó cứng phanh ABS

8
Hệ thống chống bó cứng phanh ABS (Anti-Lock Brake System) là tính năng an
toàn chủ động được trang bị trên ô tô để giúp ngăn ngừa hiện tượng phanh xe bị bó
cứng vì má phanh ghì chặt vào đĩa phanh.
Cụ thể, khi phát hiện một hay nhiều bánh xe có dấu hiệu giảm tốc bất thường so
với các bánh còn lại, hệ thống ABS ngay lập tức sẽ thực hiện điều chỉnh áp lực phanh
đến từng bánh thông qua việc tăng/giảm áp suất dầu.
Nhờ vậy, xe sẽ có thể dừng lại một cách dễ dàng, giúp giảm thiểu tối đa khả năng
tai nạn khi phanh gấp.
3. Hệ thống hỗ trợ phanh khẩn cấp

Hình 1. 3: Hệ thống hỗ trợ phanh khẩn cấp BA


Hệ thống hỗ trợ phanh khẩn cấp BA (Brake Assist) là hệ thống an toàn trên xe ô
tô có chức năng làm tăng hiệu quả phanh khi người lái đạp phanh không đủ lực, giúp
khắc phục tình trạng kéo dài quãng đường phanh, tránh va chạm, tai nạn do xe dừng
không kịp lúc.
Theo đó, trong các tình huống khẩn cấp, bộ khuếch đại lực phanh sẽ được kích
hoạt để nhằm hỗ trợ thêm lực phanh, giúp quãng đường phanh rút ngắn nhất có thể.
4. Hệ thống phân phối lực phanh điện tử

9
Hình 1. 4: Hệ thống phân phối lực phanh điện tử EBD
Hệ thống phân phối lực phanh điện tử EBD (Electronic Brakeforce Distribution)
là hệ thống an toàn được trang bị xe ô tô có nhiệm vụ phân bổ lực phanh tương ứng
với tỷ lệ tải trọng phân bố trên từng bánh xe.
Theo đó, hệ thống này sẽ thực hiện tính toán dựa trên tốc độ giữa các bánh xe để
nhằm điều chỉnh, cân bằng lực phanh sao cho hiệu quả phanh đạt được tốt nhất.
Đây hiện là một trong các hệ thống an toàn cơ bản trên xe ô tô và có mặt ở hầu
hết các xe.
5. Hệ thống cân bằng điện tử

Hình 1. 5: Hệ thống cân bằng điện tử ESP

10
Hệ thống cân bằng điện tử ESP (Electronic Stability Program) là hệ thống an
toàn có chức năng giúp giữ xe ổn định trong các tình huống chạy ở tốc độ cao, lái xe
đường trơn,...
Để đảm bảo xe không bị văng đuôi, văng ngang hay mất lái khi vào cua hay đánh
lái đột ngột. Cụ thể, khi phát hiện có sự sai lệch ở góc đánh lái và góc quay thân xe,
ESP sẽ can thiệp vào hệ thống phanh để điều chỉnh lại tốc độ của các bánh xe.
Đặc biệt, một số hệ thống cân bằng điện tử hiện đại còn có khả năng làm giảm
mô men xoắn từ động cơ truyền đến các bánh xe.
6. Hệ thống kiểm soát lực kéo

Hình 1. 6: Hệ thống kiểm soát lực kéo TCS


Hệ thống kiểm soát lực kéo TCS (Traction Control System) là trang bị an toàn
giúp kiểm soát lực kéo nhằm ngăn ngừa hiện tượng xe bị trượt dài trong trường hợp
phanh gấp, đánh lái gấp khi tránh vật cản hay vào cua gấp ở tốc độ cao.
Cụ thể, bằng cách tác dụng vào hệ thống phanh và can thiệp điều chỉnh mô men
xoắn động cơ, TCS có thể giúp giảm tốc độ bánh xe, lấy lại lực kéo.
Nhờ đó, xe sẽ có thể di chuyển một cách ổn định đúng theo quỹ đạo đã định sẵn.
7. Hệ thống hỗ trợ khởi hành ngang dốc

11
Hình 1. 7: Hệ thống hỗ trợ khởi hành ngang dốc HAC
Hệ thống hỗ trợ khởi hành ngang dốc HAC (Hill-start Assist Control) là một tính
năng an toàn giúp xe ô tô tự động giữ phanh khi người lái nhả chân phanh để chuyển
sang chân ga trong trường hợp khởi hành ngang dốc.
Nhờ vậy, người lái sẽ có một khoảng thời gian ngắn để xử lý các thao tác, đảm
bảo di chuyển xe lên dốc an toàn, không bị trôi ngược về phía sau.
8. Hệ thống cảnh báo phanh khẩn cấp

Hình 1. 8: Hệ thống cảnh báo phanh khẩn cấp ESS

12
Hệ thống cảnh báo phanh khẩn cấp ESS (Emergency Brake Signal) là công nghệ
an toàn được trang bị trên xe ô tô, nhằm phát ra tín hiệu cảnh báo khi xe phanh gấp để
báo hiệu cho những người xung quanh có thể sớm nhận biết và xử lý kịp thời.
Hệ thống này hoạt động dựa trên tín hiệu từ các cảm biến, cụ thể, khi phát hiện
dấu hiệu phanh xe khẩn cấp, ESS sẽ nhận các thông tin từ cảm biến và kích hoạt các
bộ phận tín hiệu bao gồm hệ thống đèn, hệ thống chuông,... để phát ra cảnh báo đến
người xung quanh.
9. Hệ thống điều khiển hành trình

Hình 1. 9: Hệ thống điều khiển hành trình Cruise Control System


Hệ thống điều khiển hành trình Cruise Control System (CCS) là tính năng được
trang bị nhằm giúp xe ô tô tự động duy trì tốc độ theo cài đặt của người lái.
Hệ thống này sẽ hoạt động bằng cách điều khiển độ mở của bướm ga để xe có thể
tự động chạy với vận tốc mong muốn của người lái.
Qua đó, Cruise Control sẽ giúp người lái đỡ mỏi chân hơn do không cần đạp ga
liên tục cũng như giúp xe vận hành một cách ổn định, tiết kiệm xăng tốt hơn.
10. Cảm biến lùi

13
Hình 1. 10: Cảm biến lùi
Hệ thống cảm biến đỗ xe (Parking Aid Sensor) là hệ thống an toàn giúp phát
hiện và cảnh báo cho người lái về các vật cản xung quanh cũng như khoảng cách ước
tính khi lùi xe.
Nhờ đó, người lái có lùi đỗ xe một cách an toàn, hạn chế tối đa các va chạm.
11. Camera lùi
Camera lùi là trang bị trên xe ô tô giúp người lái có thể quan sát toàn cảnh phía
sau xe để thực hiện lùi, đỗ xe một cách an toàn, dễ dàng, nhất là ở những vùng không
gian hẹp.
Góc quay của camera lùi có thể lên đến 170 độ, đặc biệt, một số dòng camera còn
có tính năng xoay chuyển theo góc đánh lái vô lăng, giúp hỗ trợ đắc lực cho người lái
khi lùi xe.
1.2 Các hệ thống công nghệ an toàn cao cấp trên xe ô tô
1. Hệ thống phanh tay điện tử

Hình 1. 11: Hệ thống phanh tay


14
Hệ thống phanh tay điện tử EPB (Electronic Parking Brake) là tính năng an toàn
giúp xe ô tô tự động kích hoạt phanh tay khi cần số chuyển về P và tự động nhả phanh
khi xe chạy.
Nhờ vậy, tính năng này sẽ giúp phòng tránh được tình trạng quên kéo hoặc hạ
phanh tay, đảm bảo an toàn cho người lái và phương tiện.
2. Hệ thống giữ phanh tự động
Hệ thống giữ phanh tự động (Auto Hold) là tính năng giúp xe ô tô tự động giữ
phanh trong các tình huống cần tạm dừng xe như chờ đèn đỏ, đợi đón/trả khách…
Khi kích hoạt Auto Hold, người lái có thể rời chân khỏi bàn đạp phanh mà không
lo xe bị trôi về phía sau. Thông thường, hệ thống này sẽ đi cùng với hệ thống phanh
tay điện tử.
3. Hệ thống cảnh báo áp suất lốp

Hình 1. 12: Hệ thống cảnh báo áp suất lốp


Hệ thống cảnh báo áp suất lốp (Tire Pressure Monitoring System) là hệ thống an
toàn được trang bị trên xe ô tô nhằm giúp theo dõi áp suất lốp và cảnh báo khi áp suất
lốp không đạt yêu cầu.
Nhờ đó, người lái có thể kiểm tra và xử lý một cách kịp thời, tránh các rủi ro xảy
ra khi di chuyển trên đường.
4. Hệ thống kiểm soát hành trình thích ứng
Ngoài tính năng duy trì tốc độ theo cài đặt như Cruise Control, hệ thống kiểm
soát hành trình thích ứng Adaptive Cruise Control (ACC) còn có thể tự động điều
chỉnh tốc độ để duy trì khoảng cách an toàn với xe phía trước.

15
Theo đó, hệ thống này sẽ kiểm soát tốc độ xe bằng cách điều chỉnh bướm ga
cũng như kích hoạt thêm hệ thống phanh xe trong một vài trường hợp khẩn cấp.
5. Hệ thống hỗ trợ xuống dốc
Hệ thống hỗ trợ xuống dốc HDC (Hill Descent Control) là một trang bị an toàn
xe ô tô nhằm giúp kiểm soát tốc độ khi xe chạy xuống đèo, dốc. Công nghệ này giúp
hạn chế tình trạng rà phanh liên tục, gây nóng má phanh, thậm chí khiến phanh bị bó
cứng hay xe bị mất phanh.
Bằng cách điều chỉnh phanh và mô men xoắn của động cơ, HDC có thể giúp làm
giảm tốc độ của các bánh xe.
Nhờ đó, người lái sẽ không cần phải quan tâm nhiều đến phanh hay việc chọn số
nào khi lái xe xuống các con dốc, đèo.
6. Hệ thống cảnh báo lệch làn
Thông qua camera nhận diện vạch kẻ đường, hệ thống cảnh báo lệch làn đường
LDW (Lane Departure Warning) sẽ biết được khi nào xe bị chệch ra làn đường, từ đó
cảnh báo đến cho người lái thông qua âm thanh, tín hiệu rung vô lăng hay hình ảnh
trên màn hình bảng đồng hồ.
Đặc biệt, để tránh đưa ra cảnh báo sai, hệ thống LDW chỉ hoạt động trong một số
điều kiện nhất định như: xe đang chạy ổn định ở tốc độ cao, xe đang chạy đường thẳng
hay xe không bật đèn xi nhan.
7. Hệ thống hỗ trợ giữ làn đường
Hệ thống hỗ trợ giữ làn đường LKA (Lane Keeping Assist) là công nghệ an toàn
được phát triển dựa trên hệ thống cảnh báo lệch làn đường LDW.
Cụ thể, khi phát hiện xe chạy lệch làn đường, hệ thống LKA sẽ can thiệp điều
chỉnh mô men xoắn để giữ xe chạy đúng làn đường.
Trong trường hợp sau 100 giây mà việc điều chỉnh mô men xoắn không đủ để
duy trì xe ở đúng làn đường, hệ thống LKA sẽ thực hiện cảnh báo bằng tín hiệu rung
vô lăng cùng âm thanh đến người lái.
8. Hệ thống hỗ trợ chuyển làn
Hệ thống hỗ trợ chuyển làn chủ động ALCA (Active Lane Change Assist) là
công nghệ an toàn trên xe ô tô giúp xe có thể tự động điều hướng sang làn đường dự
kiến một cách an toàn.
Cụ thể, hệ thống cảm biến, radar đa chế độ sẽ thực hiện kiểm tra các phương tiện
di chuyển bên hông và phía sau xe.
Theo đó, nếu thấy đủ điều kiện an toàn và không có chướng ngại vật, xe sẽ tự
động chuyển làn đường đó.

16
Hệ thống hỗ trợ chuyển làn ALCA chỉ hoạt động trong một số điều kiện nhất
định và yêu cầu vận tốc xe phải từ 80 km/h trở lên.
9. Hệ thống cảnh báo va chạm phía trước
Hệ thống cảnh báo va chạm phía trước FCW (Forward Collision Warning) là
tính năng an toàn chủ động trên xe ô tô, giúp phát hiện và cảnh báo sớm cho người lái
về các tình huống có khả năng dẫn đến va chạm ở phía trước.
Thông thường, cảnh báo này sẽ ở dạng tín hiệu âm thanh, hình ảnh trên màn hình
hay tín hiệu rung trên vô lăng. Đặc biệt, một số hệ thống FCW hiện đại còn có thể tự
động tác dụng vào hệ thống phanh để làm giảm tốc độ xe trong trường hợp không thấy
người lái phản ứng lại.
Đây được đánh giá tính năng rất hữu ích trong các tình huống có rủi ro va chạm
cao như: bất ngờ gặp chướng ngại phía trước, không giữ khoảng cách an toàn với xe
phía trước, xe phía trước đột ngột giảm tốc,…
10. Hệ thống cảnh báo điểm mù
Hệ thống cảnh báo điểm mù BSM (Blind Spot Monitor) là công nghệ giúp phát
hiện và cảnh báo người lái khi có xe chạy quá sát phía sau hoặc bên hông xe của mình.
Hệ thống này hoạt động dựa trên tín hiệu thu được từ các bộ phát sóng điện tử
lắp ở gương chiếu hậu, hai bên thân xe và phần cản phía sau xe.
Theo đó, khi phát hiện có phương tiện chạy quá sát, bộ điều khiển BSM sẽ phát
tín hiệu đến người lái thông qua đèn cảnh báo nằm ở góc trên của gương chiếu hậu.
Ngoài ra, nó còn có thể báo tín hiệu âm thanh và tín hiệu rung vô lăng.
11. Hệ thống cảnh báo người, phương tiện cắt ngang khi lùi
Thông qua tín hiệu từ các cảm biến và radar phía sau xe, hệ thống RCTA (Rear
Cross Traffic Alert) sẽ có thể phát hiện được người hay phương tiện cắt ngang trong
lúc xe đang lùi.
Nhờ đó, nó sẽ tiến hành cảnh báo đến người lái qua âm thanh bíp và hình ảnh
trên màn hình bảng đồng hồ để họ kịp thời xử lý, tránh các rủi ro có thể xảy ra.
12. Hệ thống hỗ trợ đỗ xe
Khi người lái tiến hành đỗ xe, hệ thống này sẽ giúp hỗ trợ xác định vật cản xung
quanh bằng cảm biến, radar hay camera và sử dụng hệ thống lái trợ lực điện để giúp xe
đánh lái vào khoảng trống.
Nhờ đó, người lái hoàn toàn có thể rời tay khỏi vô lăng mà vẫn dễ dàng đỗ xe
một cách an toàn. Đặc biệt, với một số hệ thống đỗ xe tiên tiến, người lái thậm chí có
thể rời khỏi xe và thực hiện điều khiển đỗ xe thông qua smartphone.
13. Đèn pha thích ứng thông minh

17
Đèn pha thích ứng thông minh (Adaptive Headlights) là công nghệ trên ô tô giúp
đèn đạt được cường độ ánh sáng mạnh, đảm bảo tầm nhìn tốt hơn cho người lái nhưng
không gây chói mắt các phương tiện đối diện. Bên cạnh đó, tính năng này còn cho
phép thay đổi cường độ ánh sáng của đèn dựa theo tốc độ xe.
14. Camera 360 độ
Camera 360 độ là trang bị trên xe ô tô giúp người lái có thể quan sát toàn cảnh
xung quanh xe, kể cả những góc khuất, điểm mù. Do đó, thông qua các hình ảnh từ
camera, người lái có thể chủ động tránh những vật cản hay tình huống va chạm, nhất là
khi lái xe, lùi đỗ trong không gian hẹp.
1.3 Tổng quan về các hệ thống cảnh báo tránh va chạm trên xe ô tô
Các hệ thống cảnh báo tránh va chạm trên xe ô tô là một phần quan trọng của
công nghệ an toàn ô tô hiện đại. Chúng giúp giảm tỉ lệ tai nạn và bảo vệ người lái,
người ngồi và người điều khiển đường. Dưới đây là một tổng quan về các hệ thống
cảnh báo tránh va chạm:
Hệ Thống Cảnh Báo Va Chạm Phía Trước (FCW):
FCW sử dụng cảm biến và radar để theo dõi khoảng cách giữa xe và các vật
cản phía trước. Nếu hệ thống phát hiện nguy cơ va chạm, nó cảnh báo lái xe bằng cách
kích hoạt đèn cảnh báo hoặc cảnh báo âm thanh.
Hệ Thống Phanh Tự Động Tránh Va Chạm (AEB):
AEB là một phần mở rộng của FCW, có khả năng tự động phanh để tránh va
chạm hoặc giảm thiểu hậu quả của va chạm nếu lái xe không phản ứng đúng kịp thời.
Hệ Thống Cảnh Báo Va Chạm Phía Sau (RCW):
RCW sử dụng cảm biến ở phía sau để cảnh báo lái xe về nguy cơ va chạm khi
lùi hoặc khi có xe đang tiếp cận từ phía sau.
Hệ Thống Cảnh Báo Mù Chỗ Xe (BSW):
BSW cảnh báo lái xe nếu có xe ở gần trong điểm mù chỗ xe khi chuyển làn
đường. Nó thường sử dụng cảm biến ở các cánh gương hoặc trên thân xe.
Hệ Thống Cảnh Báo Ra Khỏi Làn Đường (LDW):
LDW cảnh báo lái xe khi xe bắt đầu rời khỏi làn đường mà không bật đèn xi
nhan. Một số hệ thống còn có khả năng can thiệp để giữ xe ở giữa làn đường.
Hệ Thống Cảnh Báo Gần Vật Cản (FCM):
FCM sử dụng cảm biến để cảnh báo lái xe về sự gần gũi với các vật cản xung
quanh. Nếu xe tiếp cận quá nhanh, hệ thống có thể cảnh báo và thậm chí can thiệp để
giảm tốc độ hoặc dừng lại.

18
1.4 Tổng quan về sóng rf
Đây chính là loại sóng điện từ có tần số bức xạ điện từ trường nằm ở mức thấp
nhất trong dãy quang phổ. Năng lượng sóng RF hiện nay còn có thể ứng dụng trong
lĩnh vực tái tạo, làm săn chắc làn da nhờ khả năng xâm nhập sâu và tác động tới lớp
trung bì cũng như các vùng khác ở da sâu hơn. Sóng RF có thể gây co thắt và cải thiện
cấu trúc của mô dưới, gây ra thay đổi cấu trúc làn da nhờ khả năng tác động lên các
vùng nếp nhăn.
Sóng điện từ RF bao gồm những loại:
Sóng đơn cực: Loại sóng RF đơn cực được sử dụng trong thiết bị chứa một điện
cực. Máy nâng cơ Tribolar Thermage RF chính là ví dụ điển hình của thiết bị đơn cực
RF, có tác dụng làm trẻ hóa da mặt.
Sóng lưỡng cực: Sóng lưỡng cực được ứng dụng trong loại thiết bị sở hữu hai
điện cực.

Hình 1. 13: Tần số vô tuyến và một số ứng dụng


1.5 Phần mềm arduino ide
Arduino là một bo mạch vi điều khiển do một nhóm giáo sư và sinh viên nước Ý
thiết kế và đưa ra đầu tiên vào năm 2005. Mạch Arduino được sử dụng để cảm nhận và
điều khiển nhiều đối tượng khác nhau. Nó có thể thực hiện nhiều nhiệm vụ lấy tín hiệu
từ cảm biến đến điều khiển đèn, động cơ, và nhiều đối tượng khác. Ngoài ra mạch còn
có khả năng liên kết với nhiều module khác nhau như module đọc thẻ từ, ethernet
shield, sim900A, ….để tăng khả ứng dụng của mạch.

19
Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử
lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit,…. Hiện phần cứng của Arduino có tất
cả 6 phiên bản, Tuy nhiên phiên bản thường được sử dụng nhiều nhất là Arduino Uno
và Arduino Mega.
Phần mềm để lập trình cho mạch Arduino là phần mềm IDE.
Cấu tạo Arduino

Hình 1. 14: Cấu tạo Arduino


Các loại Board Arduino phổ biến
Không giống như hầu hết các board mạch lập trình trước đó, Arduino không yêu
cầu một phần cứng riêng để lập trình mã mới lên board mà bạn chỉ cần sử dụng cáp
USB. Đồng thời, phần mềm Arduino IDE sử dụng phiên bản cơ bản của C ++, giúp
việc học chương trình trở nên đơn giản hơn. Chúng ta có thể tổng hợp một số loại
Arduino phổ biến như sau:
#1. Arduino Uno
Đây chính là loại board đơn giản nhất nên rất phù hợp với những người mới bắt
đầu tìm hiểu về lĩnh vực này. Dữ liệu số bao gồm 14 chân, đầu vào gồm 6 chân 5V,
khả năng phân giải là 1024 mức, tốc độ 16MHz, điện áp từ 7V đến 12V. Kích thước
của Board này là 5,5x7cm.
#2. Arduino Micro

20
Bao gồm có đến 20 chân, trong đó có 7 chân có thể phát PWM. Loại này có thiết
kế khá nhỏ gọn, kích thước chỉ 5x2cm.
#3. Arduino Nano
Có thể nói đây chính là loại board có kích thước nhỏ nhất chỉ 2x4cm, việc lắp đặt
được thực hiện dễ dàng.

#4. Arduino Pro


Đây là một thiết kế mới mẻ khi chân số không có sẵn, tùy vào số chân bạn sử
dụng để gắn trực tiếp và giúp tiết kiệm được khoảng không lớn, ta thường thấy hai loại
có nguồn 3.3V và 5V.
#5. Arduino Mega
Chân số lên đến 64, 14 chân có thể phát PWM, 4 cổng truyền tiếp cùng kích
thước khá lớn 5x10cm.
#6. Arduino Leonardo
Là board không có cổng nối USB dùng lập trình. Được thiết kế tại một chip nhỏ
điều khiển. Kết nối qua COM ảo và có thể kết nối với chuột và bàn phím.
#7 Arduino LilyPad
Board mạch Lily Pad Arduino là một công nghệ dệt điện tử có thể đeo được được
mở rộng bởi Leah Sang Buechley, và được thiết kế một cách cẩn thận bởi dòng Lea
Leah và SparkFun. Mỗi board được thiết kế một cách tưởng tượng với các miếng kết
nối khổng lồ & một mặt sau mịn màng để cho chúng được khâu vào quần áo bằng chỉ .
Arduino này cũng bao gồm I / O, nguồn và cả board cảm biến được chế tạo đặc biệt
cho hàng dệt may điện tử.
#8 Arduino RedBoard
Board mạch RedBoard Arduino có thể được lập trình bằng cáp USB Mini-B bằng
Arduino IDE. Nó sẽ hoạt động trên Windows 8 mà không phải sửa đổi cài đặt bảo mật
của bạn. Nó không đổi do chip USB hoặc FTDI chúng tôi sử dụng và nó hoàn toàn
phẳng ở mặt sau. Tạo nó rất đơn giản để sử dụng trong thiết kế dự án. Chỉ cần cắm
board, chọn tùy chọn menu để chọn Arduino UNO và bạn đã sẵn sàng để tải lên
chương trình. Bạn có thể điều khiển RedBoard qua cáp USB bằng giắc cắm thùng.
Ngoài ra, còn có thể kể đến: Arduino Diecimila, Arduino Duemilanove, Arduino
Due, v.v.
Ứng dụng Arduino
Arduino có nhiều ứng dụng trong đời sống, trong việc chế tạo các thiết bị điện tử
chất lượng cao. Một số ứng dụng có thể kể đến như:

21
Lập trình robot: Arduino chính là một phần quan trọng trong trung tâm xử lí giúp
điều khiển được hoạt động của robot.
Lập trình máy bay không người lái. Có thể nói đây là ứng dụng có nhiều kì vọng
trong tương lai.
Game tương tác: chúng ta có thể dùng Arduino để tương tác với Joystick, màn
hình,… để chơi các trò như Tetrix, phá gạch, Mario… và nhiều game rất sáng tạo nữa
Arduino điều khiển thiết bị ánh sáng cảm biến tốt. Là một trong những bộ phần
quan trọng trong cây đèn giao thông, các hiệu ứng đèn nháy được cài đặt làm nổi bật
các biển quảng cáo.
Arduino cũng được ứng dụng trong máy in 3D và nhiều ứng dụng khác tùy thuộc
vào khả năng sáng tạo của người sử dụng.
Phần mềm lập trình Arduino IDE
Arduino cung cấp đến môi trường lập trình tích hợp mã nguồn mở hỗ trợ người
dùng viết code và tải nó lên bo mạch Arduino. Đây là môi trường đa nền tảng, hỗ trợ
một loạt các bo mạch Arduino cùng rất nhiều tính năng độc đáo. Ứng dụng lập trình
này có giao diện được sắp xếp hợp lý, phù hợp với cả những người dùng chuyên
nghiệp lẫn không chuyên.
Arduino có môi trường lập trình được viết bằng java, hiện đang được sử dụng
cho các bo mạch Arduino và Genuido, được nhiều công ty trên thế giới sử dụng để lập
trình cho các thiết bị của họ. Java 2 Platform Standard Edition cũng là một IDE hỗ trợ
Java. Hiện Java 2 Platform Standard Edition được rất nhiều người sử dụng.
Arduino là môi trường phát triển tích hợp đa nền tảng, hỗ trợ cho một loạt các bo
mạch Arduino như Arduino Uno, Nano, Mega, Esplora, Ethernet, Fio, Pro hay Pro
Mini cũng như LilyPad Arduino. Phần mềm này cũng phù hợp cho những lập trình
viên C và C ++ là thay thế hoàn hảo cho các IDE khác. Với những ai muốn học lập
trình PHP, thì PHP Designer 2007 Personal là lựa chọn tốt. Phần mềm PHP Designer
2007 Personal cung cấp các giải pháp hiệu quả trong thiết kế website.
Các tính năng chính của Arduino IDE:
- Viết code cho bo mạch Arduino
- Hỗ trợ nhiều loại bo mạch Arduino
- Giao diện được sắp xếp hợp lý
- Bộ sưu tập các ví dụ mẫu
- Mảng thư viện hỗ trợ phong phú

22
Hình 1. 15: Giao diện của phần mềm IDE

Hình 1. 16: Menu file trên phần mềm IDE

23
Hình 1. 17: Cách chọn cổng COM trên màn hình IDE
Cấu trúc một chương trình trong phần mềm IDE

Hình 1. 18: Tổng quan quá trình xử lý chương trình Arduino


Phần 1: Khai báo biến
Đây là phần khai báo kiểu biến, tên các biến, định nghĩa các chân trên board một
số kiểu khai báo biến thông dụng: #define
Nghĩa của từ “define” là định nghĩa, hàm #define có tác dụng định nghĩa, hay
còn gọi là gán, tức là gán một chân, một ngõ ra nào đó với 1 cái tên.
Ví dụ: #define led 13
Chú ý: sau #define thì không có dấu “,” (dấy phẩy)
Khai báo các kiểu biến khác như: int (kiểu số nguyên), float,…
Phần 2: Thiết lập (void setup())
Phần này dùng để thiết lập cho chương trình, cần nhớ rõ cấu trúc của nó
void setup()
{
…..
}
Cấu trúc của nó có dấu ngoặc nhọn ở đầu và ở cuối, nếu thiếu phần này khi kiểm
tra chương trình thì chương trình sẽ báo lỗi.
Phần này dùng để thiết lập các tốc độ truyền dữ liệu, kiểu chân là chân ra hay
chân vào. Trong đó:
Phần 3: Vòng lặp

24
Dùng để viết các lệnh trong chương trình để mạch Arduino thực hiện các nhiệm
vụ mà chúng ta mong muốn, thường bắt đầu bằng:
void loop()
{
……………….
}
1.6 Phần mềm proteus
Proteus là một công cụ mạnh mẽ giúp kỹ sư điện tử và nhà nghiên cứu thử
nghiệm ý tưởng của họ trong môi trường an toàn và hiệu quả. Nó giúp giảm thiểu thời
gian và chi phí trong quá trình phát triển mạch điện tử và hệ thống nhúng.

Hình 1. 19: Phần mềm Proteus


Proteus được sử dụng để mô phỏng, thiết kế và vẽ các mạch điện tử. Nó được
phát minh bởi Labcenter Electronics.
Bằng cách sử dụng proteus, bạn có thể thiết kế mạch hai chiều.
Với việc sử dụng phần mềm kỹ thuật này, bạn có thể xây dựng và mô phỏng các
mạch điện và điện tử khác nhau trên máy tính cá nhân hoặc máy tính xách tay.
Có rất nhiều ưu điểm khi mô phỏng các mạch trên proteus trước khi thực hiện
chúng trong thực tế.
Thiết kế mạch trên proteus tốn ít thời gian hơn so với việc xây dựng mạch trên
thực tế.
Khả năng xảy ra lỗi ít hơn trong mô phỏng phần mềm chẳng hạn như kết nối lỏng
lẻo, mất nhiều thời gian để tìm ra các vấn đề kết nối trong một mạch thực tế.
Mô phỏng mạch cung cấp tính năng chính mà một số linh kiện của mạch không
thực tế thì bạn có thể xây dựng mạch của mình trên proteus.
Không có khả năng đốt cháy và làm hỏng bất kỳ linh kiện điện tử nào trong
proteus.

25
Các công cụ điện tử rất đắt tiền có thể dễ dàng mắc vào proteus như máy hiện
sóng.
Sử dụng proteus, bạn có thể tìm thấy yếu tố khác nhau của các mạch như dòng
điện, giá trị điện áp của bất kỳ linh kiện nào và điện trở bất kỳ lúc nào, điều này rất
khó trong một mạch thực tế.
Đặc tính của phần mềm Proteus
ISIS là phần mềm được sử dụng để vẽ sơ đồ và mô phỏng mạch trong thời gian
thực, mô phỏng cho phép con người truy cập trong thời gian chạy, do đó cung cấp mô
phỏng thời gian thực.
ARES được sử dụng để thiết kế PCB, nó có tính năng xem đầu ra ở chế độ xem
3D của PCB được thiết kế cùng với các linh kiện.
Người thiết kế cũng có thể phát triển các bản vẽ 2D cho sản phẩm.
ISIS có nhiều loại linh kiện trong thư viện của nó. Nó có các nguồn, bộ tạo tín
hiệu, các công cụ đo lường và phân tích như máy hiện sóng, vôn kế, ampe kế, …, đầu
dò để theo dõi thời gian thực các thông số của mạch, công tắc, màn hình, tải như động
cơ và đèn, các thành phần rời rạc như điện trở, tụ điện, cuộn cảm , máy biến áp, mạch
tích hợp kỹ thuật số và analog, công tắc bán dẫn, relay, vi điều khiển, bộ xử lý, cảm
biến, …
ARES cung cấp thiết kế PCB lên đến 14 lớp bên trong, với các gói gắn bề mặt và
xuyên lỗ. Nó được nhúng với các bản in chân của các loại linh kiện khác nhau như IC,
transistor, header, connector và các linh kiện rời rạc khác. Nó cung cấp các tùy chọn
định tuyến tự động và định tuyến thủ công cho người thiết kế PCB. Schematic được vẽ
trong ISIS có thể được chuyển trực tiếp ARES.
Bố cục Proteus
Bây giờ chúng ta sẽ tìm về cách bố trí của proteus và sẽ thảo luận về các phần và
chức năng của chúng trong proteus.
Editing window
Phần có dấu chấm được gọi là editing window. Đây là một phần bản vẽ của
proteus nơi bạn mô phỏng các mạch và dự án kỹ thuật của mình.
Overview window
Trong Overview window, bạn sẽ thấy toàn cảnh thiết kế hoàn chỉnh của mình.
Object selector
Phần này có 2 nút P và E. P dùng để chọn các linh kiện khác nhau. Nút E dùng
để chỉnh sửa nội dung nào đó, chẳng hạn như bạn muốn thay đổi bất kỳ giá trị nào của
các linh kiện thì bạn có thể sử dụng nút chỉnh sửa này.
Zoom option
26
Bằng cách sử dụng tùy chọn này, bạn có thể dễ dàng phóng to và thu nhỏ bố cục
của mình và có thể quan sát mô phỏng hoàn chỉnh rất rõ ràng.
Tool option
Bằng cách sử dụng tùy chọn này, bạn có thể chọn các thiết bị khác nhau như vôn
kế, ampe kế, máy hiện sóng, v.v.
Run buttons
Ở phía dưới bên trái có 4 nút run, stop, pause và stop. Các nút này giống như
điều khiển remote và bật và tắt mạch của bạn.
Cách tạo mạch trong Proteus

Hình 1. 20: Thiết kế mạch proteus


Bắt đầu thiết kế mới
Bước 1: Mở phần mềm ISIS và chọn New design trong menu File
Bước 2: Một hộp thoại xuất hiện để lưu thiết kế hiện tại. Tuy nhiên, chúng ta
đang tạo một file thiết kế mới nên bạn có thể nhấp vào Yes hoặc No tùy thuộc vào nội
dung của file hiện tại. Sau đó, một cửa sổ bật lên xuất hiện yêu cầu chọn mẫu. Việc
chọn khổ giấy trong khi in cũng tương tự như vậy. Bây giờ hãy chọn mặc định hoặc
theo kích thước layout của mạch.
Bước 3: Một sheet thiết kế không có tiêu đề sẽ được mở ra, hãy lưu nó theo ý
muốn của bạn, tốt hơn hết là bạn nên tạo một thư mục mới cho mọi layout vì nó tạo ra
các tệp khác hỗ trợ thiết kế của bạn. Tuy nhiên, cái này không phải là bắt buộc.
Bước 4: Để chọn linh kiện, nhấp vào nút Component Mode.
Bước 5: Nhấp vào Pick from Libraries. Nó hiển thị các danh mục của các linh
kiện có sẵn và một tùy chọn tìm kiếm để nhập tên linh kiện.
27
Bước 6: Chọn các linh kiện từ danh mục hoặc nhập tên linh kiện vào ô
Keywords.
Bước 7: Các linh kiện đã chọn sẽ xuất hiện trong danh sách thiết bị. Chọn linh
kiện và đặt nó vào bảng thiết kế bằng cách nhấp chuột trái.
Đặt tất cả các linh kiện cần thiết và định tuyến dây, tức là tạo kết nối.
Selection mode ở trên component mode hoặc component mode cho phép kết nối
qua dây. Nhấp chuột trái từ chân này sang chân khác để tạo kết nối. Nhấp đúp chuột
phải vào dây được kết nối hoặc linh kiện để loại bỏ kết nối hoặc linh kiện tương ứng.
Nhấp đúp vào linh kiện để chỉnh sửa thuộc tính của các linh kiện và nhấp vào
Ok.
Bước 8: Sau khi kết nối mạch, bấm vào nút play để chạy mô phỏng.
Mô phỏng có thể được thực hiện, tạm dừng hoặc dừng bất kỳ lúc nào.
1.7 Tổng quan về ngôn ngữ C++
C ++ là ngôn ngữ lập trình được phát triển vào năm 1979 bởi Bjarne Stroustrup
tại Bell Labs. Nó được xem là một ngôn ngữ bậc trung (middle – level) như một phần
mở rộng của ngôn ngữ lập trình C. Vì nó bao gồm một sự kết hợp cả các tính năng của
ngôn ngữ cấp thấp và cấp cao. C++ có thể chạy trên rất nhiều nền tảng khác nhau như:
MacOS, Windows và những phiên bản khác nhau của UNIX.
Ngôn ngữ lập trình C++ đã được mở rộng theo thời gian và hiện có nhiều tính
năng khác nhau như: lập trình tổng quát, lập trình hướng đối tượng, lập trình thủ tục,
ngôn ngữ đa mẫu hình có kiểu tĩnh tự do, dữ liệu trừu tượng và lập trình đa hình…
Ngoài ra, nó còn có thêm nhiều tính năng và công cụ khác dành cho bộ nhớ cấp thấp.
Từ thập niên 1990 đến nay, C++ luôn là một trong những ngôn ngữ lập trình phổ biến
và được ưa thích bởi nhiều lập trình viên.
Các đặc điểm của C++
Ngôn ngữ lập trình bậc trung
C++ có thể được sử dụng để phát triển các chương trình bậc cao và kể cả những
chương trình bậc thấp. Nó hoạt động rất tốt trên hầu hết các phần cứng.
Đơn giản, hiệu quả
Cú pháp của C++ vô cùng dễ hiểu và khá giống với Tiếng Anh. Thậm chí có thể
dùng C++ để thiết kế các ứng dụng dù trước đó đã từng được viết bằng hợp ngữ
(Assembly Language).
Hỗ trợ đa nền tảng
C++ được hỗ trợ trên bất cứ các nền tảng và hệ điều hành nào. Có thể viết một
chương trình C++ trên Linux, biên dịch nó trên MacOS và chạy trên Windows.
Lập trình hướng đối tượng
28
Một trong những lí do C++ phổ biến đó chính là nó hỗ trợ rất hiệu quả việc lập
trình hướng đối tượng. Bao gồm việc trừu tượng hóa dữ liệu (data abstraction), kế thừa
( inheritance ), đóng gói dữ liệu (data encapsulation ), đa hình ( polymorphism )…
Con trỏ
Ngôn ngữ C++ cung cấp một công cụ vô cùng tiện lợi đó là con trỏ (pointer).
Một con trỏ có nhiệm vụ là lưu địa chỉ bộ nhớ làm giá trị của chính nó. Đồng thời lưu
trữ, truy cập dữ liệu từ bộ nhớ.
Lý do nên học ngôn ngữ lập trình C++
Tính phổ biến
C++ là một trong các ngôn ngữ lập trình phổ biến nhất trên thế giới hiện nay.
Tính thực thi nhanh
Nếu bạn đã từng tìm hiểu về C++ thì bạn có thể lập trình cực kì nhanh chóng.
Một trong các mục tiêu của C++ đó là khả năng thực thi. Nếu người cần thêm những
tính năng cho chương trình thì C++ sẽ cho phép bạn sử dụng ngôn ngữ hợp ngữ. Ngôn
ngữ hợp ngữ là ngôn ngữ lập trình bậc thấp nhất. Nó dùng để giao tiếp trực tiếp với
phần cứng máy tính.
Thư viện đầy đủ
Có nhiều tài nguyên sử dụng cho những người lập trình bằng C++. Bao gồm đồ
hoạ API, 2D, 3D, những thiết bị âm thanh giúp cho các lập trình viên dễ dàng thực thi.
Đa mô hình
C++ cho phép lập trình theo cấu trúc tuyến tính, hướng đối tượng, hướng chức
năng đa dạng tùy theo yêu cầu của người lập trình.
Dùng để viết những hệ thống lớn
C++ được thiết kế để viết các hệ thống lớn hay thậm chí cực lớn. Ngoài ra C++
còn được dùng để tạo hệ điều hành máy tính, nổi tiếng nhất đó là hệ điều hành
Windows của Microsoft.
Dùng trong hệ thống nhúng công nghiệp
C++ được dùng trong các ngành hệ thống nhúng công nghiệp (Industrial
Embedded Systems). Các dây chuyền sản xuất robot trong nhà máy, xí nghiệp; những
bảng mạch điện tử hay thậm chí là hệ thống điện trong những dãy nhà… đều được viết
bằng C++.
Ứng dụng trong nhiều tựa game nổi tiếng
Nhiều tựa game nổi tiếng của hãng Blizzard có thể như: World of Warcraft,
Starcraft series, Diablo series… đều được viết bằng C++. Có thể thấy C++ đã thâm
niên lâu đời trong ngành công nghiệp game. Bên cạnh đó, nhiều loại máy chơi game
như Xbox, Wii, Playstation, hay Nintendo đều được phát triển bằng C++.
29
Nhu cầu việc làm
Bên cạnh việc C++ có thể áp dụng trên nhiều lĩnh vực khác nhau thì một trong
những lí do khác nên học C++ đó là về nhu cầu việc làm. Rất nhiều những công ty
tuyển dụng các lập trình viên C++ cho những vị trí khác nhau kèm với mức lương rất
hấp dẫn.
Ứng dụng của C++
Games
ứng dụng ngôn ngữ C++ để lập trình game
C++ được sử dụng để phát triển các trò chơi. Nó giúp tối ưu hóa những nguồn tài
nguyên, hỗ trợ tùy chọn cho người chơi. C++ rất nhanh nên được sử dụng một cách
rộng rãi trong việc phát triển game và chủ yếu được sử dụng để phát triển những bộ
công cụ game.
Hoạt hình
Ngôn ngữ C++ hỗ trợ sự phát triển của các phần mềm hoạt hình. Phần mềm hoạt
hình mô phỏng, 3D, kết xuất, mô hình hóa… được coi là những bộ công cụ mạnh mẽ.
Ngôn ngữ lập trình này được sử dụng phổ biến trong việc xây dựng ứng dụng thời gian
thực, xử lý các cảm biến di động, hình ảnh, hiệu ứng hình ảnh và mô hình hóa.

30
CHƯƠNG 2. THIẾT KẾ PHẦN CỨNG

2.1 Sơ đồ khối hệ thống

Hình 2. 1: Sơ đồ khối hệ thống


Nguồn : cấp nguồn hoạt động cho hệ thống hoạt động 5VDC
Nút Joystick 1,2 : dùng điều khiển sang trái hoặc sang phải, tiền hoặc lùi. Gửi
tín hiệu cho Arduino Nano 2.
Arduino Nano 2: Nhận tín hiệu điều khiển của nút Nút Joystick 1,2 và gửi
lệnh điều khiển qua Arduino Nano 1 bằng module sóng RF 2.
module sóng RF 2: Có chức năng gửi dữ liệu đến module sóng RF 1.
module sóng RF 1: Nhận mã tín hiệu từ module sóng RF 2 truyền về cho
Arduino nano 1.
Arduino nano 1: chức năng nhận tín hiệu cảm biến HC-04 và điều khiển các
thiết bị đầu ra, động cơ, servo, Còi, led
Cảm biến HC-04: Chức năng sử dụng đo khoảng cách bằng sóng siêu âm rồi
gửi dữ liệu về Arduino nano 1

31
2.2 Sơ đồ bố trí hệ thống
-

- Hình 2. 2: Sơ đồ bố trí thiết bị


- Thiết kế ban đâu sẽ là tạo sản phẩm xe mô hình có chức năng như xe ô tô lắp
đặt cảm biến tránh vật cản ở phía trước đầu xe ở đây ta sẽ có ý tưởng là khi xe
di chuyển trên đường gặp trường hợp xe phía trước gặp trục trặc làm ra khoảng
cách giữa 2 xe thu hẹp lại thì sẽ xảy ra tai nạn vì thế nên ta tạo ra hệ thống này
nhằm dựa vào cảm biến tránh vật cản khi có hiện tượng thu hẹp khoảng cách
giữa 2 xe thì ta sẽ làm cho xe tự hãm tốc độ cho đến khi dừng hẵn xe đồng thời
sẽ có còi báo hiệu và đèn led nhấp nháy khi khoảng cách càng gần thì tốc độ
hãm hết, led nháy nhanh dần, chuông kêu to. Việc còi kêu to để cảnh báo người
lái xe còn về led để cảnh báo xe phía sau biết phía trước có xe đang dừng lại.
- Trong đề tài này chưa có sự xuất hiện trên mạng, ở đây ta sẽ có thêm việc điều
khiển xe qua bộ điều khiển sử dụng truyền nhận dữ liệu sóng radio tần số cao
(RF) thay vì wifi hoặc Bluetooth.

2.3 Thiết kế mô hình 3D xe điều khiển

32
Phần mềm sử dụng:
Thiết kế: Solidworks
Phần mềm in 3D: Ultimake Cura

Hình 2. 3: Mô hình thiết kế


2.4 Thiết bị sử dụng trong hệ thống
2.4.1. Arduino nano

Hình 2. 4: Arduino nano

33
Arduino Nano là một bảng vi điều khiển thân thiện, nhỏ gọn, đầy đủ. Arduino
Nano nặng khoảng 7g với kích thước từ 1,8cm - 4,5cm. Bài viết này trình bày về các
thông số kỹ thuật quan trọng, nhất là sơ đồ chân và chức năng của mỗi chân trong
bảng Arduino Nano.

34
Đây là chân reset mạch khi chúng ta nhấn nút rên bo. Thường được sử dụng để
được kết nối với thiết bị chuyển mạch để sử dụng làm nút reset.
ICSP

ICSP là viết tắt của In Circuit Serial Programming , đại diện cho một trong
những phương pháp có sẵn để lập trình bảng Arduino. Thông thường, một chương
trình bộ nạp khởi động Arduino được sử dụng để lập trình một bảng Arduino, nhưng
nếu bộ nạp khởi động bị thiếu hoặc bị hỏng, ICSP có thể được sử dụng thay thế. ICSP
có thể được sử dụng để khôi phục bộ nạp khởi động bị thiếu hoặc bị hỏng.
Mỗi chân ICSP thường được kết nối với một chân Arduino khác có cùng tên
hoặc chức năng. Ví dụ: MISO của Nano nối với MISO / D12 (Pin 15). Lưu ý, các chân
MISO, MOSI và SCK được ghép lại với nhau tạo nên hầu hết giao diện SPI.
Chúng ta có thể sử dụng Arduino để lập trình Arduino khác bằng ICSP này.

35
2.4.2. Mạch thu phát rf nrf24l01 pa lna 2.4ghz

Hình 2. 5: Mạch thu phát RF NRF24L01 PA LNA 2.4Ghz anten rời


Sơ đồ nguyên lý

Mạch thu phát RF NRF24L01 PA LNA 2.4Ghz anten rời (có khếch đại công suất
thu phát) sử dụng IC RF chính là NRF24L01 + từ Nordic được thiết kế thêm phần PA
(power amplifier) và LNA (Low Noise Amplifier) để có thể tăng công suất và khoảng
cách thu phát xa hơn rất nhiều (điều khiện lý tưởng nhà SX công bố có thể truyền được
1000m).
Mạch thu phát RF NRF24L01 được sử dụng cho các ứng dụng truyền nhận dữ
liệu từ xa qua sóng RF giữa các mạch xử lý trung tâm như Vi Điều Khiển, Arduino
hay Raspberry Pi,…
Có thiết kế nhỏ gọn, xử dụng anten rời cho độ xa và độ ổn định cao.
Thông số mạch thu phát rf nrf24l01
- IC chính: NRF24L01+
- Điện áp cung cấp: 3.3VDC
- Điện áp giao tiếp GPIO: 3.3VDC, khi giao tiếp với các board mạch 5VDC cần
nối tiếp qua trở hoặc sử dụng các mạch chuyển mức điện áp.
- Giao tiếp: SPI
- Dòng tiêu thụ: 45mA
- Tần số sóng: 2.4Ghz

36
- Sử dụng tương tự như NRF24L01 không có khuếch đại và có thể giao tiếp với
các module không có khuếch đại PA và LNA.
- Tích hợp khuếch đại công suất phát PA (power amplifier) và LNA (Low Noise
Amplifier)
- Công suất thu phát: 20dBm
- Tốc độ truyền nhận tối đa: 2Mbit/s
- Chuẩn chân 2×8 tương tự các mạch NRF24L01 không có khuếch đại.
2.4.3. Module joystick

Hình 2. 6: Module Joystick


Module Joystick đơn thường được sử dụng để làm tay cầm hoặc cần điều khiển,
mạch có kích thước nhỏ gọn với bốn lỗ ốc trên mạch rất dễ gá bắt.
Module joytick điều khiển đơn rất dễ sử dụng, chỉ cần cấp nguồn cho mạch, các
tín hiệu trả ra bao gồm tín hiệu Ananog của hai trục X,Y và 1 nút bấm.
Arduino PS2 JoyStick hoạt động giống như nút nhấn trên bàn phím trên tay game
Playstation. Bên trong module là 2 biến trở 10k.
Khi xoay tay cầm trên module thì sẽ thay đổi điện trở thông qua module Analog
ta sẽ biết được giá trị của trục X và trục Y, đồng thời trên module tích hợp thêm 1 nút
nhấn để nhận biết khi nhấn nút xuống.
Thông số Module Joystick đơn
- Nguồn cấp: Tùy chọn, thường cấp 3.3 hoặc 5VDC.
- Kiểu dạng tín hiệu ngõ ra 1 Digital và 2 Analog (1 nút nhấn và hai trục X, Y),
mức tín hiệu theo nguồn cấp vào.
- Kích thước: 4.0cm x 2.6cm x 3.2cm
- Trọng lượng: 12g
2.4.4. Động cơ giảm tốc vàng

37
Hình 2. 7: Động cơ giảm tốc vàng
Động cơ giảm tốc vàng là loại được lựa chọn và sử dụng nhiều nhất hiện nay cho
các thiết kế Robot đơn giản.
Động cơ DC giảm tốc vàng có chất lượng và giá thành vừa phải cùng với khả
năng dễ lắp ráp của nó đem đến chi phí tiết kiệm và sự tiện dụng cho người sử dụng,
các bạn khi mua động cơ giảm tốc vàng có thể mua thêm gá bắt động cơ vào thân
Robot cũng như bánh xe tương thích.
Thông số kỹ thuật
- Điện áp hoạt động: 3-9VDC
- Dòng điện tiêu thụ: 110140mA
- Tỉ số truyền: 1:120
- Số vòng/1phút:
- 50 vòng/ 1 phút tại 3VDC.
- 83 vòng/ 1 phút tại 5VDC.
- Moment: 1.0KG.CM
- Bánh xe V1 được thiết kế để sử dụng với động cơ giảm tốc V1. Bánh xe V1 là
loại bánh được sử dụng nhiều nhất trong các thiết kế robot hiện nay vì có giá
thành phải chăng, chất lượng tốt, dể lắp ráp và ứng dụng trong thiết kế.
- Chất liệu: Nhựa, cao su, mút.
- Đường kính: 65mm.
2.4.5. Mạch hiển thị neopixel ring 12 rgb led ws2812

Hình 2. 8: mạch hiển thị neopixel ring 12 rgb led ws2812


Mạch hiển thị NeoPixel Ring 12 RGB LED WS2812 bao gồm 12 Led RGB
WS2812 giao tiếp nối tiếp qua chuẩn giao tiếp 1 wire (chỉ cần 1 chân data duy nhất),
mạch rất dễ sử dụng với bộ thư viện hỗ trợ đi kèm với khả năng hiển thị của mỗi Led
lên đến 16777216 màu và 256 cấp độ sáng khác nhau, phù hợp cho các ứng dụng trang
trí, hiển thị: đồng hồ led, vòng đeo tay led,…
Thông số mạch hiển thị NeoPixel Ring 12 RGB :
- IC chính: LED RGB WS2812
- Điện áp sử dụng: 4~7VDC (tốt nhất 5VDC)

38
- Cỡ Led: SMD 5050 Led
- Chuẩn giao tiếp: 1 wire.
- Số Led hiển thị: 12
- Sơ đồ chân:
- DI: Data In, chân đầu vào dữ liệu kết nối với Vi điều khiển.
- 5V: Chân nguồn 5VDC, có thể cấp 4~7VDC.
- GND: Chân Mass, 0VDC.
- DO: Data Out, dùng để nối tiếp tín hiệu đến các khối led khác.
2.4.6. Module loa
Thông số kỹ thuật
- Sử dụng transistor 9012.
- Điện áp hoạt động 3v3- 5VDC.
- Kích thước: 3.3x1.3mm.
- Có 3 Chân GND, VCC, I/0 tiện ch việc giao tiếp bên ngoài, gắn vào các module điều
khiển.
- Module sử dụng còi chip 3V3 hoặc 5V.

Hình 2. 9: MODULE LOA


Tính năng
- Báo động
- Mạch chống trộm.
2.4.7. Cảm biến siêu âm hc-sr04

39
Hình 2. 10: Cảm biến siêu âm HC-SR04
Cảm biến siêu âm HC-SR04 (Ultrasonic Sensor) được sử dụng rất phổ biến để
xác định khoảng cách, hoạt động dựa trên nguyên lý phát sóng siêu âm và đo thời gian
mà sóng này phản xạ lại khi va chạm vào vật thể
Cảm biến HC-SR04 sử dụng sóng siêu âm và có thể đo khoảng cách trong
khoảng từ 2 -> 300cm, với độ chính xác gần như chỉ phụ thuộc vào cách lập trình.
VCC (5V), trig (chân điều khiển phát), echo (chân nhận tín hiệu phản hồi), GND
(nối đất)
Cảm biến siêu âm SR04 sử dụng nguyên lý phản xạ sóng siêu âm. Cảm biến gồm
2 module.1 module phát ra sóng siêu âm và 1 module thu sóng siêu âm phản xạ về.
Đầu tiên cảm biến sẽ phát ra 1 sóng siêu âm với tần số 40khz. Nếu có chướng ngại vật
trên đường đi, sóng siêu âm sẽ phản xạ lại và tác động lên module nhận sóng. Bằng
cách đo thời gian từ lúc phát đến lúc nhận sóng ta sẽ tính được khoảng cách từ cảm
biến đến chướng ngại vật.
Các đặc trưng của cảm biến siêu âm:
- Nguyên lý hoạt động : phát ra song siêu âm và đo thời gian để đo khoảng
cách hoặc phát hiện vật thể
Khoảng cách = (thời gian * vận tốc âm thanh (340 m/s) / 2
- Tần số hoạt dộng : hoạt dộng ở tần số khác nhau phụ thuộc vào ứng dụng
cụ thể . Tần số cao thì độ chính xác cao nhưng khoảng cách ngắn , tần số
thấp độ chín hxasc thấp khoảng cách xa hơn
- Độ chính xác và độ phân giải : độ chính xác và dộ phân giải tốt , thường
trong khoảng từ 200 đến 300 cm
- Tính linh hoạt : Kết hợp được với nhiều loại vi điều khiển và board khác
nhau như : rasp, arduino,…
- Điều khiển đơn giản : gởi tín hiệu và nhận tín hiệu từ chân Trig và chân
Echo
- Ứng dụng : dùng trong các hệ thống đo khoảng cách hoặc cách ứng dụng
IOT về đo khoảng cách
Thông số kỹ thuật cảm biến siêu âm hc-sr04
- Điện áp: 5V DC
- Dòng hoạt động: < 2mA
- Mức cao: 5V
- Mức thấp: 0V
- Góc tối đa: 15 độ
- Khoảng cách: 2cm – 450cm (4.5m)
40
- Độ chính xác: 3mm
2.4.8. Mạch điều khiển động cơ dc l298n

Hình 2. 11: Mạch điều khiển động cơ DC L298N


Mạch điều khiển động cơ DC L298N có khả năng điều khiển 2 động cơ DC,
dòng tối đa 2A mỗi động cơ, mạch tích hợp diod bảo vệ và IC nguồn 7805 giúp cấp
nguồn 5VDC cho các module khác (chỉ sử dụng 5V này nếu nguồn cấp <12VDC).
Mạch điều khiển động cơ DC L298N dễ sử dụng, chi phí thấp, dễ lắp đặt, là sự
lựa chọn tối ưu trong tầm giá.
Thông số kỹ thuật
- IC chính: L298 – Dual Full Bridge Driver
- Điện áp đầu vào: 5~30VDC
- Công suất tối đa: 25W 1 cầu (lưu ý công suất = dòng điện x điện áp nên áp
cấp vào càng cao, dòng càng nhỏ, công suất có định 25W).
- Dòng tối đa cho mỗi cầu H là: 2A
- Mức điện áp logic: Low -0.3V~1.5V, High: 2.3V~Vss
- Kích thước: 43x43x27mm
2.5 Thiết kế mạch cho hệ thống

41
Hình 2. 12: Mạch thiết kế ra chân hệ thống

Hình 2. 13: Sơ đồ kết nối bộ điều khiển

42
CHƯƠNG 3. THIẾT KẾ PHẦN MỀM VÀ KẾT QUẢ

3.1 Lưu đồ thuật toán


3.1.1 Sơ đồ thuật toán tổng hệ thống

3.1.2 Sơ đồ thuật toán của bộ điều khiên

43
3.1.3 Sơ đồ thuật toán của xe

3.2 Kết quả đạt được

3.2.1 Mô hình bộ điều khiển


3.2.2 Mô hình xe điều khiển

44
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Kết luận
Sau khoảng thời gian tháng tìm hiểu và nghiên cứu, nhóm chúng em đã hoàn thành
được mục tiêu ban đầu mà đề tài đặt ra là: "Điều Khiển Giám Sát Xe Tự Động Bằng
Sóng RF". Qua đó tích lũy được cho bản thân vốn kiến thức có ích về thiết kế và chế
tạo mô hình thực tế chạy thời gian thực, cụ thể là thiết bị phát hiện chướng ngại vật và
cảnh báo sớm cho tài xế. Bên cạnh đó là sự tiếp cận về ngôn ngữ lập trình hiện đại.
Thông qua lần làm đồ án tốt nghiệp này, nhóm chúng em đã có cơ hội cũng cố lại
khối kiến thức đã được học trong khoảng thời gian 4 năm qua. Vận dụng và áp dụng
khá thành công những kiến thức này vào tình hình thực tế. Cũng thông qua sự hỗ trợ
nhiệt tình và ân cần của thầy …., nhóm chúng em đã nắm bắt được các cách tổ chức,
làm việc hiệu quả, thay đổi các suy nghĩ theo lối mòn, bước ra khỏi các khuôn khổ giới
hạn để được những thành quả mới, tạo thành những hành trang hữu ích cho quá trình
làm việc sau này. Một lần nữa, nhóm chúng em xin gởi lời cảm ơn chân thành đến
thầy ….
Hướng phát triển
Đề tài về việc điều khiển xe tránh vật cản sử dụng sóng RF không chỉ là một lĩnh
vực nghiên cứu đầy hứa hẹn mà còn đặt ra nhiều thách thức đáng kể trong việc phát
triển các hệ thống tự động và thông minh. Để khám phá và giải quyết những thách
thức này, nhiều hướng phát triển có thể được xem xét.
Một trong những điểm chính cần tập trung là phát triển và cải tiến cảm biến RF,
là trái tim của hệ thống. Sự nhạy bén và chính xác của cảm biến sẽ ảnh hưởng trực tiếp
đến khả năng nhận biết và đo lường vật cản. Việc áp dụng kỹ thuật beamforming có
thể là một giải pháp để tăng cường độ chính xác và hiệu suất của cảm biến RF.
Đồng thời, việc phát triển thuật toán thông minh để xử lý dữ liệu từ cảm biến RF
là quan trọng. Sự tích hợp của trí tuệ nhân tạo vào thuật toán có thể cải thiện khả năng
dự đoán và phản ứng của hệ thống, giúp xe tự lái trở nên linh hoạt và an toàn hơn
trong môi trường đa dạng.
Ngoài ra, để nâng cao khả năng nhận biết môi trường, việc kết hợp nhiều loại
cảm biến như camera, lidar và ultrasonic cũng là một hướng đi có tiềm năng lớn. Sự đa
dạng này không chỉ mở rộng phạm vi nhận biết mà còn giảm thiểu sai sót có thể xuất
hiện khi chỉ sử dụng một loại cảm biến.
Với những nghiên cứu và phát triển chặt chẽ, đề tài này có thể không chỉ đưa ra
những đóng góp quan trọng cho lĩnh vực xe tự lái mà còn mở ra những triển vọng mới
trong phát triển các hệ thống an toàn và thông minh trong giao thông.

45
TÀI LIỆU THAM KHẢO

https://vietmap.vn/he-thong-an-toan-tren-xe-o-to
https://icpdas.com.vn/arduino-la-gi/
https://mecsu.vn/ho-tro-ky-thuat/song-rf-radio-frequency-ung-dung-phan-loai-song-
2023.3rL
https://dientutuonglai.com/phan-mem-proteus.html
https://dientutuonglai.com/gioi-thieu-arduino-nano.html
https://mona.media/cpp-la-gi/

46
PHỤ LỤC

47

You might also like