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

Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone

122 14 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 Công Và Thiết Kế Mô Hình Xe Tự Hành Theo Chỉ Dẫn Từ Smartphone
Tác giả Nguyễn Văn Nam, Trương Hoàng Phú
Người hướng dẫn ThS. Nguyễn Văn Hiệp
Trường học Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
Chuyên ngành Công Nghệ Kỹ Thuật Điện Tử - Truyền Thông
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2016
Thành phố TP. HỒ CHÍ MINH
Định dạng
Số trang 122
Dung lượng 8,18 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một phương tiệngiao thông thông minh được trang bị các thiết bị và cảm biến để thông báo cho tài xếbiết tình trạng của xe và hiện đại hơn nữa là một hệ thống xe tự hành và đó là lý donhó

Trang 1

ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG

THI CÔNG VÀ THIẾT KẾ MÔ HÌNH XE TỰ HÀNH

THEO CHỈ DẪN TỪ SMARTPHONE

GVHD: ThS.NGUYỄN VĂN HIỆP SVTH: NGUYỄN VĂN NAM MSSV: 12141143

SVTH: TRƯƠNG HOÀNG PHÚ MSSV: 12141171

SKL004497

Tp Hồ Chí Minh, tháng 07/2016

Trang 2

Bộ Môn Điện Tử Công Nghiệp

Tp Hồ Chí Minh, ngày tháng năm 2015

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP

Họ tên sinh viên 1: Trương Hoàng Phú

Họ tên sinh viên 2: Nguyễn Văn Nam

Tên đề tài: Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ Smartphone

Tuần 1 Tìm giáo viên hướng dẫn, trình bày và chọn đề

tài

Tuần 2 Đề cương chi tiết về các nội dung cần nghiên cứu,

tìm mua mô hình xe

Tuần 3  Đề ra hướng giải quyết nhằm đáp ứng các yêu

cầu đề ra ban đầu

 Tiếp tục tìm mua mô hình xe phù hợp (nếuchưa có)

 Giao thức truyền thông Internet Client – Server

 Cách sử dụng máy chủ ảo Google

Spreadsheets

 Hệ thống định vị toàn cầu GPS.

Tuần 4+5  Nghiên cứu VĐK ARM STM32F10x, đại

cương về KIT STM32F103VET6

 Nghiên cứu cách điều khiển module ArduinoNano

 Tìm hiểu cách sử dụng và giao tiếp giữa viđiều khiển với các module và cảm biến có sửdụng

Tuần 6+7+8+9  Tương tác dữ liệu giữa vi điều khiển ARM với

máy chủ và điện thoại với máy chủ

 Nghiên cứu cơ bản về hệ điều hành Android.

 Tích hợp Google Maps API, Places API vào

trong Android Project

 Viết ứng dụng điều khiển, giám sát và thiết lậphoạt động cho xe

Trang 3

 Hoàn thành mô hình.

Trang 4

sản phẩm.

Tuần 14+15 Viết báo cáo, tạo slide báo cáo

Tuần 16 Hoàn thành đề tại, tiến hành bảo vệ đề tài

GV HƯỚNG DẪN(Ký và ghi rõ họ và tên)

Trang 5

BÔ MÔN ĐIỆN TỬ CÔNG NGHIỆP

PHIẾU ĐÁNH GIÁ KHÓA LUẬN TỐT NGHIỆP

I Thông tin chung

- Tên đề tài: THI CÔNG VÀ THIẾT KẾ MÔ HÌNH XE TỰ HÀNH THEO CHỈ DẪN

TỪ SMARTPHONE

- Họ và tên giáo viên hướng dẫn: Nguyễn Văn Hiệp

II Nhận xét về khóa luận

2.1 Đánh giá chung (hoàn thành bao nhiêu phần trăm mục tiêu của đề tài):

2.2 Ưu điểm của đề tài:

2.3 Khuyết điểm của đề tài:

2.4 Thái độ làm việc của sinh viên:

2.5 Kết quả chính thu được:

2.6 Đề nghị: Được bảo vệ Không được bảo vệ

Tp HCM, ngày … tháng… năm 2016

Giáo viên hướng dẫn

(Ký và ghi rõ họ tên)

Trang 6

1. Thông tin sinh viên

Họ và tên: Trương Hoàng Phú MSSV: 12141171

Tel: 01685503078 Email: 12141171@student.hcmute.edu.vn

Họ và tên: Nguyễn Văn Nam MSSV: 12141143

Tel: 0979963624 Email: 12141143@student.hcmute.edu.vn

2. Thông tin đề tài

Tên của đề tài: THI CÔNG VÀ THIẾT KẾ MÔ HÌNH XE TỰ HÀNH

THEO HƯỚNG DẪN TỪ SMARTPHONE.

Mục đích của đề tài: cũng cố các kiến thức chuyên ngành cũng như trao dồi các kiến thứcmới và các kỹ năng để chuẩn bị cho các công việc sắp tới sau khi tốt nghiệp Thiết kế ra một sản phẩm công nghệ có tiềm năng phát triển trong tương lai tại Việt Nam trong lĩnh vực giao thông vận tải

Đồ án tốt nghiệp được thực hiện tại: Bộ môn Điện Tử Công Nghiệp, Khoa Điện - Điện

Tử, Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh

Thời gian thực hiện: Từ ngày 21/3/2016 đến 7/7/2016

- Tìm hiểu hệ thống định vị toàn cầu GPS

- Nghiên cứu VĐK ARM STM32F10x, đại cương về KIT STM32F103VET6 Viếtchương trình điều khiển cho VĐK này bằng phần mềm KeilC v5, khai báo sử dụng các ngoạivi

- Nghiên cứu cách điều khiển KIT Arduino Nano, viết chương trình điều khiển cho

nó với Arduino IDE

- Tìm hiểu cách sử dụng các module cảm biến, giao tiếp chúng với vi điều khiển đểthực hiện các chức năng như định vị, tránh vật cản tĩnh, xác định hướng đi

- Nghiên cứu và ứng dụng giao thức truyền thông Client – Server

- Tìm hiểu cách sử dụng Google Spreadsheets (máy chủ ảo)

- Tìm hiểu hệ điều hành Android, cách sử dụng phần mềm Android Studio

- Viết ứng dụng điện thoại để điều khiển, giám sát và thiết lập hoạt động cho mô hình Đăng ký API Key cho ứng dụng

- Tính toán thiết kế và thi công các mạch chức năng (nguồn, công suất)

- Thi công mô hình hoàn chỉnh

- Vận hành thử mô hình

- Cân chỉnh mô hình

- Viết cuốn báo cáo đề tài

- Báo cáo đề tài tốt nghiệp

Trang 7

nghiên cứu của chúng tôi dưới sự hướng dẫn Thạc sỹ Nguyễn Văn Hiệp.

Các kết quả công bố trong ĐATN là trung thực và không sao chép từ bất kỳ công trình nào khác

Trang 8

Đề tài này là do chúng tôi tự thực hiện dựa vào một số tài liệu và không sao chép từ tài liệu hay công trình đã có trước đó Nếu có bất kỳ sự gian lận nào chúng tôi xin chịu tráchnhiệm về nội dung đồ án của mình.

TP.HCM, ngày 7 tháng 7 năm 2016

Người thực hiện

Nguyễn Văn Nam Trương Hoàng Phú

Trang 9

Chúng em xin chân thành cảm ơn quý thầy, cô Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM đã tận tình dạy dỗ chúng em trong suốt những năm qua Trong đó phải kểđến quý thầy cô trong khoa Điện – Điện Tử đã truyền đạt những kiến thức, kinh nghiệm cùng với sự đam mê của mình như đốt lên những ngọn lửa đam mê khám phá trong mỗi chúng em và rồi từ những kiến thức, đam mê đó chúng em kết lại thành một đồ án cuối cùng, đồ án tốt nghiệp do chính tay mình tạo ra, nó như một bàn đạp đầu tiên để bước vàonhững cánh cửa lớn hơn.

Đặc biệt, nhóm xin chân thành cảm ơn thầy Nguyễn Văn Hiệp đã tận tình giúp đỡchúng em trong quá trình lựa chọn đề tài và hỗ trợ chúng em trong quá trình thực hiện đềtài Trong quá trình thực hiện đồ án cũng xảy ra nhiều khó khăn, thiếu sót nhưng được sựđôn đốc và góp ý của thầy chúng em đã gặt hái được nhiều kiến thức và kinh nghiệm.Một lần nữa chúng em xin cảm ơn thầy Bên cạnh đó, nhóm chúng em xin cảm ơn thầyNguyễn Đình Phú, thầy Nguyễn Tấn Như đã cho chúng em mượn phòng D401 để thamkhảo tài liệu và thực hiện đồ án Và cũng gửi lời cảm ơn đến những người bạn đã đónggóp ý kiến, động viên tinh thần giúp cho nhóm thực hiện đề tài đạt hiệu quả hơn

Cuối cùng, chúng con chân thành cảm ơn sự động viên và hỗ trợ của gia đình vàcha mẹ trong suốt thời gian học tập Chúng con xin gửi lời cảm ơn trân trọng nhất đến cha mẹ, người đã sinh ra và nuôi dưỡng chúng con nên người cũng như là tạo điều kiệnthuận lợi để chúng con có thể hoàn thành đề tài của mình

TP.HCM, ngày 7 tháng 7 năm 2016

Sinh viên thực hiện đồ án

Nguyễn Văn Nam Trương Hoàng Phú

Trang 10

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

LIỆT KÊ HÌNH VẼ v

LIỆT KÊ BẢNG vii

TÓM TẮT viii

Chương 1 TỔNG QUAN 1

1.1 ĐẶT VẤN ĐỀ 1

1.2 MỤC TIÊU 2

1.3 NỘI DUNG NGHIÊN CỨU 2

1.4 GIỚI HẠN 2

1.5 BỐ CỤC 3

Chương 2 CƠ SỞ LÝ THUYẾT 4

2.1 HỆ THỐNG ĐỊNH VI TOÀN CẦU (GPS) VÀ HỆ TOẠ ĐỘ ĐỊA LÝ 4

2.2 GIAO THỨC HTTP– TCP/IP 9

2.2.1 TCP/IP 9

2.2.2 GIAO THỨC HTTP 10

2.3 HỆ ĐIỀU HÀNH ANDROID 15

2.3.1 TỔNG QUAN 15

2.3.2 GIỚI THIỆU VỀ NỀN TẢNG CỦA HỆ ĐIỀU HÀNH ANDROID: 16

Chương 3 TÍNH TOÁN VÀ THIẾT KẾ 24

3.1 TỔNG QUAN VỀ YÊU CẦU THIẾT KẾ HỆ THỐNG 24

3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 25

3.2.1 THIẾT KẾ SƠ ĐỒ ĐIỀU KHIỂN 26

3.2.2 TÍNH TOÁN VÀ THIẾT KẾ MÔ HÌNH XE 27

3.2.3 SERVER INTERNET 41

3.2.4 PHẦN MỀM ỨNG DỤNG TRÊN ĐIỆN THOẠI 45

Chương 4 THI CÔNG HỆ THỐNG 49

4.1 THI CÔNG HỆ THỐNG: 49

4.1.1 BOARD ĐIỀU KHIỂN 49

4.1.2 GIAO TIẾP MODULE WIFI VỚI WEB SERVER (GOOGLE SPREADSHEET) 50

4.2 LẬP TRÌNH BOARD ĐIỀU KHIỂN 54

4.2.1 NỘI DUNG CHƯƠNG TRÌNH ĐIỀU KHIỂN 54

Trang 11

4.3 LẬP TRÌNH ỨNG DỤNG TRÊN ANDROID 68

4.3.1 NỘI DUNG CHƯƠNG TRÌNH ANDROID 68

4.3.2 LƯU ĐỒ GIẢI THUẬT 69

4.3.3 PHẦN MỀM ANDROID STUDIO 73

4.3.4 CHƯƠNG TRÌNH TRÊN ANDROID. 74

4.4 HƯỚNG DẪN SỬ DỤNG VÀ VẬN HÀNH HỆ THỐNG 87

4.4.1 HỆ THỐNG XE 87

4.4.2 PHẦN MỀM ĐIỆN THOẠI 87

Chương 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 90

5.1 SẢN PHẨM SAU KHI HOÀN THÀNH 90

5.1.1 MÔ HÌNH XE 90

5.1.2 ỨNG DỤNG TRÊN ĐIỆN THOẠI 91

5.2 KẾT QUẢ CHẠY HỆ THỐNG 93

5.2.1 MÔ HÌNH XE 93

5.2.2 ỨNG DỤNG TRÊN ĐIỆN THOẠI 97

5.2.3 CLOUD SERVER (GOOGLE SPREADSHEETS) 98

5.3 KIẾN THỨC CÓ ĐƯỢC TRONG QUÁ TRÌNH THIẾT KẾ SẢN PHẨM 98

Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 99

6.1 KẾT LUẬN 99

6.2 HƯỚNG PHÁT TRIỂN 99

TÀI LIỆU THAM KHẢO 100

PHỤ LỤC 101

Trang 12

Hình Trang

Hình 2.1: Cách sắp xếp kinh độ và vĩ độ trên trái đất 6

Hình 2.2: Phân bố kinh tuyến trên trái đất 7

Hình 2.3: Biểu thức toạ độ của tích vô hướng 8

Hình 2.4: Biểu diễn đoạn đường di chuyển AD trên mặt phẳng toạ độ 9

Hình 2.5: Mô hình truyền dữ liệu của TCP/IP 10

Hình 2.6: Mô hình truyền thông Client – Server 11

Hình 2.7: Cấu trúc của một URL. 12

Hình 2.8: Quy trình hoạt động của kết nối HTTP 13

Hình 2.9: Cú pháp của một HTTP yêu cầu 14

Hình 2.10: Cú pháp của một HTTP trả lời 15

Hình 2.11: Kiến trúc của HĐH Android 16

Hình 2.12: Nội dung mặc định của một Manifest.xml 17

Hình 2.13: Nội dung mặc định của một tập tin java 18

Hình 2.14: Tạo một Activity mới. 18

Hình 2.15: Vòng đời của một Activity 19

Hình 2.16: Chuyển đổi giữa 2 Activity 20

Hình 2.17: Vòng đời của một Service 21

Hình 2.18: Một số thiết bị/cảm biến định vị GPS 21

Hình 2.19: Một số thiết bị/cảm biến đo khoảng cách 22

Hình 2.20: Xử lý ảnh cho xe ô tô 22

Hình 2.21: Cảm biến la bàn số HMC5883L 22

Hình 3.1: Sơ đồ khối của hệ thống. 25

Hình 3.2: Sơ đồ điều khiển. 26

Hình 3.3: Mô hình xe. 27

Hình 3.4: Hình dáng và sơ đồ mạch điện bên trong của TIP122. 28

Hình 3.5: Sơ đồ nguyên lý của khối khuếch đại công suất. 29

Hình 3.6: Hình module ESP8266-01 30

Hình 3.7: Module GPS Ublox Neo 7M. 31

Hình 3.8: Module cảm biến HMC5883L 32

Hình 3.9: Vector lực từ tại điểm đo 32

Hình 3.10: Hình ảnh thực tế cảm biến siêu âm SRF-05 33

Hình 3.11: Dạng sóng điều khiển và phản hồi của SRF-05 34

Hình 3.12: Dạng sóng điều khiển động sơ RC Servo 9G. 34

Hình 3.13: Khung truyền của UART 36

Hình 3.14: IC ổn áp 5V LM7805. 38

Hình 3.15: Sơ đồ kết nối IC ổn áp 5V LM7805. 38

Hình 3.16: Hình ảnh thực tế IC AMS1117 38

Hình 3.17: Sơ đồ kết nối IC AMS1117 39

Hình 3.18: Sơ đồ mạch của khối nguồn. 40

Hình 3.19: Sơ đồ nguyên lý phần kết nối. 40

Hình 3.20: Sơ đồ nguyên lý phần mạch công suất. 41

Hình 3.21: Giao diện của một Spreadsheet 42

Hình 3.22: Tạo một Google Form mới. 43

Trang 13

Hình 3.26: Form hoàn chỉnh 44

Hình 3.27: Giới thiệu 45

Hình 3.28:Trợ giúp 46

Hình 3.29: Cảnh báo(trái), Hoàn thành(phải) 46

Hình 3.30: Điều khiển. 47

Hình 4.1: Sơ đồ mạch in phần mạch nguồn 50

Hình 4.2: Sơ đồ mạch in phần mạch công suất. 50

Hình 4.3: Lỗi 400 Bad Request từ máy chủ 51

Hình 4.4: DeviceID 52

Hình 4.5: Máy chủ cập nhật dữ liệu mới được yêu cầu. 52

Hình 4.6: Máy chủ chứa dữ liệu đường đi. 53

Hình 4.7: Dữ liệu trả về từ máy chủ khi được yêu cầu 53

Hình 4.8: Dữ liệu nhận về ESP8266 54

Hình 4.9: Chọn dòng Arm sử dụng 63

Hình 4.10: Thêm thư viện vào project 64

Hình 4.11: Thêm file.h vào 64

Hình 4.12 : Biên dịch và nạp code 65

Hình 4.13: Chọn thiết bị và phiên bản Android 74

Hình 4.14: Hoàn tất tạo project 74

Hình 4.15: Biểu tượng của ứng dụng. 87

Hình 4.16: Giao diện khởi động ứng dụng 87

Hình 4.17: Giao diện hướng dẫn sử dụng ứng dụng 87

Hình 4.18: Tìm kiếm điểm đến. 88

Hình 4.19: Hiển thị quãng đường 88

Hình 4.20: Thông báo hoàn thành quãng đường. 89

Hình 4.21: Cảnh báo sự cố. 89

Hình 5.1: Board mạch sau khi đã in và lắp ráp linh kiện 90

Hình 5.2: Mô hình xe sau khi đã hoàn thành 91

Hình 5.3: Biểu tượng của ứng dụng. 91

Hình 5.4: Giao diện khởi động ứng dụng và hướng dẫn sử dụng 92

Hình 5.5: Giao diện tìm kiếm điểm đến. 92

Hình 5.6: Giao diện hiển thị lộ trình xe sẽ chạy 92

Hình 5.7: Thông báo hoàn thành quãng đường. 93

Hình 5.8: Cảnh báo sự cố. 93

Hình 5.9: Dữ liệu các lộ trình. 96

Trang 14

Bảng Trang

Bảng 4.1: Liệt kê linh kiện sử dụng trên board 49

Trang 15

Giao thông thông minh hay thành phố thông mình, những thuật ngữ không cònquá xa lạ trên thế giới và tại Việt Nam thì nó đã dần hình thành một cái nhìn ngày càng

rõ nét hơn về một cuộc sống đầy văn minh trong tương lai Xe tự hành là một trongnhững dự án nhằm xây dựng một hệ thống giao thông thông minh

Sự ra đời của các thiết bị điều khiển từ xa là bược ngoạt lớn cho nền KH-KT củanhân loại Xe điều khiển từ xa là một trong số đó, người dùng có thể thoải mái điềukhiển xe theo ý mình mà không cần phải lại gần Dần dần, khoảng cách điều khiểnngày càng được tăng xa hơn và dần vụt khỏi tầm mắt của con người Lúc này có mộtgiải pháp đặt ra là thiết lập một dữ liệu quãng đường hẵn hoi để xe tự chạy, ngoài ra nócũng sẽ được trang bị đầy đủ các hệ thống cảm biến, phân tích dữ liệu để giúp chạy xe

an toàn và tuân thủ luật lệ giao thông Đây là một chủ đề khó nhưng không phải làkhông thể làm được, nếu thành công thì nó sẽ đem lại rất nhiều lợi ích cho nước nhà(giảm thiểu tai nạn giao thông, giảm thiểu các chi phí y tế, tiết kiệm nhiên liệu, tiếtkiệm thời gian và bảo vệ môi trường) Đó chính là lý do nhóm em chọn đề tài: Thiết kế

và thi công mô hình xe tự hành theo chỉ dẫn từ Smartphone Mô hình này có khả năng

đi đến một điểm bất kỳ trên bản đồ giao thông nhờ khả năng định vị và xác địnhhướng Bên cạnh đó, chức năng tránh vật cản sẽ hỗ trợ xe vận hành an toàn không vachạm và toàn bộ sẽ được thiết lập và giám sát trên Smartphone, mọi lúc mọi nơi đềubiết được xe đang ở đâu, đang đi đâu

Với đề tài này, nhóm em mong muốn đề tài này sẽ là cơ sở nền tảng bước đầucho các nhóm sau có chung ý tưởng tiếp tục thực hiện Nếu thành công, chắc chắn sẽ

là một bước tiến mạnh mẽ của nền KH-KT Việt Nam và hơn nữa nó sẽ giúp phát triểnngành giao thông vận tải của nước nhà lên một tầm cao mới

Trang 16

Chương 1 TỔNG QUAN

1.1 ĐẶT VẤN ĐỀ

Ngày nay sự tiến bộ của KH-KT đã mang đến cho con người một cuộc sống ngàycàng văn minh và lý tưởng hơn Cũng không quá lắm khi nói như thế vì, ngày càng cónhiều thiết bị “thông minh” được ra đời nhằm giúp con người trong mọi lĩnh vực(công-nông nghiệp, dịch vụ,…) và giao thông là một trong số đó Một phương tiệngiao thông thông minh được trang bị các thiết bị và cảm biến để thông báo cho tài xếbiết tình trạng của xe và hiện đại hơn nữa là một hệ thống xe tự hành và đó là lý donhóm em chọn đề tài này để thực hiện

“Xe tự hành không còn là viễn tưởng, không lâu nữa nó sẽ có mặt rộng rãi trêntoàn cầu. Mercedes - Benz, BMW, Tesla đã và đang chuẩn bị ra mắt những mẫu xe

được giới thiệu có khả năng tự vận hành và mạnh mẽ nhất là Google, họ đã tuyên bố đang chạy thử nghiệm các mẫu xe tự hành trên đường phố California từ hè năm 2015.

Xe tự hành được chia ra thành 2 loại chính là bán tự động và hoàn toàn tự động:

 Loại xe hoàn toàn tự động là những mẫu xe có thể di chuyển từ điểm A đến điểm

B và tự xử lý các tình huống gặp phải trên đường mà không cần đến con người

 Loại xe bán tự động là những loại xe chỉ có một số hệ thống tự động được trang

bị bên trong xe, nó đòi hỏi lúc nào cũng phải có tài xế và những hệ thống này nhằm hỗ trợtài xế lưu thông xe an toàn hơn

Xe hơi có tính năng lái tự động sẽ ra mắt thị trường vào năm 2019.“Theo Tổ

chức IHC Automotive thì ước tính doanh số bán xe tự hành sẽ tăng lên 11,8 triệu chiếcvào năm 2035 Trong số này, 7 triệu xe sẽ thuộc dạng bán tự hành, và 4,8 triệu xe hoàntoàn di chuyển tự động.”

Những xe tự hành sẽ giúp giảm thiểu một cách đáng kể tai nạn giao thông haygiảm bớt gánh nặng mà người điều khiển phải chịu đựng trên đường cao tốc hay khitắc đường bởi tất cả đều được tự động hóa Hệ thống xe tự hành sẽ giúp từ việc pháthiện điểm mù, cảnh báo làn đường khi khởi hành đến quản lý gia nhập làn đường vàthậm chí tự đậu xe,

Hầu hết các nguyên nhân chính gây ra tai nạn giao thông chính là từ người tài xế

Trang 17

năng làm chủ trên đường bởi nhiệm vụ này sẽ được máy tính phụ trách Thật khó khi

kỳ vọng vào mức độ giảm thiểu tai nạn sẽ là 100% nhưng xe tự hành sẽ thay đổi đáng

kể con số chục ngàn trường hợp tử vong xảy ra mỗi năm tại nhiều quốc gia

1.2 MỤC TIÊU

Về phần xe: hoàn thành một mô hình xe tự hành, xe sẽ được kết nối Enthernet để

giao tiếp với smartphone, kết nối giao tiếp với các module và cảm biến, tự động chạyđến được một vị trí đã được đặt trước bằng smartphone và tự tránh các vật cản tĩnhtrên đường đi

Về phần ứng dụng điện thoại: thiết kế và viết một ứng dụng hoàn chỉnh chạy

trên hệ điều hành Android, giao tiếp truyền nhận dữ liệu với mô hình xe, tích hợp cácphương thức của Google Maps để thực hiện việc tìm kiếm địa điểm, đường đi, lấy cácthông tin chỉ dẫn về đường đi gửi về mô hình xe

1.3 NỘI DUNG NGHIÊN CỨU

 Nội dung 1: Tìm hiểu hệ thống định vị toàn cầu GPS

 Nội dung 2: Nghiên cứu VĐK ARM STM32F10x, đại cương về KIT

STM32F103VET6

 Nội dung 3: Nghiên cứu giao tiếp VĐK với các module, cảm biến và truyền

nhận dữ liệu thông qua Enthernet

 Nội dung 4: Nghiên cứu module cảm biến la bàn, cảm biến khoảng cách

 Nội dung 5: Tìm hiểu hệ điều hành Android.

 Nội dung 6: Viết ứng dụng điều khiển xe, hiển thị tọa độ GPS, lộ trình di

chuyển trên giao diện Google Maps, thiết kế giao diện điều khiển

 Nội dung 7: Thiết kế mô hình

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

1.4 GIỚI HẠN

 Phụ thuộc hoàn toàn vào độ chính xác của các cảm biến

 Độ chính xác của định vị còn hạn chế, sai số khoảng 2-2,5m

 Xuất hiện thời gian trễ của việc truyền dữ liệu giữa điện thoại và xe.

 Không tránh được vật cản động.

Trang 18

 Chưa tuân thủ luật giao thông.

1.5 BỐ CỤC

Chương 3: Thiết Kế và Tính Tóan

Chương 5: Kết Quả, Nhận Xét và Đánh Giá

Chương 6: Kết Luận và Hướng Phát Triển

Chương 1: Tổng Quan.

Chương này trình bày vấn đề dẫn nhập, lý do chọn đề tài, mục tiêu, nội dung

nghiên cứu, các giới hạn và bố cục đồ án

Chương 2: Cơ Sở Lý Thuyết.

Giới thiệu các linh kiện, thiết bị sử dụng thiết kế hệ thống, các chuẩn truyền, giaothức

Chương 3: Tính Toán Và Thiết Kế Hệ Thống.

Tính toán thiết kế, đưa ra sơ đồ nguyên lí của hệ thống

Chương 4: Thiết Kế Hệ Thống.

Thiết kế hệ thống, lưu đồ, đưa ra giải thuật và chương trình

Chương 5: Kết Quả, Nhận Xét, Đánh Giá.

Đưa ra kết quả đạt được sau một thời gian nghiên cứu, một số hình ảnh của hệ

thống, đưa ra những nhận xét, đánh giá toàn bộ hệ thống

Chương 6: Kết Luận và Hướng Phát Triển.

Trình bày những kết luận về hệ thống những phần làm rồi và chưa làm, đồng thờinếu ra hướng phát triển cho hệ thống

Trang 19

Chương 2 CƠ SỞ LÝ THUYẾT

2.1 HỆ THỐNG ĐỊNH VI TOÀN CẦU (GPS) VÀ HỆ TOẠ ĐỘ ĐỊA LÝ

Hệ thống định vị toàn cầu (Global Positioning System – GPS) là hệ thống xác định vị

trí dựa trên vị trí của các vệ tinh nhân tạo, do Bộ Quốc phòng Hoa Kỳ thiết kế, xây dựng, vận hành

và quản lý Trong cùng một thời điểm, tọa độ của một điểm trên mặt đất sẽ được xác định nếu xácđịnh được khoảng cách từ điểm đó đến ít nhất ba vệ

tinh[3]

Các vệ tinh GPS bay vòng quanh Trái Đất hai lần trong một ngày theo một quỹđạo rất chính xác và phát tín hiệu có thông tin xuống Trái Đất Các máy thu GPS nhậnthông tin này và bằng phép tính lượng giác tính được chính xác vị trí của người dùng

Về bản chất máy thu GPS so sánh thời gian tín hiệu được phát đi từ vệ tinh với thờigian nhận được chúng Sai lệch về thời gian cho biết máy thu GPS ở cách vệ tinh bao

xa Rồi với nhiều quãng cách đo được tới nhiều vệ tinh máy thu có thể tính được vị trícủa người dùng và hiển thị lên bản đồ điện tử của máy

Ứng Dụng của GPS: Ứng dụng của GPS là rất lớn, ngoài chức năng định vị trên các

thiết bị cá nhân và quân sự thì các nó cũng được ứng dụng rất nhiều trên các

phương tiện giao thông:

Lưu trữ lộ trình từng xe và hiển thị lại lộ trình của từng xe trên cùng mộtmàn hình

Xem lại lộ trình xe theo thời gian và vận tốc tùy chọnQuản lý theo dõi một hay nhiều xe tại mỗi thời điểmBáo cáo cước phí và tổng số km của từng xe (ngày/tháng)Cảnh báo khi xe vượt quá tốc độ, vượt ra khỏi vùng giới hạn

Trang 20

 Chức năng chống trộm.

Hệ toạ độ địa lý: là một hệ tọa độ cho phép tất cả mọi điểm trên Trái Đất đều có thể

xác định được bằng một tập hợp các số có thể kèm ký hiệu Các tọa độ thường gồm số biểu diễn vịtrí thẳng đứng, và hai hoặc ba số biểu diễn vị trí nằm ngang Hệ tọa độ

phổ biến hiện nay là hệ hệ tọa độ cầu tương ứng với tâm Trái Đất với các tọa độ là vĩ

độ, kinh độ và cao độ

Vĩ độ (ký hiệu: φ) của một điểm bất kỳ trên mặt Trái Đất là góc tạo thành) của một điểm bất kỳ trên mặt Trái Đất là góc tạo thành

giữa đường thẳng đứng (phương của dây dọi, có đỉnh nằm ở tâm hệ tọa độ-chính là trọngtâm của địa cầu) tại điểm đó và mặt phẳng tạo bởi xích đạo Đường tạo bởi các điểm cócùng vĩ độ gọi là vĩ tuyến, và chúng là những đường tròn đồng tâm trên bề mặt Trái Đất.Mỗi cực là 90 độ: cực bắc là 90° B; cực nam là 90° N Vĩ tuyến 0° được chỉ định là đườngxích đạo, một đường thẳng tưởng tượng chia địa cầu thành Bán cầu bắc và Bán cầu nam

Kinh độ (ký hiệu: λ) của một điểm trên bề mặt Trái Đất là góc tạo ra giữa) của một điểm trên bề mặt Trái Đất là góc tạo ra giữa

mặt phẳng kinh tuyến đi qua điểm đó và mặt phẳng kinh tuyến gốc Kinh độ có thể là kinh

độ đông hoặc tây, có đỉnh tại tâm hệ tọa độ, tạo thành từ một điểm trên bề mặt Trái Đất vàmặt phẳng tạo bởi đường thẳng ngẫu nhiên nối hai cực bắc nam địa lý Những đường thẳngtạo bởi các điểm có cùng kinh độ gọi là kinh tuyến Tất cả các kinh tuyến đều là nửa đườngtròn, và không song song với nhau: theo định nghĩa, chúng hội tụ tại hai cực bắc và nam.Đường thẳng đi qua Đài Thiên văn Hoàng gia

Greenwich (gần London ở Liên hiệp Vương quốc Anh và Bắc Ireland) là đường thamchiếu có kinh độ 0° trên toàn thế giới hay còn gọi là kinh tuyến gốc Kinh tuyến đốicực của Greenwich có kinh độ là 180°T hay 180°Đ

B MÔN ĐI N T CÔNG NGHI P Ộ MÔN ĐIỆN TỬ CÔNG NGHIỆP ỆN TỬ CÔNG NGHIỆP Ử CÔNG NGHIỆP ỆN TỬ CÔNG NGHIỆP 5

Trang 21

Hình 2.1 Cách sắp xếp kinh độ và vĩ độ trên trái đất.

Phương pháp xác định quãng đường và góc giữa hai toạ độ địa lý với cực bắc

của trái đất:

Sự phân bố các vĩ tuyến không giống như các kinh tuyến, các mặt phẳng tạo bởi các

vĩ tuyến luôn song song với nhau trong khi các mặt phẳng được tạo bởi các kinh tuyếnlại cắt nhau trên đường thẳng đi qua trục của trái đất, vậy nên giá trị khoảng cách củamột đơn vị vĩ độ sẽ luôn bằng nhau tại mọi vị trí trên trái đất còn giá trị khoảng cáchcủa một đơn vị kinh độ sẽ nhỏ nhất ở hai cực và lớn nhất khi ở xích đạo Do vậy, tuỳvào vị trí đang xét mà ta có các thông số tính khác nhau

Trang 22

Hình 2.2 Phân bố kinh tuyến trên trái đất.

Ý tưởng tính toán góc giữa hai toạ độ với hướng bắc và khoảng cách giữa chúng

Vì khoảng cách các kinh độ là không đều nhau cho nên ta không thể tính toándựa bằng phương pháp mặt phẳng toạ độ mà không quy đổi, tuy nhiên trái đất rất rộnglớn, vậy nên khi chúng ta chỉ xét trong một thành phố, nhất là một thành phố gần xích

đạo như thành phố Hồ Chí Minh thì ta có thể coi như các kinh tuyến và vĩ tuyến là cácđường thẳng vuông góc với nhau, và khi khoảng cách của một đơn vị kinh tuyến bằngkhoảng cách của một đơn vị vĩ tuyến thì chúng ta có thể áp dụng các phương pháp tínhgóc và khoảng cách giữa hai điểm và một vector trong mặt phẳng Tại thành phố HồChí Minh là nơi đang xét có toạ độ 10°10’ – 10°38’ Bắc và 106°22’ – 106°54’ Đông,vậy chúng ta chọn kinh độ 106 và vĩ độ 10 làm chuẩn để tính toán

Ta có:

 Độ dài của một độ vĩ độ trên kinh độ 106:

Dlat = 2πR/360 = 111701,0721(m).R/360 = 111701,0721(m) (2.1)

Trang 23

 Độ dài của một kinh độ trên vĩ độ 10:

Dlng= 2πR/360 = 111701,0721(m).Rsin(90°-10°)/360

= Dlat * sin(80°) = 110004,0819(m)

Độ dài của một vĩ độ là không đổi tại mọi vị trí trên trái đất, vậy nên ta chọn

khoảng cách của một độ vĩ độ làm đơn vị chuẩn để tính toán trong mặt phẳng toạ độ

Khi đó tỷ lệ độ dài một độ vĩ độ trên một độ kinh độ sẽ là:

T = Dlat / Dlng = 1/ sin(80°)= 1,015427 (2.3)Khi tính toán, chúng ta chỉ cần nhân giá trị kinh độ cho T là có thể tính toán với

các công thức trong mặt phẳng toạ độ vì khi tính toán các vector trong mặt phẳng yêu

cầu hai trục x,y có độ dài đơn vị bằng nhau Để tính góc giữa hai toạ độ với hướng bắc

ta có thể dùng công thức tính tích vô hướng của hai vector, một vector tạo bởi hai toạ

độ và một vector chỉ hướng bắc( vector đơn vị của trục vĩ độ)

Hình 2.3 Biểu thức toạ độ của tích vô hướng.

Ví dụ : chọn điểm hiện tại có toạ độ địa lý ( kinh độ; vĩ độ) là A(106,11; 10,56 ) và

Tương tự áp dụng công thức toạ độ của tích vô hướng ta có góc của ⃗⃗⃗⃗⃗ so với hướng bắc(tương ứng với ⃗ ( 0 ; 1 ) ) là : 71,56°.

B MÔN ĐI N T CÔNG NGHI P Ộ MÔN ĐIỆN TỬ CÔNG NGHIỆP ỆN TỬ CÔNG NGHIỆP Ử CÔNG NGHIỆP ỆN TỬ CÔNG NGHIỆP 8

Trang 24

Hình 2.4 Biểu diễn đoạn đường di chuyển AD trên mặt phẳng toạ độ

Bộ giao thức TCP/IP được coi là một tập hợp các tầng Mỗi tầng giải quyết mộttập các vấn đề liên quan đến việc truyền tải dữ liệu, và cung cấp cho các giao thức tầngcấp trên một dịch vụ được định nghĩa rõ ràng dựa trên việc sử dụng các dịch vụ củacác tầng thấp hơn Hay nói cách khác, các tầng trên gần với người dùng hơn và làmviệc với dữ liệu trừu tượng hơn, chúng dựa vào các tầng cấp dưới để biến đổi dữ liệuthành các dạng mà cuối cùng có thể truyền đi trong môi trường vật lý

Trang 25

Bốn tầng của TCP/IP: tầng ứng dụng (Application Layer), tầng giao vận

(Transport Layer), tầng mạng (Internet Layer) và tầng liên kết (Link Layer)

Hình 2.5 Mô hình truyền dữ liệu của TCP/IP

 Application Layer (Tầng ứng dụng): Tầng cao nhất trong cấu trúc phân lớpcủa TCP/IP Tầng này bao gồm tất cả các chương trình ứng dụng sử dụng các dịch vụ sẵn

có thông qua một chồng giao thức TCP/IP như DHCP, DNS, HTTP, FTP, Telnet, SMTP,

… Chúng sẽ tương tác với tầng vận chuyển để truyền hoặc nhận dữ liệu

 Transport Layer (Tầng giao vận): Gồm 2 phần chính là giao thức TCP và giao thức UDP

 Internet Layer (Tầng mạng): IP (Ipv4, Ipv6)

 Link Layer (Tầng lien kết): Ethernet, Wifi, Token Ring, PPP, Frame Relay…

2.2.2 GIAO THỨC HTTP

HTTP là một giao thức hoạt động trên cơ chế yêu cầu – phản ứng trong mô hìnhđiện toán khách – máy chủ, nghĩa là HTTP cho phép giao tiếp giữa máy chủ và máykhách Máy khách sẽ gửi một yêu cầu bằng giao thức HTTP đến máy chủ (tùy vàotừng ứng dụng mà chọn yêu cầu khác nhau), sau đó máy chủ sẽ phản ứng lại yêu cầu

Trang 26

HTTP thuộc tầng ứng dụng của bộ giao thức TCP/IP (Các giao thức nền tảng cho

Internet)

Hình 2.6 Mô hình truyền thông Client – Server

Để máy chủ hiểu được yêu cầu của máy khách muốn làm gì cần phải thông quacác phương thức HTTP Các phương thức HTTP đã được định nghĩa hiện này là: GET,POST, HEAD, OPTIONS, PUT, DELETE, TRACE [5] Trong đó:

 HTTP GET: lấy một nguồn tài nguyên hiện có trên máy chủ.

 HTTP POST: tạo ra một nguồn tài nguyên mới.

Dựa theo ý nghĩa của 2 phương thức HTTP này, ta sẽ dùng nó để giao tiếp với

máy chủ nhằm trao đổi dữ liệu

Sau khi nhận được yêu cầu từ máy khách thì máy chủ sẽ phản hồi lại một thôngbáo và trong thông báo này sẽ chứa các mã trạng thái nhằm nói cho máy khách biếtrằng yêu cầu có được chấp nhận hay đã xảy lỗi gì rồi Một số mã trạng thái thường gặphoặc mắc phải là:

 2xx: điều này nói với máy khách rằng các yêu cầu đã được xử lý thành công,

mã phổ biến là 200 OK, các mã ít phổ biến hơn là 202, 203, 204, 205 và 206

 3xx: điều này đòi hỏi máy khách phải có hành động bổ sung, hành động tiếptheo phải được thực hiện để hoàn tất yêu cầu, mã phổ biến là 301(đối tượng yêu cầu đãđược chuyển), ít phổ biến hơn là 303, 304

 4xx: máy khách gặp lỗi, các mã này được sử dụng khi máy chủ nghĩ rằng máykhách đã bị lỗi, hoặc bằng cách yêu cầu một nguồn tài nguyên không hợp lệ

Trang 27

hoặc thực hiện một yêu cầu xấu Các mã phổ biến nhất trong lớp này là 404 Not Found, ít gặp hơn là 400, 401, 403, 405, 409.

 5xx: mã số được sử dụng để chỉ ra lỗi của máy chủ trong khi xử lý yêu cầu,

các mã lỗi thông dụng nhất là 500 Internal Server Error hay 501 và 503

URL thường được gọi là một địa chỉ web hay là một tham chiếu đến một tàinguyên của máy chủ, mọi truyền thông web đều được thông qua URL Các URL cómột cấu trúc đơn giản gồm các thành phần được thể hiện qua ví dụ sau:

Hình 2.7 Cấu trúc của một URL.

Trong đó:

 protocol: giao thức http hoặc có thể sẽ là https cho truyền thông bảo mật

 host: server hay máy chủ

 port: cổng kết nối, thông thường sẽ là 80.

 resource path: đường dẫn đến nguồn tài nguyên nào đó.

 query: truy vấn.

e Quy trình hoạt động trong kết nối HTTP:

Gồm có 5 bước như sau:

Bước 1: máy khách sẽ khởi tạo kết nối TCP bằng việc gửi yêu cầu đến server.

Máy chủ nhận được yêu cầu và chấp nhận kết nối bằng việc gửi trả lời về cho máykhách một thông báo Nếu sau khoảng thời gian RTT mà không nhận được trả lời từphía máy chủ thì máy khách sẽ gửi lại yêu cầu

Bước 2: sau khi kết nối được thiết lập, máy khách sẽ gửi thông điệp yêu cầu chứa

tên đường dẫn của các đối tượng đến máy chủ

Trang 28

(vd: www.myserver.com/homepage/project.php) Máy chủ nhận được thông điệp yêucầu và tiến hành lấy ra các đối tượng được yêu cầu Sau đó, các đối tượng được đónggói thành thông điệp trả lời và gửi đến máy khách.

Bước 3: máy chủ đóng kết nối TCP (Lưu ý: máy chủ chỉ đóng kết nối TCP khi

chắc chắn rằng máy khách nhận được thông điệp trả lời)

Bước 4: máy khách nhận thông điệp trả lời chứa tập tin dưới định dạng HTML,

Json,

Bước 5: lặp lại các bước từ 1-4 cho các đối tượng khác.

Hình 2.8 Quy trình hoạt động của kết nối HTTP

Thông điệp HTTP được viết bằng văn bản ASCII thông thường, do vậy ngườidùng có thể đọc được Có 2 dạng thông điệp HTTP: thông điệp HTTP yêu cầu vàthông điệp HTTP trả lời

Thông điệp HTTP yêu cầu:

Trang 29

Hình 2.9 Cú pháp của một HTTP yêu cầu

Trong đó:

 Request line: là dòng đầu tiên của thông điệp HTTP yêu cầu Request line

bao gồm có 3 trường như: cách thức (method), URL, phiên bản (version).Trường cách thức (method) có thể chứa các giá trị khác nhau, bao gồmGET, POST, HEAD, Phần lớn các thông điệp HTTP yêu cầu đều sử dụngphương thức GET Các phương thức GET được sử dụng khi máy khách yêucầu một đối tượng được xác định trong trường URL Phương thức POST lànhững phương thức mà máy khách sử dụng khi người dùng điền vào mộtbiểu mẫu (form) nào đó, chẳng hạn như người dung muốn nhập một từ khóanào đó vào google.com đề tìm kiếm thông tin Nếu phương thức là POSTthì Entity body của thông điệp yêu cầu sẽ chứa thông tin mà người dùng đãđiền Phương thức HEAD tương tự như GET, nhưng khi máy chủ nhậnđược yêu cầu bằng phương thức HEAD, nó sẽ trả về thông điệp HTTP vàkhông chứa đối tượng được yêu cầu

 Header line: là các dòng tiếp theo

 Sp: bao gồm các giá trị về khoảng trống.

 Blank line: bao gồm các giá trị điều khiển trở về đầu dòng, xuống hàng (cr, lf)

 Entity Body (nếu có): là phần thân của thông điệp HTTP yêu cầu

Trang 30

Hình 2.10 Cú pháp của một HTTP trả lời

Thông điệp HTTP trả lời có ba phần:

 Dòng trạng thái (status line): gồm 3 trường là phiên bản của giao thức(version), mã trạng thái (status code), trạng thái tương ứng (phrase) và các giá trị khoảngtrống (sp), điều khiển trở về đầu dòng, xuống hàng (cr, lf)

 Dòng tiêu đề (header lines)

 Thân thông điệp (entity body) Thân (Body) là thành phần chính của thông điệp hay là nội dung yêu cầu

2.3 HỆ ĐIỀU HÀNH ANDROID

2.3.1 TỔNG QUAN

Android được các công ty công nghệ lựa chọn khi họ cần một hệ điều hànhkhông nặng nề, có khả năng tinh chỉnh, và giá rẻ chạy trên các thiết bị công nghệ caothay vì tạo dựng từ đầu Ngoài các thiết kế chạy trên điện thoại và máy tính bảng,Android đã xuất hiện trên TV, máy chơi game và các thiết bị điện tử khác

Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thờiđiểm quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệulượt kích hoạt mỗi ngày Sự thành công của hệ điều hành cũng khiến nó trở thành mụctiêu trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong cái gọi là "cuộcchiến điện thoại thông minh" giữa các công ty công nghệ

Tới thời điểm hiện nay thì hệ điều hành Android đã trải qua một chặng đường dàikhông ngừng phát triểu với các phiên bản khác nhau như: Cupcake, Donut, Eclair,

Trang 31

Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Beans, Kitkat, Lollipop

và mới nhất là phiên bản Android 6.0 Marshmallow

2.3.2 GIỚI THIỆU VỀ NỀN TẢNG CỦA HỆ ĐIỀU HÀNH ANDROID:

a Kiến trúc của nền tảng gồm có 5 tầng [2], đó là:

Hình 2.11 Kiến trúc của HĐH Android

 Khung tổ chức ứng dụng

 Tầng thư viện

 Thời gian chạy Android (Android Runtime)

 Tầng hạt nhân Linux

b Các phần mềm ứng dụng trên Android:

Việc phát triển phần mềm cho Android OS có thể được thực hiện trên hệ điềuhành Windows hay trên hệ điều hành nguồn mở Linux và các công cụ phục vụ việc lậptrình ứng dụng trên Android OS gồm:

B MÔN ĐI N T CÔNG NGHI P Ộ MÔN ĐIỆN TỬ CÔNG NGHIỆP ỆN TỬ CÔNG NGHIỆP Ử CÔNG NGHIỆP ỆN TỬ CÔNG NGHIỆP 16

Trang 32

 Java for Developers 8 (JDK phiển bản mới nhất): do các phần mềm chạy trênAndroid OS đều phát triển trên nền tảng Java nên cần có bộ thư viện của Java, được cungcấp miễn phí cho người phát triển phần mềm bởi Oracle.

Android SDK – Android Studio: công cụ trực tiếp để viết ứng dụng c Các

thành phần cơ bản trong Android Project:

Mỗi ứng dụng Android đều có một tập tin tên AndroidManifest.xml, được lưu ởthư mục gốc (root) của ứng dụng Tập tin manifest mô tả những thông tin cần thiết củaứng dụng cho hệ điều hành Android, những thông tin này hệ điều hành cần phải biếttrước khi nó chạy bất kỳ ứng dụng nào File AndroidManifest.xml sẽ tự động phát sinhkhi tạo một Android project Trong file Manifest bao giờ cũng có 3 thành phần chính

đó là: application, permission và version [2]

Hình 2.12 Nội dung mặc định của một Manifest.xml

Cũng như tập tin Manifest thì tập tin java cũng sẽ tự phát sinh khi tạo mộtAndroid project, tập tin này được sử dụng để quản lý các thuộc tính được khai báotrong file XML của ứng dụng và các tài nguyên hình ảnh Mã nguồn của tập tin nàyđược tự động phát sinh khi có bất kỳ một sự kiện nào xảy ra làm thay đổi các thuộctính của ứng dụng

Trang 33

Hình 2.13 Nội dung mặc định của một tập tin java

Activity là một thành phần chính của một ứng dụng Android, được dùng để hiểnthị một màn hình và nắm bắt các hoạt động xảy ra trên màn hình đó, chẳng hạn nhưchụp ảnh, gửi mail,… Mỗi Activity là một giao diện người dùng Tạo một Activitytrong Android Studio cực kỳ đơn giản (Android Studio cũng đã hỗ trợ một số Activitycho các ứng dụng đặc biệt phổ biến)

Hình 2.14 Tạo một Activity mới.

Trang 34

Một Activity sẽ có 3 trạng thái cơ bản đó là:

 Active: khi nó xuất hiện trên màn hình điện thoại và nhận tương tác người

dùng như là click, trượt,…

 Paused: khi nó không còn là trọng tâm trên màn hình nhưng vẫn hiển thị

trước người dùng

 Stopped: khi nó hoàn toàn bị che khuất

Vòng đời của một Activity: hình chữ nhật vuông thể hiện các phương thứcCallback mà chúng ta có thể khai báo để gọi thực thi một số thao tác khi hoạt độngchuyển sang trạng thái khác Các trạng thái chính của một Activity được thể hiện bởicác ô màu [2]

Hình 2.15 Vòng đời của một Activity

Trong sơ đồ về vòng đời của một Activity, dễ nhận thấy rằng trước khi Activityđược chạy thì phương thức onResume() đã được gọi trước và khi Activity bị hủy thì

Trang 35

phương thức onPause() đã được gọi trước Tại sao lại nhấn mạnh vấn đề này, nguyên

nhân sẽ được tìm hiểu ở phần đối tượng SharePreference

Intent là một cấu trúc dữ liệu mô tả cách thức, là đối tượng của một Activity.Trong một ứng dụng Android thì thường có nhiều Activity và chúng hoạt động hoàntoàn độc lập với nhau, Intent sẽ là cầu nối giữa các Activity, giúp chúng có thể truyền

dữ liệu cho nhau

Hình 2.16 Chuyển đổi giữa 2 Activity

Intent là một đối tượng được mô tả trong lớp android.content.Intent.

Service là một trong bốn thành phần cơ bản của một ứng dụng Android (Activity,Service, BroadcastReceiver, ContentProvider), đây là thành phần chạy ngầm và làmnhững công việc không cần tới giao diện như chơi nhạc hay xử lý tính toán,…

Để khởi chạy một service thì ta phải gọi hàm Context.startService() hay dừng bằng hàm Context.stopService()/Service.stopSelf()/Service.stopService() Chỉ cần một lệnh stopService() để ngừng Service lại cho dù lệnh startService() được gọi nhiều lần.

Một Service có 3 phương thức được gọi đến trong vòng đời của nó: onCreate(),onStart(Intent intent), onDestroy() Giống như một Acctivity thì một Service cũng sẽtiến hành cài đặt ban đầu ở onCreate() và giải phóng tất cả các tài nguyên còn lại ởonDestroy()

Trang 36

Hình 2.17 Vòng đời của một Service

Tóm lại, lập trình Service cũng tương tự như lập trình cho một Activity để thựchiện một chức năng nào đó mà không cần có giao diện (chạy ngầm) và nó hoạt độngđộc lập với các ứng dụng khác đang chạy Sau khi startService() thì Service sẽ tiếp tụcchạy cho đến khi stopService() được gọi

2.4 KHẢO SÁT LINH KIỆN, THIẾT BỊ SỬ DỤNG:

Dựa trên mục tiêu về các chức năng của sản phẩm đề ra ban đầu thì một số linh kiện vàthiết bị có thể phù hợp như:

 Định vị GPS: hiện nay có khá nhiều module, cảm biến có chức năng định vị GPSnhư Arduino GPS, GPS Ublox với các phiên bản khác nhau, Module Sim

900/900A,…

Hình 2.18 Một số thiết bị/cảm biến định vị GPS.

Trang 37

 Đo khoảng cách tránh vật cản: hiện nay có khá nhiều cảm biến nhằm hỗ trợ tránh vật cản thông dụng như cảm biến hồng ngoại, cảm biến siêu âm,…

Hình 2.19 Một số thiết bị/cảm biến đo khoảng cách

Phức tạp hơn nhưng mang lại hiệu quả tốt hơn đó là các giải pháp xử lý ảnh

Hình 2.20 Xử lý ảnh cho xe ô tô.

 Xác định hướng: dựa trên nguyên tắc hoạt động của một là bàn thì phổ biến hiện này là cảm biến la bàn số với nhiều phiên bản và dạng khác nhau, quen thuộc trong nghiên cứu và học tập là cảm biến la bàn số HMC5883L.

Hình 2.21 Cảm biến la bàn số HMC5883L.

 Vi điều khiển: hiện nay có rất nhiều các dòng vi điều khiển khác nhau nhằm phục vụ với từng mục đích khác nhau Với các ứng dụng nhỏ có thể chọn các dòng như STM8, PIC16, 8051 với ứng dụng phức tạp thì các dòng PIC16/18, STM32, AVR đều có thể thực hiện.

Trang 38

 Điện thoại: tất cả các dòng Smartphone đang chạy hệ điều hành Android,

một số nhà sản xuất điện thoại như: Samsung, Sony, Asus, HTC, LG,…

Trang 39

Chương 3 TÍNH TOÁN VÀ THIẾT KẾ

3.1 TỔNG QUAN VỀ YÊU CẦU THIẾT KẾ HỆ THỐNG

Để thực hiện đề tài, nhóm em đưa ra một số phương án để điều khiển xe tự hành chạy theo chỉ dẫn từ smartphone như sau:

trong các lộ trình đó bằng smartphone, và smartphone sẽ gửi lộ trình được lựa chọn xuống

mô hình xe, sau đó xe sẽ chạy theo lộ trình đó Ưu điểm của phương án này là đơn giảnnhưng xe chỉ có thể chạy theo các lộ trình có sẵn, muốn thay đổi phải can thiệp vào chươngtrình trên xe

trình đó xuống mô hình xe thông qua kết nối có dây hoặc Bluetooth, RF, hồng ngoại…Ưuđiểm là đáp ứng nhanh, lộ trình có thể tuỳ biến theo người dùng nhưng vì

truyền trực tiếp nên khoảng cách truyền dữ liệu bị giới hạn trong phạm vi hẹp

mạng internet, smartphone hoặc xe sẽ đóng vai trò là một SERVER và thiết bị còn lại sẽgửi, nhận dữ liệu từ SERVER đó Khi đó dữ liệu có thể truyền đi mà không bị giới hạnkhoảng cách, chỉ cần cả hai thiết bị có kết nối internet, tuy nhiên nhược điểm của

phương án này là tính bảo mật không cao, dễ bị hack do SERVER tự thiết kế không

được chuyên nghiệp

Phương án 4: Giống như phương án 3 nhưng thay vì một trong hai thiết bị

là SERVER thì cả hai thiết bị cùng truy cập và sử dụng một SERVER chung có sẵntrên internet Vì là SERVER được thiết kế cho thương mại nên tính ổn định và bảo mậtrất cao tuy nhiên việc truyền nhận với SERVER sẽ trở lên phức tạp và phải theo đúngphương pháp mà SERVER đó quy định

thiết kế riêng sao cho phù hợp với đề tài Với phương án này thì chi phí bỏ ra để tạo mộtSERVER là rất lớn nhưng vì thiết kế riêng cho việc truyền thông giữa xe và điện thoại nênviệc truyền nhận, truy cập sẽ dễ dàng hơn

Trang 40

Lựa chọn phương án: Sau khi xem xét về kiến thức có được, chi phí, thời

gian… và khả năng của nhóm thì nhóm em lựa chọn phương án 4 làm phương án thựchiện cho đề tài này Khi đó sơ đồ khối của hệ thống sẽ như hình sau:

Hình 3.1 Sơ đồ khối của hệ thống.

Để thực hiện phương án này, nhóm em đặt ra các yêu cầu sau:

 Xác định được vị trí hiện tại và hướng của xe

 Tự vẽ lộ trình từ vị trí hiện tại của xe và điểm đến.

 Chạy chính xác theo lộ trình.

 Xe có thể chạy trên đường.

 Tự động né nếu có vật cản trước mặt.

 Đáp ứng nhanh, cập nhật dữ liệu kịp thời.

 Khoảng cách chạy đủ xa.

 Có thể giám sát ở bất kì nơi đâu.

 Mô hình xe chắc chắn, có thể chạy được trên đường.

Với yêu cầu trên thì Smartphone sẽ đóng vai trò là thiết bị giám sát vị trí hiện tạicủa xe, chọn đích đến, vẽ ra lộ trình cho xe di chuyển, gửi dữ liệu toạ độ dựa vào lộtrình đó xuống mô hình xe Còn mô hình xe sẽ là vật di chuyển, xe sẽ xác định toạ độ

và gửi lên điện thoại thông qua internet, sau đó nhận lộ trình được gửi xuống từ điệnthoại (nếu có) và tính toán kết hợp với xác định hướng để tự động chạy theo lộ trình đóđến đích Vì yêu cầu mô hình xe có thể chạy trên đường nên nhóm em chọn điều khiển

xe chạy theo toạ độ địa lý Để xác định vị trí hiện tại theo toạ độ địa lý của xe để điềukhiển thì nhóm em chọn dùng hệ thống định vị toàn cầu GPS, do vậy lộ trình xe cầnchạy sẽ là tập hợp các toạ độ địa lý và xe cần chạy đến

3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG

Như vậy từ yêu cầu trên thì nhóm em cần tính toán thiết kế các nội dung sau:

Ngày đăng: 25/12/2021, 23:12

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Phan Vân Hoàn, “Giáo trình vi xử lý nâng cao”, Đại Học Sư Phạm Kỹ Thuật Tp.HCM 9/2015 Sách, tạp chí
Tiêu đề: Giáo trình vi xử lý nâng cao
[2] Nguyễn Văn Hiệp, Đinh Quang Hiệp, “Giáo trình lập trình Android Cơ Bản”, NXB Đại Học Quốc Gia 2015 Sách, tạp chí
Tiêu đề: Giáo trình lập trình Android Cơ Bản
Nhà XB: NXBĐại Học Quốc Gia 2015
[3] “Hệ thống Định vị Toàn cầu”, https://vi.wikipedia.org , [4] Google Developer, “Manage Worksheets”https://developers.google.com , 13/08/2015 Sách, tạp chí
Tiêu đề: Hệ thống Định vị Toàn cầu”, https://vi.wikipedia.org , [4] Google Developer, “Manage Worksheets
[5] VietJack Team, “Học HTTP cơ bản và nâng cao”http://vietjack.com Sách, tạp chí
Tiêu đề: Học HTTP cơ bản và nâng cao
[6] arezar272, “Arduino Data Logging to Google Docs (Spreadsheet)”, https://www.youtube.com , 19/06/2014 Sách, tạp chí
Tiêu đề: Arduino Data Logging to Google Docs (Spreadsheet)

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Cách sắp xếp kinh độ và vĩ độ trên trái đất. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.1 Cách sắp xếp kinh độ và vĩ độ trên trái đất (Trang 20)
Hình 2.2 Phân bố kinh tuyến trên trái đất. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.2 Phân bố kinh tuyến trên trái đất (Trang 21)
Hình 2.4 Biểu diễn đoạn đường di chuyển AD trên mặt phẳng toạ độ - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.4 Biểu diễn đoạn đường di chuyển AD trên mặt phẳng toạ độ (Trang 23)
Hình 2.5 Mô hình truyền dữ liệu của TCP/IP - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.5 Mô hình truyền dữ liệu của TCP/IP (Trang 24)
Hình 2.6 Mô hình truyền thông Client – Server - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.6 Mô hình truyền thông Client – Server (Trang 25)
Hình 2.8 Quy trình hoạt động của kết nối HTTP - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.8 Quy trình hoạt động của kết nối HTTP (Trang 27)
Hình 2.9 Cú pháp của một HTTP yêu cầu - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.9 Cú pháp của một HTTP yêu cầu (Trang 28)
Hình 2.11 Kiến trúc của HĐH Android - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.11 Kiến trúc của HĐH Android (Trang 30)
Hình 2.14 Tạo một Activity mới. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.14 Tạo một Activity mới (Trang 32)
Hình 2.15 Vòng đời của một Activity - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.15 Vòng đời của một Activity (Trang 33)
Hình 2.17 Vòng đời của một Service - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.17 Vòng đời của một Service (Trang 35)
Hình 3.2 Sơ đồ điều khiển. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 3.2 Sơ đồ điều khiển (Trang 40)
Hình 3.3 Mô hình xe. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 3.3 Mô hình xe (Trang 41)
Hình 3.5 Sơ đồ nguyên lý của khối khuếch đại công suất. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 3.5 Sơ đồ nguyên lý của khối khuếch đại công suất (Trang 43)

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w