Học viên cam đoan: Luận văn “Nghiên cứu thiết kế, chế tạo và lập trình điều khiển hệ thống cảnh báo va chạm sớm trên ô tô” 1. Là công trình nghiên cứu của bản thân học viên được đúc kết từ quá trình học tập và nghiên cứu dưới sự hướng dẫn của TS. Nguyễn Văn Nhanh 2. Số liệu và kết quả trong luận văn nghiên cứu là trung thực và chưa được công bố trong bất kỳ công trình nào khác. Học viên cũng xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện luận văn này đã được cảm ơn và các thông tin trích dẫn trong luận văn đã được chỉ rõ nguồn gốc. Học viên xin chịu hoàn toàn trách nhiệm về nghiên cứu của mình.
BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ GIAO THÔNG VẬN TẢI TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP HỒ CHÍ MINH - oOo VÕ HIẾU TRUNG NGHIÊN CỨU THIẾT KẾ, CHẾ TẠO VÀ LẬP TRÌNH ĐIỀU KHIỂN HỆ THỐNG CẢNH BÁO VA CHẠM SỚM TRÊN Ô TÔ LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH 05 - 2021 BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ GIAO THÔNG VẬN TẢI TRƯỜNG ĐẠI HỌC GIAO THƠNG VẬN TẢI TP HỒ CHÍ MINH - oOo VÕ HIẾU TRUNG NGHIÊN CỨU THIẾT KẾ, CHẾ TẠO VÀ LẬP TRÌNH ĐIỀU KHIỂN HỆ THỐNG CẢNH BÁO VA CHẠM SỚM TRÊN Ô TÔ CHUYÊN NGÀNH: KỸ THUẬT CƠ KHÍ Ơ TƠ MÃ SỐ: 8520116 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Nguyễn Văn Nhanh TP HỒ CHÍ MINH 05-2021 LỜI CẢM ƠN Trước tiên, học viên xin gửi lời cảm ơn tới thầy hướng dẫn luận văn, TS Nguyễn Văn Nhanh, Thầy tạo điều kiện, động viên giúp đỡ học viên hồn thành tốt luận văn Trong suốt q trình nghiên cứu, Thầy kiên nhẫn hướng dẫn, trợ giúp động viên học viên nhiều Sự hiểu biết sâu sắc kiến thức chuyên môn, kinh nghiệm thầy tiền đề giúp học viên hồn thành luận văn Bên cạnh đó, học viên xin chân thành cảm ơn thầy cô giáo Viện Cơ Khí - Trường Đại học Giao thông Vận tải TP HCM Trong suốt quãng thời gian học tập trường, thầy cô trang bị cho học viên kiến thức kỹ quý báu Đó hành trang tốt để học viên bước vững đường nghiệp Do thời gian kiến thức nhiều hạn chế nên luận văn học viên tránh khỏi thiếu sót Học viên mong nhận đóng góp ý kiến từ q thầy bạn để luận văn học viên hồn thiện Thành phố Hồ Chí Minh, tháng 05/2021 Học viên thực Võ Hiếu Trung LỜI CAM ĐOAN Học viên cam đoan: Luận văn “Nghiên cứu thiết kế, chế tạo lập trình điều khiển hệ thống cảnh báo va chạm sớm ô tô” Là cơng trình nghiên cứu thân học viên đúc kết từ trình học tập nghiên cứu hướng dẫn TS Nguyễn Văn Nhanh Số liệu kết luận văn nghiên cứu trung thực chưa công bố cơng trình khác Học viên xin cam đoan giúp đỡ cho việc thực luận văn cảm ơn thông tin trích dẫn luận văn rõ nguồn gốc Học viên xin chịu hoàn toàn trách nhiệm nghiên cứu Thành phố Hồ Chí Minh, tháng 05/2021 Học viên thực Võ Hiếu Trung MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN DANH SÁCH HÌNH DANH SÁCH BẢNG DANH SÁCH TỪ VIẾT TẮT MỞ ĐẦU 10 Tính cấp thiết đề tài 10 Mục tiêu nghiên cứu đề tài 11 Phương pháp nghiên cứu đề tài 11 Phạm vi đối tượng nghiên cứu 11 Ý nghĩa thực tiễn đề tài 12 Bố cục luận văn 12 CHƯƠNG - TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU 13 1.1 Tình hình nghiên cứu nước 13 1.2 Tình hình nghiên cứu nước 15 1.3 Thực trạng vấn đề đặt cho nghiên cứu 17 1.4 Kết luận chương 19 CHƯƠNG - CƠ SỞ LÝ THUYẾT 20 2.1 Đề xuất giải pháp 20 2.2 Khảo sát linh kiện có liên quan 22 2.2.1 Xác định khoảng cách với vật cản 22 2.2.2 Xác định vận tốc xe 33 2.2.3 Arduino xử lý tín hiệu 35 2.2.4 Bộ điều khiển từ xa 42 2.2.5 Các loại linh kiện khác 45 2.3 Kết luận chương 50 CHƯƠNG - NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 51 3.1 Các linh kiện cần thiết 51 3.1.1 Cảm biến tốc độ 51 3.1.2 Cảm biến rada RCWL-0516 52 3.1.3 Cảm biến siêu âm HC-SR04 53 3.1.4 Nút nhấn 53 3.1.5 Mạch điều khiển wifi ESP8266 54 3.1.6 Arduino Uno R3 55 3.1.7 Relay tự động hệ thống khóa 55 3.1.8 Bộ tín hiệu cảnh báo 57 3.1.9 Relay 58 3.2 Tính tốn thiết kế phần khí 58 3.3 Tính tốn thiết kế phần điện 58 3.3.1 Sơ đồ khối 58 3.3.2 Thiết kế sơ đồ mạch tổng quát 59 3.3.3 Tính tốn cơng suất tiêu thụ tồn hệ thống 59 3.4 Lập trình thuật toán điều khiển 60 3.4.1 Sơ đồ giải thuật 60 3.4.2 Code điều khiển hệ thống 61 3.5 Quy trình lắp ráp 62 3.6 Lắp đặt kiểm tra hoạt động hệ thống 63 3.7 Lắp đặt hệ thống cảnh báo mở cửa Honda City 2017 65 3.8 Lắp đặt hệ thống cảnh báo va chạm Honda City 2017 67 3.8.1 Hệ thống cảnh báo va chạm 67 3.8.2 Tiến hành thi công lắp đặt hệ thống 72 3.8.3 Tiến hành thực nghiệm xe Honda city 74 3.9 Kết luận chương 76 CHƯƠNG - KẾT LUẬN VÀ KIẾN NGHỊ 77 Phân tích đánh giá lựa chọn thiết bị 76 Kết luận 77 Kiến nghị 78 Hướng phát triển 78 TÀI LIỆU THAM KHẢO 79 PHỤ LỤC 82 MÃ CODE ĐIỀU KHIỂN 82 DANH SÁCH HÌNH Hình 1 Cảnh báo điểm mù ô tô 13 Hình Tín hiệu cảnh báo đèn xe Audi Q7 14 Hình Vùng quét cảm biến 14 Hình Cảnh báo hệ thống SEA xe Huyndai 14 Hình Mơ tầm quét hệ thống 15 Hình Nguyên lý hoạt động song Radar 22 Hình 2 Phản xạ sóng sử dụng theo dõi máy bay 24 Hình Nguyên lý Doppler phản xạ sóng sóng Radar 24 Hình Sơ đồ mạch điện cảm biến RCWL-0516 25 Hình Sơ đồ mạch in cảm biến 26 Hình Sơ đồ chân cảm biến 26 Hình Minh họa loại sóng siêu âm động vật máy móc 27 Hình Hình cảm biến HCSR-04 thực tế 28 Hình Sự phản xạ sóng siêu âm CB HCSR-04 28 Hình 10 Biểu đồ xác định thời gian cảm biến HCSR-04 28 Hình 11 Sơ đồ chân cảm biến HC-SR04 30 Hình 12 Ảnh mặt mặt cảm biến Lidar 31 Hình 13 Cách tính khoảng cách hệ thống Lidar 32 Hình 14 Chức phận đông hồ Taplo 33 Hình 15 Nguyên lý thu nhận sóng GPS 34 Hình 16 Đo tốc độ khoảng cách xe tải điểm A, B 34 Hình 17 Board mạch Arduino UNO R3 35 Hình 18 Thơng số kỹ thuật mạch Arduino 35 Hình 19 Mặt trước mặt sau Arduino Mega2560 R3 39 Hình 20 Vị trí linh kiện chủ chốt arduino 40 Hình 21 Sơ đồ chân Arduino Mega2560 41 Hình 22 Mặt trước Module 42 Hình 23 Sơ đồ chân Module ESP8266 43 Hình 24 Mặt trước mặt sau module HC-05 44 Hình 25 Sơ đồ chân Module Bluetooth HC-05 44 Hình 26 Ảnh thực tế đèn đèn hoạt động 45 Hình 27 Đèn dải LED gầm RGB 46 Hình 28 Cịi báo động âm 47 Hình 29 Chng báo FM-20B 48 Hình 30 Module điều khiển kênh 48 Hình 31 Module Relay H/L 5V 49 Hình Module cảm biến đo tốc độ Encoder V1 51 Hình Thiết bị mô đo tốc độ xe 52 Hình 3 Cảm biến RCWL-0516 mơ hình 53 Hình Cảm biến siêu âm HC mơ hình 53 Hình Nút nhấn mơ hình 54 Hình Ảnh module wifi ESP8266 mơ hình 54 Hình Giao diện điều khiển Module ESP8266 điện thoại 55 Hình Bộ xử lý tín hiệu Arduino UNO R3 mơ hình 55 Hình Bộ relay tự động điều khiển khóa cửa 56 Hình 10 Bộ mơ cấu khóa cửa sử dụng chuột mơ hình 57 Hình 11 Chng báo động SFM-27 mơ hình 57 Hình 12 Đèn LED cảnh báo 58 Hình 13 Bộ đơi Relay kênh điều khiển mạch mơ hình 58 Hình 14 Bộ đơi relay kênh điều khiển mơ hình 58 Hình 15 Bảng vẽ 2D chi tiết có hệ thống 59 Hình 16 Sơ đồ khối hệ thống cảnh báo mở cửa thông minh 59 Hình 17 Sơ đồ khối hệ thống mở cửa từ xa 60 Hình 18 Sơ đồ mạch tổng quát 60 Hình 19 Sơ đồ giải thuật hệ thống 61 Hình 20 Mơ hình hồn chỉnh hệ thống 62 Hình 21 Mơ hình hệ thống hoạt động trường hợp 63 Hình 22 Mơ hình hoạt động trường hợp (khi có vật cản) 64 Hình 23 Mơ hình hoạt động trường hợp (khơng có vật cản) 64 Hình 24 Giao diện điều khiển hệ thống 65 Hình 25 Giao diện điều khiển hệ thống 65 Hình 26 Vị trí lắp đặt cảm biến 66 Hình 27 Vị trí lắp đặt linh kiện bên xe 66 Hình 28 Test khoảng cách hoạt động cảm biến rada 67 Hình 29 Mạch ghi phát âm ISD1820 20s 67 Hình 30 LCD 2004 5V 68 Hình 31 Mạch nguồn giảm áp DC XL4015 5A có hiển thị 69 Hình 32 Mạch nguồn giảm áp DC XL4015 5A có hiển thị 70 Hình 33 Servo SG90 70 Hình 34 Module Relay Với Opto Cách Ly (5VDC) 70 Hình 35 Cảm biến siêu âm chống nước AJ-SR04M/JSN-SR04T 71 Hình 36 Module Relay Với Opto Cách Ly Kích H/L (5VDC) 71 Hình 37 Arduino UNO R3 SMD 71 Hình 38 Cấu tạo bên hệ thống 72 Hình 39 Cấu tạo bên phải hệ thống 73 Hình 40 Cấu tạo bên trái hệ thống 73 Hình 41 Cấu tạo mặt trước hệ thống 73 Hình 42 Cấu tạo tổng thể hệ thống 74 Hình 43 Lắp đặt cảm biến xe 74 Hình 44 Lắp nguồn cho hệ thống 75 Hình 45 Tiến hành thực nghiệm xe đứng yên 75 Hình 46 Tiến hành thực nghiệm xe chạy 76 DANH SÁCH BẢNG Bảng Thông số kỹ thuật CB Radar 25 Bảng 2 Ưu, nhược điểm cảm biến RCWL-0516 27 Bảng Sơ đồ chân cảm biến HC-SR04 30 Bảng Thông số kỹ thuật CB HCSR-04 30 Bảng Ưu, nhược điểm CB Siêu âm 31 Bảng Thông số kĩ thuật CB Laser Radar 32 Bảng Ưu, nhược điểm CB Lidar 32 Bảng Sơ đồ chân Arduino UNO R3 37 Bảng Bảng giá trị cổng serial 39 Bảng 10 Thông số kỹ thuật arduino mega 40 Bảng 11 Thông số kỹ thuật Module Wifi ESP8266 43 Bảng 12 Thông số kỹ thuật đèn Laser 45 Bảng 13 Thông số kỹ thuật đèn gầm 46 Bảng 14 Thông số kỹ thuật chuông SFM-27 47 Bảng 15 Thông số kỹ thuật chuông FM-20B 48 Bảng 16 Thông số kỹ thuật relay kênh 48 Bảng Bảng thơng số kí hiệu chân 67 Bảng Bảng thông số kỹ thuật chip ATmega328 72 75 - Lắp đặt nguồn cho hệ thống: Nguốn hoạt động cho hệ thống lấy từ nguồn tẩu mồi thuốc xe Hình 44 Lắp nguồn cho hệ thống - Tiến hành thực nghiệm 1: Cho xe đứng yên chỗ tiến hành kiểm tra hoạt động hệ thống, cảm biến, tín hiệu đầu đèn cảnh báo, hiển thị hình LCD, tất hoạt động tốt Hình 45 Tiến hành thực nghiệm xe đứng yên 76 - Tiến hành thực nghiệm 2: Cho xe chạy với vận tốc tới 40 km/h tiến hành kiểm tra hoạt động hệ thống, cảm biến, tín hiệu đầu đèn cảnh báo, hiển thị hình LCD, tất hoạt động tốt Hình 46 Tiến hành thực nghiệm xe chạy 3.9 Kết luận chương Đề tài lựa chọn thiết kế tổng thể, phân tích u cầu kỹ thuật, cấu hình chức thiết bị Thiết kế thuật toán xác định vật cản thiết kế phần mềm phát vật cản cảnh báo đến người lái ô tô Đưa thiết bị phần cứng để sử dụng cho mơ hình thử nghiệm hệ thống, đưa yêu cầu giải thuật để phục vụ trình tạo sở liệu phần mềm, đảm bảo hệ thống hoạt động đạt mục tiêu đề ban đầu Hệ thống cảnh báo va chạm tiến hành thực nghiệm xe Honda City điều kiện thực nghiệm khác cho kết tương đối ổn định, đạt mục tiêu, nhiệm vụ đề 77 CHƯƠNG - KẾT LUẬN VÀ KIẾN NGHỊ Phân tích đánh giá để lựa chọn thiết bị Ưu điểm - Giá thành hợp lý - Linh động tháo lắp cho Nhược điểm phương tiện khác - Ứng dụng thiết thực Hệ thống cảnh báo xe tải xe va chạm sớm đầu kéo giúp hổ trợ cảnh báo điểm mù, lùi ô tô - Giới hạn tốc độ 50 km/h - Phản hồi tính hiệu chậm xe vào bãi đậu - Cài đặt khoảng cách cảnh báo theo yêu cầu cần thiết - Hệ thống nhỏ gọn phù hợp với thị trường Sau thực nghiệm, đánh giá phân tích ưu nhược điểm hệ thống cho thấy, đề tài đáp ứng mục tiêu đề phù hợp dòng xe thương mại thị trường nước.Tuy nhiên để thương mại hóa sản phẩm, cần cải tiến phát triển hệ thống loại cảm biến thiết bị điện tử cao cấp để giải nhược điểm Kết luận Trong suốt trình nghiên cứu, tác giả nỗ lực phấn đấu nghiên cứu thêm nhiều kiến thức liên quan đến đề tài đạt kết sau: Tính tốn thiết kế phần khí khung cố định linh kiện q trình thực nghiệm, kích thức nhỏ gọn phù hợp để lắp đặt tơ Tính toán, thiết kế phần điện nguồn, điện điều khiển, đèn LED cảnh báo, cảm biến khoảng cách, mô tơ điện, tín hiệu phát, tín hiệu xử lý 78 Xây dựng thuật toán điều khiển, lập trình điều khiển hệ thống cảnh báo mở cửa thơng minh khóa cửa tự động, tích hợp cảnh báo va chạm Lắp đặt, tiến hành thực nghiệm khảo sát góc quét thực tế cảm biến đánh giá xe Honda City Sản phẩm hệ thống cảnh báo mở cửa thơng minh tơ có chức gồm: tư động khóa cửa xe chạy, tự động khóa cửa có vật cản xuất phạm vi nguy hiểm, cảnh báo khoảng cách an toàn cho người đường, cảnh báo va chạm người xe mở cửa, khóa, mở khóa cửa từ xa khơng giới hạn khoảng cách, tìm xe bãi đỗ Kiến nghị Mơ hình hoạt động theo u cầu giới hạn đề tài, nhiên mức độ phản xạ tính ổn định yêu cầu linh kiện chưa thật ứng dụng vào ngành ô tô Cần thực nghiệm phát triển nghiên cứu cải tiến sản phầm ngày tốt phù hợp thị trường Việt Nam Quốc tế Hướng phát triển Nhóm tiếp tục phát triển bổ sung số tính như: - Thay cảm biến rada sang thị giác máy tính; - Tích hợp chống trộm thơng qua cảm biến lực va đập cửa; - Tích hợp biển số xe điện tử định vị GPS; - Tích hợp hệ thống nhận diện cảnh báo người điều khiển ngủ gật 79 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Nguyễn Thị Phương Hà Lý thuyết điều khiển tự động NXB Đại học Quốc Gia Tp Hồ Chí Minh 2003; [2] Phạm Quang Huy, Lê Cảnh Trung Lập trình điều khiển với Arduino: Vi điều khiển ứng dụng NXB Khoa học Kỹ thuật, 2009; [3] Lương Văn Lăng Cơ sở tự động NXB Đại học Quốc Gia Tp Hồ Chí Minh 2002; [4] Sổ tay Arduino, lập trình điều khiển arduino cho người bắt đầu V1, Arduino.vn; [5] Pham Minh Thông, Siêu âm chẩn đoán NXB: KHKT, 208, 2009; [6] Tài liệu phần mềm tra cứu ô tô On demand; Tiếng Anh [7] Android Apps for Arduino with MIT App Inventor 2; [8] Arduino_Projects_eBook_Rui_Santos; [9] Automotive electrical and electronic systems BOSCH Germany, 1998; [10] Automotive mechanics / William Crouse Newyork Mc Graw Hill International Edition, 1994; [11] AT-COM Telecommunications Automation Co.,Ltd, Research & Development; [12] Benjamin C Kuo, Auotmatic Control System, Prentice-Hall Intermational Edition, Seventh Edition, 1995; [13] Chisty, Jasmeen Gill, A Review: Driver Drowsiness Detection System, International Journal of Computer Science Trends and Technology (IJCST) [14] Eyosiyas Tadesse, Weihua Sheng, Meiqin Liu,” Driver Drowsiness Detection through HMM based Dynamic Modeling.” 2014 IEEE International Conference on Robotics & Automation (ICRA) Hong Kong Convention and Exhibition Center May 31 - June 7, 2014 Hong Kong, China; [15] Frank Sgambati, Driver Drowsiness Detection, Robert Bosch LLC, 2012; [16] Gustavo A Peláez C., Fernando García, Arturo de la Escalera, and José 80 María Armingol,” Driver Monitoring Based on Low-Cost 3-D Sensors.” IEEE Transactions On Intelligent Transportation Systems, Vol 15, No 4, Page(S): 1855 - 1860 August 2014; [17] GPS Sim800 Datasheet www Datasheetpdf.com; [18] GPRS SIM900; [19] Home Automation Using ESP8266 (3rd Edition); [20] Johns, M.W The Amplitude-Velocity Ratio of Blinks: A new Method for Monitoring Drowsiness Sleep, 2003; 26: (Suppl):A51- 52; [21] N H Ngo, U D Nguyen, Implement a computer mouse control for quadriplegic disability using camera, ĐH Quốc tế TP.HCM, 2015; [22] Learn ESP32 with Arduino IDE; [23] M.J Flores J Ma Armingol A de la Escalera, “Driver drowsiness detection system under infrared illumination for an intelligent vehicle” Published in IET Intelligent Transport Systems Received on 13th October 2009 Revised on 1st April 2011; [24] Publication: June 2012 International Journal of Computer Science Trends and Technology (IJCST) – Volume Issue 4, Jul-Aug 2015.ISSN: 23478578 www.ijcstjournal.org Page 252; [25] Tucker, AJ, Johns, MW, The Duration of Eyelid Movements During Blinks: Changes with Drowsiness, Sleep Diagnostics Pty Ltd, Melbourne, Australia, 2016; [26] Ralph Oyini Mbouna, Seong G Kong, Senior Member, IEEE, and MyungGeun Chun,” Visual Analysis of Eye State and Head Pose for Driver Alertness Monitoring.” IEEE Transactions On Intelligent Transportation Systems, Vol 14, No 3, September 2013; [27] R Kawamura,M S Bhuiyan, H Kawanaka, and K Oguri, “Simultaneous stimuli of vibration and audio for in-vehicle driver activation,” in Proc 14th Int IEEE Conf Intell Transp Syst.; [28] 20 Easy Raspberry Pi Projects; Website [29] Website: http://antoangiaothong.gov.vn/; [30] Website: https://arduinokit.vn/cai-dat-esp8266-voi-blynk; 81 [31].Website:http://at-sky.com.vn/nghien-cuu/gsmgprs-gps/27-ung-dung-sudung-dich- vu-gprs-tren-sim900.html; [32] Website: https://iotmaker.vn/module-cam-bien-radar-rcwl-0516.html; [33] Website: https://arduinokit.vn/do-khoang-cach-bang-cam-bien-sieu-am-hcsrf04/?noamp=mobile 82 PHỤ LỤC MÃ CODE ĐIỀU KHIỂN cảnh cáo vật cản mở cửa đột ngột #define PIN_DO volatile unsigned int pulses; float rpm; unsigned long timeOld; unsigned long timeOld1; unsigned long timeOld2; unsigned long timeOld3; float v; int pinlock = 12; int nutcua = 11; int rada = 10; int chuong = 7; const int echo = 8; const int trig = 9; int LEDrada = 6; int flg = 0; int lock = 1; volatile unsigned int giulock; int onoffLED = 1; int onoffchuong = 1; unsigned long duration1; int distance1; void counter() { pulses++; } void setup() { Serial.begin(115200); 83 pinMode(PIN_DO, INPUT); pulses = 0; timeOld = 0; pinMode(pinlock, OUTPUT); pinMode(LEDrada,OUTPUT); pinMode(rada,INPUT_PULLUP); pinMode(chuong, OUTPUT); pinMode(trig,OUTPUT); pinMode(echo,INPUT); pinMode(nutcua,INPUT_PULLUP); } void loop(){ digitalWrite(pinlock,lock); digitalWrite(LEDrada,onoffLED); digitalWrite(chuong,onoffchuong); //toc if (millis() - timeOld >= 100) { detachInterrupt(digitalPinToInterrupt(PIN_DO)); rpm = (pulses*600/4); v = (0.0001884*rpm*60); timeOld = millis(); pulses = 0; attachInterrupt(digitalPinToInterrupt(PIN_DO), counter, FALLING); } // sieu am if (millis() - timeOld2 >= 30){ timeOld2 = millis(); /* phat xung trig */ digitalWrite(trig,0); delayMicroseconds(2); digitalWrite(trig,1); 84 delayMicroseconds(15); digitalWrite(trig,0); /* tinh khoang cach*/ duration1 = pulseIn(echo,HIGH); distance1 = int(duration1/2/29.412); } /* V>10 */ if (millis() - timeOld1 >= 100){ timeOld1 = millis(); Serial.print("km/h = "); Serial.print(v); Serial.print(",rpm = "); Serial.println(rpm); Serial.print("nut cua: "); Serial.println(digitalRead(nutcua)); Serial.print("S = "); Serial.print(distance1); Serial.println("cm"); Serial.print("rada: "); Serial.println(digitalRead(rada)); Serial.print("lockcua: "); Serial.println(lock); Serial.print("chuong: "); Serial.println(onoffchuong); } if(v > 10){ lock = 0; onoffLED = 0; onoffchuong = 1; } /* V= 10){ timeOld3 = millis(); giulock++;} if(giulock >= 200){ lock = 1; onoffchuong = 1; giulock = 0; } } //lock cua hoat dong if (distance1 < 100 && digitalRead(nutcua) == 0){ giulock = 0; onoffchuong = 0; } else{onoffchuong = 1;} } } 86 PHỤ LỤC MÃ CODE ĐIỀU KHIỂN cảnh báo va chạm // Dùng arduino uno r3 // Cảm biến khoảng cách JSN-SR04T // Khai báo chân Trig Echo #include Servo myservo; // Khai báo đối tượng myservo dùng để điều khiển servo #include LiquidCrystal_I2C lcd(0x27,20,4); #define trigPin1 // Nối vào chân digital arduino #define echoPin1 // Nối vào chân digital arduino #define trigPin2 // Nối vào chân digital arduino #define echoPin2 // Nối vào chân digital arduino #define trigPin3 // Nối vào chân digital arduino #define echoPin3 // Nối vào chân digital arduino #define trigPin4 // Nối vào chân digital arduino #define echoPin4 // Nối vào chân digital arduino unsigned long duration1; // biến lưu tốc độ âm cb1 int distance1; // biến lưu khoảng cách unsigned long duration2; // biến lưu tốc độ âm cb2 int distance2; // biến lưu khoảng cách unsigned long duration3; // biến lưu tốc độ âm cb3 int distance3; // biến lưu khoảng cách unsigned long duration4; // biến lưu tốc độ âm cb4 int distance4; // biến lưu khoảng cách int val = 10; // chân điều khiển xung Servo Nối vào chân 10 digital arduino int VCC1 = 11; // Điều khiển relay ngắt dương 5v bướm ga Nối vào chân 11 digital arduino int VCC2 = 12; // Điều khiển relay ngắt dương 5v bướm ga Nối vào chân 12 digital arduino int horn = 13; // Điều khiển relay đóng Mass cho còi Nối vào chân 13 digital arduino void setup() { pinMode(horn, OUTPUT); pinMode(VCC1, OUTPUT); pinMode(VCC2, OUTPUT); myservo.attach(val); // Cài đặt chức điều khiển servo cho chân val pinMode(trigPin1, OUTPUT); pinMode(echoPin1, INPUT); pinMode(trigPin2, OUTPUT); pinMode(echoPin2, INPUT); pinMode(trigPin3, OUTPUT); pinMode(echoPin3, INPUT); pinMode(trigPin4, OUTPUT); pinMode(echoPin4, INPUT); lcd.init(); // LCD Begin lcd.init(); lcd.backlight(); lcd.setCursor(0,0); lcd.print("TRAI"); // In LCD chữ "TRAI" lcd.setCursor(11,0); lcd.print("TRC"); lcd.setCursor(0,2); lcd.print("PHAI"); lcd.setCursor(11,2); lcd.print("SAU"); 87 Serial.begin(9600); } void loop() { // cảm biến bên Trái digitalWrite(trigPin1, LOW); // Tắt chân trigPin microseconds delayMicroseconds(5); digitalWrite(trigPin1, HIGH); // Phát tín hiệu chân trigPin lên mức cao 20 microseconds: delayMicroseconds(20); digitalWrite(trigPin1, LOW); // Tắt chân trigPin // Đọc giá trị chân echoPin nhận ( đọc độ dài xung microseconds lưu vào biến duration) duration1 = pulseIn(echoPin1, HIGH); // Tốc độ âm distance1 = duration1*0.034/2; // Khoảng cách = tốc độ âm thanh*0.034/2 đơn vị centimet (Khoảng cách cảm biến đo tối đa 400-500 cm) // 0.034 thời gian việc gửi nhận sóng âm vài microsecond (µs) // Tốc độ âm (cm/µs) if(distance1