1. Trang chủ
  2. » Luận Văn - Báo Cáo

(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước

93 1 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

Định dạng
Số trang 93
Dung lượng 4,82 MB

Nội dung

(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước(Đồ án tốt nghiệp) Nghiên cứu phát triển lập trình phương tiện di chuyển tránh vật cản và bám theo bản đồ cho trước

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA CƠ KHÍ ĐỘNG LỰC - ĐỒ ÁN TỐT NGHIỆP Đề tài: NGHIÊN CỨU PHÁT TRIỂN LẬP TRÌNH PHƯƠNG TIỆN DI CHUYỂN TRÁNH VẬT CẢN VÀ BÁM THEO BẢN ĐỒ CHO TRƯỚC GVHD: TS Nguyễn Bá Hải SVTH: Nguyễn Văn Thuận MSSV: 14145282 SVTH: Hồ Minh Tâm MSSV: 14145247 TP Hồ Chí Minh - 07/2018 LỜI CẢM ƠN Nhóm em xin gửi lời cảm ơn sâu sắc đến thầy TS Nguyễn Bá Hải _ Giảng viên môn Điện tử ô tô trực tiếp hướng dẫn tận tình giúp đỡ tạo điều kiện để nhóm em hồn thành tốt đề tài Nhóm em xin gửi lời chân thành cảm ơn thầy Khoa Cơ khí động lực trang bị cho chúng em kiến thức quý báu để hồn thành tốt đề tài này, tạo điều kiện tốt cho chúng em hồn thành đề tài Nhóm em gửi lời đồng cảm ơn đến bạn lớp 14145 chia sẻ trao đổi kiến thức kinh nghiệm quý báu thời gian thực đề tài Cuối lời cảm ơn sâu sắc chân thành đến không gian sáng tao Javi Coffe Green House Thủ Đức – 13 đường số 7, phường Linh Chiếu, quận Thủ Đức, thành phố Hồ Chí Minh hỗ trợ chúng em không gian, số trang thiết bị để phục nghiên cứu gia công sản phẩm Mặc dù cố gắng nỗ lực mình, song chắn đồ án khơng tránh khỏi thiếu sót Chúng em mong nhận thông cảm bảo tận tình từ q thầy bạn Xin chân thành cảm ơn ! Người thực đề tài Nguyễn Văn Thuận -Hồ Minh Tâm MỤC LỤC Trang bìa Nhiệm vụ đồ án Lời cảm ơn Mục lục Liệt kê hình vẽ Liệt kê bảng vẽ Tóm tắt CHƯƠNG 1: GIỚI THIÊU TỔNG QUAN VỀ ĐỀ TÀI 1.1.Đặt vấn đề 1.2.Mục tiêu .2 1.3.Giới hạn .2 1.4.Nội dung nghiên cứu CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1.Giới thiệu chương .4 2.2.Tìm hiểu Arduino phần mềm IDE lập trình cho mạch Arduino .4 2.2.1.Arduino gì? Và cách lập trình cho mạch Ardunino .4 2.2.2.Sơ lược Arduino Mega 2560 .5 2.2.3 Thông số kĩ thuật Arduino Mega 2560 2.2.4.Sơ đồ chân Arduino Mega 2560 2.2.5 Đánh giá hoạt động 2.2.6.Kết luận 2.3.Giới thiệu Mạch điều kiển động DC L298 2.3.1.Sơ lược Moduel điều khiển động L298 2.3.2.Thông số kỹ thuật Moduel điều khiển động L298 V2 2.3.3.Sơ đồ chân nguyên lý hoạt động 2.3.4.Nguyên lý hoạt động module L298 10 2.4.Giới thiệu cảm biến siêu âm SRF05 .12 2.4.1.Tổng quan loại cảm biến 12 2.4.2.Sơ lược cảm biến SRF05 14 2.4.3.Nguyên lý hoạt động cảm biến siêu âm 15 2.4.4.Các chế độ cảm biến siêu âm SRF05 16 2.5.Giới thiệu Động Cơ DC Servo Giảm Tốc GA25 V1 19 2.6.Giới thiệu mạch tăng áp XL6009 22 2.6.1.Giới thiệu chung .22 2.6.2.Nguyên lý hoạt động mạch tăng áp 23 2.6.3.Đánh giá hoạt động 25 2.6.4.Kết luận 25 2.7.Cơng tắc hành trình 25 CHƯƠNG 3: TÍNH TOÁN, THIẾT KẾ VÀ PHƯƠNG PHÁP ĐIỀU KHIỂN .27 3.1.Giới thiệu 27 3.2.Thiết kế sợ hệ thống khí lựa chọn truyền khí .27 3.2.1.Sơ đồ tổng quan phương tiện 27 3.2.2.Thiết kế khung vỏ phương tiện 29 3.2.2.1.Thiết kế khung xe 29 3.2.2.2.Thiết kế phần vỏ phương tiện .31 3.2.2.3.Thiết kế cụm gắn dẻ lau .32 3.2.2.4.Mơ hình phương tiện 3D 33 3.2.3.Thiết kế tính tốn chọn cơng suất động 35 3.2.4.Tính tốn dung lượng pin 39 3.3.Thiết kế sơ đồ khối hệ thống lập trình cho phương tiện 40 3.3.1.Giới thiệu chương 40 3.3.2.Phương pháp điều chế cung PWM 40 3.3.2.1.Phương pháp điều chế độ rộng xung 41 3.3.2.2.Phương pháp tạo xung VDK Arudino Mega2560 .42 CHƯƠNG 4: THIẾT KẾ VÀ GIẢI THÍCH GIẢI THUẬT ĐIỀU KHIỂN .43 4.1.Bài tốn di chuyển phịng nhiều vật cản .43 4.2.Lưu đồ phương tiện di chuyển zigzag .44 4.2.1.Giải thích lưu đồ di chuyển zigzag 45 4.3.Lưu đồ điều kiện phương tiện dừng lại .45 4.3.1.Giải thích lưu đồ điều kiện phương tiện dừng lại 46 4.4.Lưu đồ tránh vật cản 46 4.4.1Giải thích lưu đồ .47 4.5.Thiết kế thi công mạch điện 47 4.5.1.Thiết kế thi công mạch kết nối Arduino module điều khiển động L298 47 4.5.2.Thiết kế thi công mạch kết nối cảm biến siêu âm SRF05 51 CHƯƠNG 5: KẾT QUẢ,NHẬN XÉT VÀ ĐÁNH GIÁ .54 5.1 Kết .54 5.1.1.Về phần cứng 54 5.1.2.Về phần mềm 58 5.2.Nhận xét, đánh giá .58 5.2.1.Hiệu suất thiết bị điện tử 58 5.2.1.Hiệu hoạt động 59 5.3.Kết chạy thực tế 59 5.3.1.Mơ hình thí nghiệm 59 5.3.2.Trường hợp 1: Phương tiện di chuyển lần zigzag xung quanh phòng 60 5.3.2.Trường hợp 2: Phương tiện di chuyển lần có vật cản 62 CHƯƠNG 6:KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 66 6.1.Kết luận 66 6.2.Hướng phát triển 67 TÀI LIỆU THAM KHẢO…………………………………………… ……… 68 PHU LỤC……………………………………………………….……….…….……69 MỤC LỤC TỪ VIẾT TẮT VĐK : Vi điều khiển DC : Direct Current IC : Integrated Circuit PID : Process and Instrumentation Diagram PWN : Pulse Width Modulation VOM : Volt-Ohm-Milliammeter IDE : Integrated Development Environment LIỆT KÊ HÌNH VẼ Hình Trang Hình 2.1: Arduino Mega 2560 Hình 2.2: Mạch Arduino Mega 2560 – sơ đồ chân Hình 2.3: Moduel điều khiển động Hình 2.4: Sơ đồ nguyên lý moduel L298 để điều khiển động DC 10 Hình 2.5: Motor quay thuận (INT1 = 1; INT2 = 0) 12 Hình 2.6: Motor quay nghịch (INT1=0; INT2 = 1) 12 Hình 2.7: Cảm biến siêu âm SRF05 15 Hình 2.8: Giản đồ định thời SRF05, chế độ 16 Hình 2.9: Giản đồ định thời SRF05, chế độ 17 Hình 2.10: Sơ đồ chân cảm biến siêu âm SRF05 18 Hình 2.11: Động Cơ DC Servo Giảm Tốc GA25 V1 19 Hình 2.12: Nguyên lý hoạt động encoder 21 Hình 2.13: Hai dãy mã hóa đối xứng lệch pha với góc 90° 22 Hình 2.14: Mạch tăng áp XL6009 23 Hình 2.15: Nguyên lý hoạt động mạch tăng áp 24 Hình 2.16: Mạch nguồn tăng áp XL6009 25 Hình 2.17: Cơng tắc hành trình 26 Hình 3.1: Sơ đồ phương tiện lau nhà 28 Hình 3.2: Bản vẻ kích thước tổng quan phương tiện 29 Hình 3.3: Hình dáng khung thiết kế autocad 30 Hình 3.4: Khung xe sau lên 3D cắt lazer 31 Hình 3.5: Thiết kế phần vỏ phương tiện 31 Hình 3.6a: Vỏ thiết kế 3D 32 Hình 3.6b: Vỏ thiết kế 3D lắp phương tiện 32 Hình 3.7a: Mặt trước cụm gắn dẻ lau bên trái 33 Hình 3.7b: Mặt sau cụm gắn dẻ lau bên trái 33 Hình 3.8a: Mặt trước cụm gắn dẻ lau bên phải 33 Hình 3.8b: Mặt sau cụm gắn dẻ lau bên phải 33 Hình 3.9: Mơ hình 3D phía phương tiện 34 Hình 3.10: Mơ hình 3D phía phương tiện 34 Hình 3.11: Mơ hình 3D mặt trước phương tiện 34 Hình 3.12: Mơ hình 3D mặt sau phương tiện 34 Hình 3.13: Mơ hình 3D tổng quan phương tiện 35 Hình 3.14: Xét lực tác dụng lên xe mặt phẳng 36 Hình 3.15: Hình biểu diễn phương pháp điều chế xung PWM 41 Hình 4.1: Khoảng sáng phát vật cản cảm biến 43 Hình 4.2: Lưu đồ giải thuật di chuyển zigzag 44 Hình 4.3: Lưu đồ điều khiện phương tiện dừng lại 45 Hình 4.4: Lưu đồ tránh vật cản 46 Hình 4.5: Mạch kết nối Arduino Module điều khiển động L298 48 Hình 4.6: Bố trí lắp đặt mạch kết nối Arduino Module điều khiển động L29 49 Hình 4.7: Sơ đồ bố trí lắp đặt mạch kết nối Arduino với cảm biến siêu âm SRF05 52 Hình 5.1: Hình ảnh Xiaomi Mi Vacuum Robot 54 Hình 5.2: Thiết kế nhóm sản phẩm nhóm 55 Hình 5.3: Bộ sạc hình LCD hiển thị dung lượng pin 55 Hình 5.4: Code xây dựng tảng Arduino 1.8.5 58 Hình 5.5: Mơ hình mơ phịng thí nghiệm 60 Hình 5.6: Mô đường lý thuyết trường hợp 61 Hình 5.7a: Phương tiện xuất phát 61 Hình 5.7b: Phương tiện rẽ lần 61 Hình 5.7c: Phương tiện rẽ lần 62 Hình 5.7d: Phương tiện rẽ lần 62 Hình 5.7e: Phương tiện rẽ tới đích kết thúc 62 Hình 5.8: Mơ đường lý thuyết trường hợp 63 Hình 5.9a: Phương tiện xuất phát 63 Hình 5.9b: Phương tiện rẽ lần 63 Hình 5.9 c,d: Phương tiện di chuyển zizag tránh vật cản 64 Hình 5.9 e,f: Phương tiện di chuyển zigzag tránh vật cản thứ 64 Hình 5.9g: Phương tiện tới đích kết thúc 64 ii iii LIỆT KÊ BẢNG Bảng Trang Bảng 2.1: Thông số kĩ thuật Arduino Mega 2560………… …………………… …6 Bảng 2.2: Bốn cổng Serial giao tiếp với phần cứng… …………………………… Bảng 2.3: Bảng so sánh loại cảm biến …………………….…………………….13 Bảng 3.1: Bảng so sánh loại động cơ………….…………………………………38 Bảng 3.2: Bảng thông số kỹ thuật Động Cơ DC Servo Giảm Tốc GA…………… 39 Bảng 3.4: Bảng phương pháp điều khiển xung PWM Arduino hàm analogWrite………………………………………………………………………… 42 Bảng 4.1: Sơ đồ chân kết nối Arduino, module điều khiển động nguồn…… 50 Bảng 4.2: Bảng sơ đồ chân kết nối Arduino với cảm biến siêu âm SRF05 53 Bảng 5.1: Bảng thông số kĩ thuật sản phẩm…………………………………… 56 Bảng 5.2: Bảng chi phí giá thành sản phẩm …………………………………….56 Bảng 5.3: Bảng giá khảo sát sản phẩm tương tự thị trường ………….……… 57  Phương tiện di chuyển tồn số điểm mù nơi mà cảm biến siêu âm chưa quét tới  Phương tiện di chuyển bao quát 75% tổng điện tích yêu cầu hạn chế thiết bị cảm biến thuật toán  Trong thời gian làm khóa luận nhóm dừng lại việc hồn thành chức phương tiện, chưa trọng đến vấn đề tính phụ hỗ trợ ứng dụng thực tế , nghĩa sản phẩn cần thêm thời gian để tiếp tục phát triển để ứng dụng mạnh mẽ vào sống ngày 6.2.Hướng phát triển Để sản phẩm nhóm ngày hồn thiện với mục tiêu hướng đến sản phẩm thương mại, bên cạnh giải hạn chế mà nhóm chưa giải thời gian làm khóa luận nhóm đưa hướng phát triển cho sản phẩm sau:  Phát triển ứng dụng cho hệ điều hành, Android, iOS để điều khiển sản phẩm qua điện thoại Đồng liệu sản phẩm smart phone với Chỉ cần sử điện thoại sử dụng internet đăng nhập để điều khiển sản phẩm đâu thêm, chỉnh sửa, hẹn hoạt động, xóa lịch hoạt động phương tiên cách tiện lợi cho khách hàng  Phát triển thêm nhiều chức phụ: tự động sạc, chống rơi cầu thang, , lưu trữ lên lịch trình hoạt động,…  Tối ưu sản phẩm để tốn lượng giúp khéo dài hoạt động  Là tảng phát triển để ứng nhiều phương tiện ứng dụng cụ thê thể thực tiển nhiều lĩnh vực: xe tự giao hàng thông minh ngành vận tải, xe tự đổ rác thông minh, phương tiện lau nhà tự hành thơng minh sử dụng gia đình, phương tiện dò đường, lập đồ phục vụ nghiên cứu, phương tiện cho thức ăn cho gia súc thông minh mơ hình cơng nghiêp… 67 TÀI LIỆU THAM KHẢO [1] http://www.itsdigest.com/10-advantages-autonomous-vehicles [2] http://arduino.vn/ [3] http://hshop.vn/ [4] Trần Thuận Hoàng, Nghiên cứu phương pháp tổng hợp cảm biến dùng cho kỹ thuật dẫn đường robot di động, luận án tiến sĩ ngành công nghệ điện tử viễn thông- Đại học Quốc gia Hà Nội [5] Trần Thị Thủy- Nguyễn Quang Thắng - Đinh Sơn Thạch “Đo khoảng cách xác định vị trí vật thể phương pháp siêu âm”-Khoa Khoa học Ứng dụng, trường Đại học Bách khoa – ĐHQG TP.HCM-Phịng thí nghiệm Cơng nghệ Nano, ĐHQG TP.HCM [6 ] Ths Hà Văn Phương- Bài tập lớn môn Đo lường cảm biến -Phân tích xây dựng hệ thống đo điều khiển tốc độ động cơ-Trường Đại học Công Nghiệp Hà Nội [7] GS.TSKH Thân Ngọc Hồn (2004), Điện tử cơng suất, Nhà xuất xây dựng [8] [9] Sách Vật lý đại cương (A1)-Đại học quốc gia thành phố Hồ Chí Minh https://solarpower.vn/phuong-phap-thiet-ke-he-thong-dien-nang-luong-mattroi/ [10] VŨ QUANG HUY ,” Điều chế độ rộng xung-Pulse-Width Modulation”,www.stdio.vn,2015 68 PHỤ LỤC CODE CHƯƠNG TRÌNH #include #define trig1 29//khai bao chan trig cảm biến bên trái #define echo1 28//khai bao chan echo cảm biến bên trái #define trig2 32//khai bao chan trig cảm biến truoc #define echo2 33//khai bao chan echo cảm biến truoc #define trig3 51//khai bao chan trig cảm biến bên phai #define echo3 50//khai bao chan echo cảm biến bên phai #define trig4 46//khai bao chan trig cảm biến đằng sau #define echo4 47//khai bao chan echo cảm biến đằng sau double T, T2, xung, xung2, vong; double tocdo , tocdo2; bool flag_phai = true; unsigned int int_tocdo; int dem; const int congtac1 = 24; const int congtac2 = 25; int giatri1 = 0; int giatri2 = 0; //motor int INA1 = 40;// chân điều khiển dong co ben phai int INA2 = 42;//chân điều khiển dong co ben phai 69 int ENA = 5; // chan dieu khien toc pwm cua dong co ben phai // Motor int INB1 = 41;// chân dieu khien tin hieu dong co ben trai int INB2 = 43;// chân điều khiển dong co ben trai int ENB = 6;// chan dieu khien toc pwm cua dong co ben trai void setup() { Serial.begin(9600); pinMode(trig1, OUTPUT); pinMode(echo1, INPUT); pinMode(trig2, OUTPUT); pinMode(echo2, INPUT); pinMode(trig3, OUTPUT); pinMode(echo3, INPUT); pinMode(trig4, OUTPUT); pinMode(echo4, INPUT); pinMode(INA1, OUTPUT); pinMode(INA2, OUTPUT); pinMode(ENA, OUTPUT); pinMode(INB1, OUTPUT); pinMode(INB2, OUTPUT); pinMode(ENB, OUTPUT); pinMode (2, INPUT_PULLUP); //CHAN NGAT pinMode (8, INPUT_PULLUP); //CHAN DOC INCODER ben trai 70 pinMode (3, INPUT_PULLUP); //CHAN NGAT pinMode (9, INPUT_PULLUP); //CHAN DOC INCODER ben trai pinMode(congtac1, INPUT); pinMode(congtac2, INPUT); tocdo = 0; int_tocdo = 200; dem = 0; T = 0.01; //Thoi gian lay mau Serial.begin(9600); attachInterrupt(0, Demxung, RISING); Timer1.initialize(10000); Timer1.attachInterrupt(vantoc); } void motor_lui() { Serial.println("motor chay lui"); analogWrite(ENA, 200); // Ðdieu khien dong co ben trai thang,thong qua PWM ,cac chan xung từ 0-255 tương ứng với tốc độ từ tới max digitalWrite(INA1, HIGH); // dieu khien dong co ben phai chay lui digitalWrite(INA2, LOW); //dieu khien dong co ben phai chay lui analogWrite(ENB, 200); // Ðdieu khien dong co ben trai thang,thong qua PWM ,cac chan xung từ 0-255 tương ứng với tốc độ từ tới max 71 digitalWrite(INB1, HIGH); // dieu khien dong co ben phai chay lui digitalWrite(INB2, LOW); } void motor_tien() { Serial.println("motor chay tien"); analogWrite(ENA, 246); // Ðdieu khien dong co ben trai thang,thong qua PWM ,cac chan xung từ 0-255 tương ứng với tốc độ từ tới max digitalWrite(INA1, LOW); // dieu khien dong co ben phai chay tiến digitalWrite(INA2, HIGH); analogWrite(ENB, 245); // Ðdieu khien dong co ben trai thang,thong qua PWM ,cac chan xung từ 0-255 tương ứng với tốc độ từ tới max digitalWrite(INB1, LOW); //dieu khien dong co ben trai chay tien digitalWrite(INB2, HIGH); } void motor_retrai() { Serial.println("motor re trai"); analogWrite(ENA, 250); // Ðdieu khien dong co ben trai thang,thong qua PWM ,cac chan xung từ 0-255 tương ứng với tốc độ từ tới max digitalWrite(INA1, LOW); // Dieu khien dong co ben phai tien digitalWrite(INA2, HIGH); analogWrite(ENB, 0); digitalWrite(INB1, LOW); // dieu khien dong co ben trai dung digitalWrite(INB2, LOW); 72 //delay(3100); } void motor_rephai() { Serial.println("motor re phai"); analogWrite(ENB, 250); // Ðdieu khien dong co ben trai thang,thong qua PWM ,cac chan xung từ 0-255 tương ứng với tốc độ từ tới max digitalWrite(INB1, LOW); digitalWrite(INB2, HIGH); analogWrite(ENA, 0); digitalWrite(INA1, LOW); // dieu khien dong co ben phai dung digitalWrite(INA2, LOW); // delay(3100); } void motor_stop() { Serial.println("motor dung lai"); analogWrite(ENA, 0); digitalWrite(INA1, LOW); // dieu khien dong co ben phai dung digitalWrite(INA2, LOW); // analogWrite(ENB, 0); // digitalWrite(INB1, LOW); // dieu khien dong co ben trai dung digitalWrite(INB2, LOW); } 73 int khoangcach1() { int dist1;//biến lưu khoảng cách cảm biến bên trái int time1;//biến đo thời gian /* phát xung từ chân trig */ digitalWrite(trig1, LOW); //tắt chân trig delayMicroseconds(20); digitalWrite(trig1, HIGH); // phát xung từ chân trig delayMicroseconds(20);// xung có độ dài 20 microSeconds digitalWrite(trig1, LOW); //tắt chân trig /* tính tốn thời gian */ time1 = pulseIn(echo1, HIGH); //đo độ rộng xung HIGH chân echo dist1 = time1 / 29.1 / 2; //tính khoảng cách đến vật /* in kết Serial monitor */ Serial.print(dist1); Serial.println("cm1"); return dist1; } int khoangcach2() { int dist2;//biến lưu khoảng cách cảm biến trước int time2;//biến đo thời gian /* phát xung từ chân trig */ digitalWrite(trig2, LOW); //tắt chân trig 74 delayMicroseconds(20); digitalWrite(trig2, HIGH); // phát xung từ chân trig delayMicroseconds(20);// xung có độ dài 20 microSeconds digitalWrite(trig2, LOW); //tắt chân trig /* tính tốn thời gian */ time2 = pulseIn(echo2, HIGH); //đo độ rộng xung HIGH chân echo cam biến trước dist2 = time2 / 29.1 / 2; //tính khoảng cách đến vật /* in kết Serial monitor */ Serial.print(dist2); Serial.println("cm2"); return dist2; } int khoangcach3()// tinh khoang cach cam bien ben phải { int dist3;//biến lưu khoảng cách cảm biến bên phải int time3;//biến đo thời gian /* phát xung từ chân trig */ digitalWrite(trig3, LOW); //tắt chân trig delayMicroseconds(20); digitalWrite(trig3, HIGH); // phát xung từ chân trig delayMicroseconds(20);// xung có độ dài 20 microSeconds digitalWrite(trig3, LOW); // tắt chân trig /* tính tốn thời gian */ time3 = pulseIn(echo3, HIGH); //đo độ rộng xung HIGH chân echo 75 dist3 = time3 / 29.1 / 2; //tính khoảng cách đến vật /* in kết Serial monitor */ Serial.print(dist3); Serial.println("cm3"); return dist3; } int khoangcach4()// tinh khoang cach cam bien phía sau { int dist4;//biến lưu khoảng cách cảm biến phía sau int time4;//biến đo thời gian /* phát xung từ chân trig */ digitalWrite(trig4, LOW);//tắt chân trig delayMicroseconds(20); digitalWrite(trig4, HIGH);// phát xung từ chân trig delayMicroseconds(20);// xung có độ dài 20 microSeconds digitalWrite(trig4, LOW);//tắt chân trig /* tính tốn thời gian */ time4 = pulseIn(echo4, HIGH);//đo độ rộng xung HIGH chân echo dist4 = time4 / 29.1 / 2;//tính khoảng cách đến vật /* in kết Serial monitor */ Serial.print(dist4); Serial.println("."); Serial.println("cm4"); return dist4; 76 } void Demxung() { if (digitalRead(8) == LOW) xung++; else xung ; } int vantoc() { tocdo = (xung / 210) * (1 / T) * 60; xung = 0; } void loop() { giatri1 = digitalRead(congtac1); giatri2 = digitalRead(congtac2); Serial.println(giatri1); Serial.println(giatri2); if (dem < 2) { if (giatri1 == HIGH || giatri2 == HIGH) { motor_lui(); delay(1000); 77 Serial.println("dem: "); Serial.print(dem); if (flag_phai == true) { motor_rephai(); // Serial.print(tocdo); Serial.println("Thuan_chaythang_rephai"); delay(2600); flag_phai = false; } else { // motor_stop(); //delay(300); motor_retrai(); // Serial.print(tocdo); Serial.println("Thuan_chaythang_retrai"); delay(2600); flag_phai = true; } } if (khoangcach2() < 25) { if (khoangcach1() < 15 || khoangcach3() < 15 || abs(tocdo) < 15) 78 { motor_lui(); dem ++; delay(1000); Serial.println("dem: "); Serial.print(dem); } if (flag_phai == true) { motor_rephai(); // Serial.print(tocdo); Serial.println("Thuan_chaythang_rephai"); delay(2600); flag_phai = false; } else { motor_retrai(); // Serial.print(tocdo); Serial.println("Thuan_chaythang_retrai"); delay(2600); flag_phai = true; } } 79 else {motor_tien(); //dem < ? motor_tien() : motor_stop(); Serial.println("Thuan_chaythang"); //Serial.print(tocdo); } } else { motor_stop(); } } 80 S K L 0 ... ………….……… 57 TÓM TẮT Tên đề tài “NGHIÊN CỨU PHÁT TRIỂN LẬP TRÌNH PHƢƠNG TIỆN DI CHUYỂN TRÁNH VẬT CẢN VÀ BÁM THEO BẢN ĐỒ CHO TRƢỚC” Mục đích đề tài Thiết kế phương tiện di chuyển có kích thước tương... sâu vào thực tế nên nhóm chúng tơi định chọn đề tài mang tính ứng dụng vào đời sống Đề tài: ? ?Nghiên cứu, phát triển lập trình phương tiện di chuyển tránh vật cản bám theo đồ cho trước? ?? Phương tiện. .. 5.9a: Phương tiện xuất phát 63 Hình 5.9b: Phương tiện rẽ lần 63 Hình 5.9 c,d: Phương tiện di chuyển zizag tránh vật cản 64 Hình 5.9 e,f: Phương tiện di chuyển zigzag tránh

Ngày đăng: 28/12/2022, 14:11

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

TÀI LIỆU LIÊN QUAN

w