(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn

105 0 0
(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn

Đ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

(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn(Đồ án tốt nghiệp) Nghiên cứu và thiết kế thiết bị lưu trữ dữ liệu phục vụ xử lý xe sau tai nạn

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA CƠ KHÍ ĐỘNG LỰC ** ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU VÀ THIẾT KẾ THIẾT BỊ LƯU TRỮ DỮ LIỆU PHỤC VỤ XỬ LÝ XE SAU TAI NẠN SVTH: NÔNG THẾ LÂM MSSV: 16145431 SVTH: PHẠM NGỌC BẢO MSSV: 16145333 GVHD: ThS NGUYỄN TRỌNG THỨC Tp Hồ Chí Minh, tháng 01 năm 2021 LỜI CẢM ƠN Nhóm chúng em xin chân thành cảm ơn quý thầy từ mơn Điện Tử Ơ tơ, thầy khoa Cơ Khí Động Lực, trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, người dìu dắt, dạy chúng em suốt thời gian học tập Quý thầy cô tận tình truyền đạt, giúp đỡ từ kiến thức chuyên môn nhà trường đến thực tiễn sống giúp chúng em tiếp cận gần hiểu biết rõ ngành nghề mà chọn, truyền lửa nhiệt huyết yêu nghề, lời khuyên hướng giúp chúng em vượt qua giai đoạn khó học tập giảng đường Đại học Qua tảng kiến thức hiểu biết vững giúp chúng em hồn thành tập đồ án hành trang để chúng em bước vào đời Hơn hết nhóm gửi lời cảm ơn sâu sắc đến Thầy ThS – Nguyễn Trọng Thức (Giảng viên trường Đại học Sư phạm Kỹ thuật Thành Phố Hồ Chí Minh) tận tình hướng dẫn, bảo kịp thời, tạo điều kiện, động viên giúp đỡ chúng em nhiều mặt tinh thần kiến thức để chúng em vượt qua ngày tháng khó khăn trình thực đề tài báo cáo Bên cạnh chúng em xin gửi lời cảm ơn tới gia đình, bạn bè hết lịng ủng hộ, giúp đỡ góp ý cho nhóm suốt q trình thực Mặc dù cố gắng nỗ lực nhiều, kiến thức ỏi thời gian nghiên cứu có hạn nên thành đạt khơng tránh khỏi thiếu sót Do chúng em kính mong nhận đóng góp, dạy quý thầy để chúng em hồn thiện báo cáo tốt Nhóm chúng em xin chân thành cảm ơn! Tp Hồ Chí Minh, ngày … tháng 01 năm 2021 TM Nhóm sinh viên thực Phạm Ngọc Bảo Nơng Thế Lâm i TÓM TẮT Xử lý xe sau tai nạn vấn đề quan trọng, công cụ giúp điều tra viên nắm rõ tình hình vụ tai nạn chứng số dấu vết trường vụ tai nạn, chứng để điều tra viên tái phân tích xác ngun nhân q trình tai nạn Để thu thập chứng số, nhóm đề xuất thực đề tài “Nghiên cứu thiết kế hệ thống lưu trữ liệu phục vụ xử lý xe sau tai nạn” Với đề tài này, với kiến thức thân, chúng em tìm hiểu giao thức truyền liệu mạng CAN chuẩn giao tiếp OBD II để lấy liệu từ xe ý nghĩa thông số quan trọng xử lý vụ tai nạn từ nguồn tài liệu tham khảo Bước thứ 2, chúng em nghiên cứu module giao tiếp liệu mạng CAN, thuật toán lấy liệu, cảm biến gia tốc, xử lý lưu trữ liệu Sau tìm hiểu module thuật tốn, nhóm tiến hành thiết kế lắp mạch đọc liệu mạng CAN, đọc liệu cảm biến gia tốc, lưu trữ liệu thu thập vào thẻ nhớ theo ngày với số lần lấy mẫu lưu liệu lần/giây Nhóm thiết kế giao diện giao tiếp với file lưu trữ thẻ nhớ phần mềm LabVIEW để hiển thị lại thơng số lưu theo trình tự thời gian Cuối nhóm tiến hành giả lập va chạm module lưu trữ hiển thị liệu lưu LabVIEW ii MỤC LỤC Trang LỜI CẢM ƠN i TÓM TẮT ii MỤC LỤC iii DANH MỤC CÁC TỪ VIẾT TẮT VÀ KÍ HIỆU vi DANH MỤC CÁC BẢNG vii DANH MỤC CÁC HÌNH viii CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Lý chọn đề tài 1.2 Tình hình nghiên cứu ngồi nước 1.3 Tính cấp thiết đề tài 1.4 Mục tiêu đề tài 1.5 Phương pháp phạm vi nghiên cứu 1.6 Bố cục đề tài CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Tổng quan việc xử lý sau tai nạn 2.2 Tổng hoạt động CAN 12 2.2.1 Giới thiệu CAN 12 2.2.2 CAN 2.0 14 2.3 Tìm hiểu OBD II .22 2.3.1 Giới thiệu chung 22 2.3.2 Cấu tạo Jack OBD-II 23 2.3.3 Tìm hiểu OBD-II PID 24 2.4 Chuẩn giao tiếp truyền liệu 29 2.4.1 Chuẩn giao tiếp SPI 29 iii 2.4.2 Chuẩn giao tiếp I2C 32 2.5 Tổng quan cảm biến MEMS 36 2.6 Phần mềm LabVIEW 44 2.7 Giới thiệu Arduino IDE 1.8.5 47 CHƯƠNG 3: CƠ SỞ LÝ THUYẾT LINH KIỆN ĐIỆN TỬ 49 3.1 Arduino Mega 49 3.2 Module SD 50 3.3 Module Canbus Shield 51 3.4 Module cảm biến gia tốc MPU6050 52 3.5 Module giảm áp DC LM2596 54 CHƯƠNG 4: THIẾT KẾ, THI CÔNG MÔ HÌNH 55 4.1 Sơ đồ khối 55 4.2 Sơ đồ module 56 4.3 Sơ đồ đấu dây chi tiết 57 4.4 Sản phẩm hoàn thiện 58 4.5 Lập trình 59 4.5.1 Lưu đồ thuật toán 59 4.5.2 Code chương trình 60 4.6 Xây dựng giao diện hiển thị Labview 67 4.6.1 Giao diện người dùng 67 4.6.2 Chương trình Code Labview 72 CHƯƠNG 5: KẾT QUẢ THỰC NGHIỆM 78 5.1 Lắp đặt thiết bị 78 5.2 Kết thu 80 5.2.1 Kết thu Module giả lập 80 iv 5.2.2 Kết lưu trữ thẻ SD 81 5.2.3 Kết hiển thị Labview 82 Chương KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 86 6.1 Những kết đạt 86 6.2 Hướng phát triển đề tài 86 TÀI LIỆU THAM KHẢO .87 PHỤ LỤC .88 v DANH MỤC CÁC TỪ VIẾT TẮT VÀ KÍ HIỆU ACK Acknowledge Field CAN Control Area Network CRC Cyclic Redundancy Check Field CS/ SS Chip Select/ Slave Select DLC Data Length Code DTCs Diagnostic Trouble Codes EDR Event Data Recorders EOF End Of Frame Field GPS Global Position Sensor I2C Inter-Intergrated Circuit ID Identification IDE Identifier Extension IDE Integrated Development Environment LabVIEW Laboratory Virtual Instrumentation Engineering Workbench LDO Low Dropout Regulator MEMs Microelectromechanical systems MISO (SO) Master – In / Slave – Out MOSI (SI) Master – Out / Slave – In NC Numeric Control NI National Instruments OBD On-Board Diagnostic RTC Real Time Control RTR Remote Transmission Request SCK (SCLK) Serial Clock SCL Serial Clock Line SDA Serial Data Line SOF Start Of Frame Field SPI Serial Peripheral Bus SRR Substitute Remote Request vi DANH MỤC CÁC BẢNG Trang Bảng 2.1: Ngưỡng gia tốc xem va chạm nhẹ Bảng 2.2: Các mức điện áp mạng CAN theo tiêu chuẩn 11898 (CAN tốc độ cao) 20 Bảng 2.3: Các mức điện áp mạng CAN theo tiêu chuẩn 11519 (CAN tốc độ thấp) 21 Bảng 2.4: Các độ dài bus khác tốc độ bit tối đa tương ứng 21 Bảng 2.5: Bảng mô tả ý chân Jack OBD II 23 Bảng 2.6: Mô tả chế độ OBD-II PIDs 24 Bảng 2.7: Dữ liệu trả gửi mã PIDs 25 Bảng 2.8: Bảng giá trị PIDs chế độ 01 26 Bảng 2.9: Truy vấn liệu 28 Bảng 2.10: Phản hồi liệu 28 Bảng 4.1: Sơ đồ nối dây 57 vii DANH MỤC CÁC HÌNH Trang Hình 2.1: Các thơng số báo cáo liệu tai nạn lưu lại Hình 2.2: Các thông số báo cáo liệu tai nạn Hình 2.3: Đồ thị số thông số theo thời gian tai nạn Hình 2.4: Các góc xoay thơng số yaw, pitch, roll xe 10 Hình 2.5: Roll xuất xe vào góc cua 11 Hình 2.6: Góc Yaw xe tơ 12 Hình 2.7: Khung liệu (Data frame) mạng CAN 15 Hình 2.8: Khung liệu mạng CAN 2.0A – khung tiêu chuẩn 15 Hình 2.9: Khung liệu mạng CAN 2.0B – khung mở rộng 18 Hình 2.10: Phân loại Jack OBD 22 Hình 2.11: Chân jack OBD 22 Hình 2.12: Sơ đồ kết nối Master với nhiều Slave 31 Hình 2.13: Cấu trúc liệu giao dịch 33 Hình 2.14: Điều kiện bắt đầu giao dịch liệu 34 Hình 2.15: Điều khiện kết thúc giao dịch liệu 35 Hình 2.16: Các bit liệu gửi đường SDA Master gửi đến Slave 35 Hình 2.17: Các bit liệu gửi đường SDA Master nhận liệu từ Slave 35 Hình 2.18: Giao tiếp I2C Master Slave 36 Hình 2.19: Sơ đồ hệ đo gia tốc 37 Hình 2.20: Các kiểu cảm biến gia tốc 37 Hình 2.21: Hệ trục cảm biến gia tốc 38 Hình 2.22: Đồ thị gia tốc, vận tốc, độ dịch chuyển theo thời gian 39 Hình 2.23: Hệ khối lượng – lị xo sử dụng để đo gia tốc 39 Hình 2.24: Mơ hình tụ điện đơn (bên trái) hai tụ nối tiếp (bên phải) 40 viii Hình 2.25: Hiệu ứng Coriolis 41 Hình 2.26: Lực Coriolis 42 Hình 2.27: Sơ đồ quay hổi chuyển lị xo khối lượng đơn giản 42 Hình 2.28: Sơ đồ cấu trúc học cảm biến góc xoay 43 Hình 2.29: Khung khối lượng cộng hưởng bị dịch chuyển tác động hiệu ứng Coriolis 43 Hình 2.30: Logo phần mềm LabVIEW 44 Hình 2.31: Cửa số Getting Started LabVIEW 47 Hình 2.32: Giao diện Arduino IDE 1.8.5 48 Hình 3.1: Board Arduino Mega 2560 49 Hình 3.2: Module micro SD card 50 Hình 3.3: Module Can bus Shield 51 Hình 3.4: Module cảm biến gia tốc MPU6050 52 Hình 3.5: Hệ trục tọa độ vật thể không gian 53 Hình 3.6: Module giảm áp DC LM2596 54 Hình 4.1: Sơ đồ khối 55 Hình 4.2: Sơ đồ module 56 Hình 4.3: Sơ đồ đấu dây chi tiết 57 Hình 4.4: Mơ hình lưu trữ liệu tai nạn 58 Hình 4.5: Lưu đồ thuật tốn 59 Hình 4.6: Giao diện hiển thị với người dùng Labview 67 Hình 4.7: Giao diện hiển thị tốc độ vị trí tay số 68 Hình 4.8: Giao diện hiển thị góc đánh lái người lái góc xoay Yaw xe 68 Hình 4.9: Giao diện hiển thị góc xoay Pitch Roll xe 69 Hình 4.10: Giao diện hiển thị gia tốc thẳng đứng ngang xe 69 Hình 4.11: Giao diện tiến hiệu ly hợp, bàn đạp ga phanh xe 69 ix 5.2 Kết thu 5.2.1 Kết thu Module giả lập Hình 5.4: Giao diện hiển thị module giả lập Màn hình LCD thể thơng số vị trí bàn đạp ga, góc đánh vơ lăng, tốc độ tay số điều khiển xác điều kiện giả lập 80 5.2.2 Kết lưu trữ thẻ SD Hình 5.5: Kết lưu thẻ SD Các tín hiệu lưu dạng file txt thẻ nhớ Mỗi tín hiệu chia thành cột riêng biệt nhằm dễ dàng cho việc xử lý số liệu Labview 81 5.2.3 Kết hiển thị Labview Hình 5.6: Kết hiển thị Labview Giao diện Labview thể thông số chuyển động trước sau tai nạn 30s Giúp người điều tra viên đánh giá tai nạn có nhìn tổng quan thơng số thay đổi thời điểm xảy tai nạn Thông số SRS: Trạng thái dây an tồn, túi khí có bị lỗi thời gian tai nạn hay khơng Thơng số giúp đánh giá người xe có hay khơng sử dụng dây an tồn Thơng số gia tốc: Thơng số gia tốc tính tốn dựa vào thay đổi vận tốc delta V khoảng thời gian nhỏ lấy mẫu, gia tốc tính với đơn vị m/s2, đại lượng đặc trưng cho thay đổi vận tốc xe theo thời gian, người ta dựa vào số liệu gia tốc để nhận định phân tích mức độ nghiêm trọng vụ tai nạn, gia tốc lớn, thuộc tính liên quan đến đại lượng gia tốc lực quán tính, momen quán tính lớn, thành phần thước đo cho nghiệm trọng vụ tai nạn Thông số vận tốc: Thông số vận tốc cho biết tốc độ xe trước, sau thời điểm xảy tai nạn, đại lượng giúp người điều tra biết thời điểm xảy tai nạn, người điều khiển phương tiện có phạm luật tốc độ hay không Thông số tay số: Thông số tay số giúp điều tra viên đánh giá hành vi tác động người lái lên xe Số tiến (1,2,3) số lùi (R), hay số trung gian(N) ảnh hưởng đến tốc độ hướng chuyển động xe 82 Thông số bàn đạp ga: Dữ liệu bàn đạp ga lấy từ cảm biến bàn đạp ga, cho biết thời điểm trước, sau va chạm, người lái xe có đạp bàn đạp ga hay không, giá trị phần trăm bàn đạp ga Thông số bàn đạp phanh: Dữ liệu bàn đạp phanh (phần trăm bàn đạp phanh) lấy từ công tắc cảm biến lực đạp phanh kết hợp với liệu bàn đạp ga cho biết liệu người lái có chủ động giảm tốc để tránh tai nạn giảm thiểu mức độ nghiêm trọng tai nạn hay khơng Thơng số góc lái: Dữ liệu thơng số góc lái lấy từ cảm biến góc lái xe, lắp vị trí vơ lăng lái Đại lượng giúp người điều tra viên biết thời điểm trước, sau va chạm, người lái xe lái xe với góc lái nào, người lái có chủ động đánh lái để tránh tai nạn giảm mức độ nghiêm trọng tai nạn hay khơng Hình 5.7: Kết đồ thị hành vi người lái chuyển động xe 83 Hình 5.8: Kết đồ thị tín hiệu xe Hình 5.9: Giao diện thông số bàn đạp ga tốc độ theo thời gian 84 Hình 5.10: Giao diện thơng số góc lái góc Yaw xe theo thời gian Hình 5.11: Giao diện thơng số tay số, phanh ly hợp xe 85 Chương KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 6.1 Những kết đạt Sau thời gian thực đồ án với hướng dẫn giúp đỡ giảng viên hướng dẫn ThS Nguyễn Trọng Thức, nhóm hồn thành đề tài đạt kết sau: Thực giả lập vài thông số quan trọng cần thu thập để xử lý tái sau xe bị tai nạn, lưu trữ liệu vào thẻ nhớ thông qua việc lấy liệu giao thức CAN, tăng mẫu lấy liệu để đạt số liệu lưu lần/giây Thiết kế công cụ hiển thị lại giá trị thu thập thành đồ thị theo thời gian để thuận tiện cho trình phân tích Qua đề tài chúng em có hội tìm hiểu sâu chuẩn giao tiếp CAN xe ô tô, kết hợp module, cảm biến lập trình vi điều khiển vào thực tế, nâng cao kỹ tìm kiếm, sàng lọc đọc hiểu tài liệu, thấy thiếu xót kiến thức để học tập trao dồi cho công việc sau 6.2 Hướng phát triển đề tài  Sử dụng lọc nhiễu để tăng độ xác cảm biến MPU 6050 loại bỏ giá trị gia tốc trọng trường lên gia tốc thẳng gia tốc ngang để tính vận tốc thực tế xe  Thử nghiệm thiết bị xe thực tế có hỗ trợ cung cấp thơng số quan trọng góc lái, phanh, tay số, …  Sử dụng kết hợp thông qua module bluetooth, module wifi để thu thập liệu xe, lưu trữ server  Sử dụng cảm biến GPS để thu tọa độ nạn, kết hợp với cảm biến gia tốc để đo xác tốc độ thực tế xe 86 TÀI LIỆU THAM KHẢO (1) https://www.rietveld.nl/wp-content/uploads/2019/04/EDR-Event-Data-Recorder2019.pdf truy cập 17/11/2020 (2) https://www.aaam.org/education-resource-center/public-position-statements/eventdata-recorder-position-statement/ truy cập 17/11/2020 (3) https://carsexplained.wordpress.com/2017/02/21/fundamentals-of-car-science-pitchand-roll/ truy cập 5/1/2021 (4) https://mesidas.com/can-canbus/ truy cập 11/1/2021 (5) https://news.hoikysuotovn.com/cau-truc-tren-giac-chan-doan-obd-ii-va-y-nghia-caccon-so-trong-ma-loi-obd-ii/ truy cập 15/1/2021 (6) https://en.wikipedia.org/wiki/OBD-II_PIDs truy cập ngày 15/1/2021 (7) http://dammedientu.vn/chuan-giao-tiep-spi-va-cach-ket-noi/ truy cập ngày 9/1/2021 (8) http://arduino.vn/bai-viet/1053-giao-tiep-i2c-voi-nhieu-module truy cập ngày 8/1/2021 (9) http://dammedientu.vn/gioi-thieu-chuan-giao-tiep-i2c/ (10) https://stackoverflow.com/questions/58469297/how-do-i-calculate-the-yaw-pitchand-roll-of-a-point-in-3d?noredirect=1&lq=1 (11) https://www.analog.com/en/technical-articles/mems-gyroscope-providesprecision-inertial-sensing.html?fbclid=IwAR1k8X3WwFM8Z9o4vYceP2KbcX9N6x3DYcoZ-lIvnCA82oRAcuv7nmhfQ8 (12) https://sensorwiki.org/sensors/gyroscope?fbclid=IwAR0uKr-O7tweqTpYyeZwl73D4Pi6xzeqHasSU-ul0hJ7qu1j5V8KPK4LII (13) http://www.formula1-dictionary.net/motions_of_f1_car.html (14) https://www.geotab.com/white-paper/collision-reconstruction-with-telematics/ 87 PHỤ LỤC Code module giả lập: #include // khai báo thư viện CAN #include //Khai báo thư viện SPI #include //Khai báo thư viện wire cho I2C #include //Khai báo thư viện I2C LiquidCrystal_I2C lcd(0x27,20,4); #include //Khai báo thư viện RTC int readA0(); RTC_DS1307 rtc; char daysOfTheWeek[7][12] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; 10 int St,Sp, STA; 11 const int VPA = A3; 12 const int Speed=A2; 13 const int Steer=A1; 14 const int Clutch=4; 15 const int SRS=5; 16 const int Brake=8; 17 const int SPI_CS_PIN = 10; 18 MCP_CAN CAN(SPI_CS_PIN); //Set CS pin module CAN Bus 19 void setup() 20 { Serial.begin(9600); 21 22 if (! rtc.begin()) 23 { 24 Serial.print("Couldn't find RTC"); 25 while (1); 26 } 27 28 if (! rtc.isrunning()) 88 29 { 30 Serial.print("RTC is NOT running!"); 31 Serial.println(); 32 } 33 rtc.adjust(DateTime(F( DATE ), F( TIME ))); 34 pinMode(0, OUTPUT); //Khai báo chân tín hiệu 35 pinMode(Clutch, INPUT); 36 pinMode(VPA, INPUT); 37 pinMode(Speed, INPUT); 38 pinMode(Steer, INPUT); 39 pinMode(SRS, INPUT); 40 pinMode(A0, INPUT); 41 lcd.init(); //Khởi tạo LCD 42 lcd.backlight(); 43 lcd.print("VPA:"); //VARIBLE PEDAL ACCELARATE 44 lcd.setCursor(9,0); 45 lcd.print("Speed:"); //VEHICLE SPEED 46 lcd.setCursor(0,1); 47 lcd.print("STA:"); //STEERING ANGLE 48 lcd.setCursor(9,1); 49 lcd.print("Gear:"); //GEAR NUMBER 50 while (CAN_OK != CAN.begin(CAN_500KBPS)) // khởi tạo tốc độ CAN : baudrate = 500k 51 { 52 Serial.println("CAN BUS Shield init fail"); 53 Serial.println(" Init CAN BUS Shield again"); 54 digitalWrite(0,LOW); 55 delay(100); 56 } 57 Serial.println("CAN BUS Shield init ok!"); 58 digitalWrite(0,HIGH); 89 59 } 60 unsigned char DataVPA[8] = {0x02, 0x41, 0x49, 0, 0, 0, 0, 0}; //khởi tạo smg 61 unsigned char DataSpeed[8] = {0x02, 0x41, 0x0D, 0, 0, 0, 0, 0}; 62 unsigned char DataSteer[8] = {0x02, 0x41, 0x25, 0, 0, 0, 0, 0}; 63 unsigned char DataGear[8] = {0x02, 0x41, 0x26, 0, 0, 0, 0}; 64 unsigned char DataBrake[8] = {0x02, 0x41, 0x60, 0, 0, 0, 0, 0}; 65 unsigned char DataSRS[8] = {0x02, 0x41, 0x28, 0, 0, 0, 0, 0}; 66 unsigned char DataClutch[8] = {0x02, 0x41, 0x35, 0, 0, 0, 0, 0}; 67 unsigned char DataTime[8] = {0x02, 0x41, 0x30, 0, 0, 0, 0, 0}; 68 unsigned char DataDate[8] = {0x02, 0x41, 0x31, 0, 0, 0, 0, 0}; 69 void loop() 70 { 71 DateTime now = rtc.now(); //gán giá trị cho smg 72 DataDate[3]=now.day(); 73 DataDate[4]=now.month(); 74 DataDate[5]=(now.year()/1000)*10+(now.year()%1000)/100; 75 DataDate[6]=now.year()%100; 76 DataTime[3]=now.hour(); 77 DataTime[4]=now.minute(); 78 DataTime[5]=now.second(); 79 DataGear[3]=readA0(); 80 DataBrake[3]=digitalRead(Brake); 81 DataSRS[3]=digitalRead(SRS); 82 DataClutch[3]=digitalRead(Clutch); 83 DataVPA[3]=map(analogRead(VPA),0,1023,0,100); 84 Sp=map(analogRead(Speed),0,1023,0,120); //gán giá trị speed 85 DataSpeed[3]=Sp; 86 St=map(analogRead(Steer),0,1023,-100,100); //gán giá trị steer 87 STA=map(analogRead(Steer),0,1023,-600,600); 88 DataSteer[3]=abs(St); //gán giá trị steer cho msg 89 if (St>0) 90 90 { 91 DataSteer[4]=1; 92 } 93 else 94 { 95 DataSteer[4]=0; 96 } 97 lcd.setCursor(4,0); 98 if (DataVPA[3]=10&&DataVPA[3]

Ngày đăng: 28/12/2022, 09:41

Tài liệu cùng người dùng

Tài liệu liên quan