BÁO CÁO BÁO CÁO MÔN HỌC THỰC TẬP NGÀNH NGHỀ ĐỀ TÀI MOBILE ROBOT

53 4 0
BÁO CÁO BÁO CÁO MÔN HỌC THỰC TẬP NGÀNH NGHỀ ĐỀ TÀI MOBILE ROBOT

Đ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

TRƯỜNG ĐẠI HỌC KỸ THUẬT – CÔNG NGHỆ CẦN THƠ KHOA KỸ THUẬT CƠ KHÍ -🙢✧🙠 - BÁO CÁO BÁO CÁO MÔN HỌC: THỰC TẬP NGÀNH NGHỀ ĐỀ TÀI: MOBILE ROBOT Giảng viên hướng dẫn: Sinh viên thực hiện: Thầy Nguyễn Lê Thế Duy Nguyễn Phương Nam MSSV: 1900303 Cơ Nguyễn Thị Kiều Phượng Lê Hồng Nam MSSV: 1900274 Nguyễn Thành Lợi MSSV: 1900332 Trương Si Mol MSSV: 1900507 Lớp ĐKTĐ0119 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat Mục Lục CHƯƠNG 1: TỔNG QUAN ROBOT DÒ ĐƯỜNG 1.1 Tổng quan ứng dụng vi điều khiển 1.2 Giới thiệu robot dò đường 1.2.1 Giới thiệu 1.2.2 Hoạt động 1.3 Ứng dụng robot dò đường CHƯƠNG II:THIẾT KẾ VÀ TÌM HIỂU LINH KIỆN CỦA HỆ Thống 2.1 Yêu cầu đề tài 2.2 Giải pháp thiết kế 2.2.1 Sơ đồ khối 2.2.2 Phân tích chức khối 2.2.3 Nguyên lý hoạt động hệ thống 2.3 Lựa chọn linh kiện 11 2.3.1 Khối điều khiển 11 2.3.2 Module điều khiển động L298 16 2.3.3 Module cảm biến hông ngoại 16 2.3.4 Động giảm tốc DC 18 2.3.5 LED (Light Emitting Diode) 18 2.3.6 Nguồn Adapter 12V2A 19 2.3.7 Cảm biến siêu âm HCSR05 20 2.3.8 Module Bluetooth HC06 21 CHƯƠNG III: PHÂN TÍCH THUẬT TỐN PID VÀ ỨNG DỤNG TRONG ROBOT DỊ ĐƯỜNG 25 3.1 Giới thiệu 25 3.2 Định nghĩa thuật toán PID 25 3.3 Phương pháp điều chế độ rộng xung (PWM) 26 3.4 Giải thuật điều khiển vi tích phân tỉ lệ (PID) 26 3.5 Ứng dụng giải thuật robot dò đường 28 3.5.1 Mơ hình PID áp dụng cho robot dò đường 28 3.5.2 Giải thuật PID 29 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat 3.5.3 Hiệu chỉnh thuật toán PID 30 3.6 Giới thiệu phần mềm Arduino IDE 30 3.6.1 Giao diện 30 CHƯƠNG VI: THIẾT KẾ VÀ CHẾ TẠO ROBOT DÒ ĐƯỜNG 32 4.1 Thiết kế đường cho robot 32 4.2.2 Hệ thống đường line cho robot 32 4.4 Kết thực nghiệm mơ hình robot 33 PHẦN KẾT LUẬN 36 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 36 TÀI LIỆU THAM KHẢO 38 PHỤ LỤC 38 Danh Sách Hình Hình 1.1 Sân chạy robot Hình 1.2 Quang trở Hình 1.3 Nguyên lý hoạt động quang trở Hình 1.4 Cách bố trí cảm biến Hình 2.1 Sơ đồ khối robot dò đường Hình 2.3 Mạch cảm biến LED quang trở 10 Hình 2.4 Mạch điều khiển motor sử dụng L298 11 Hình 2.5 Arduino UNO R3 13 Hình 2.6 Vi xử lý ATmega328 15 Hình 2.7 Sơ đồ chân ATmega328 15 Hình 2.8 Module điều khiển động L298 16 Hình 2.9 module cảm biến hồng ngoại TCRT5000 17 Hình 2.10 Động DC giảm tốc 18 Hình 2.11 LED 19 Hình 2.12 Nguồn adapter 12v2A Là nguồn chuyển đổi từ AC 220V sang 12V DC 19 Hình 2.13 Cảm biến siêu âm HCSR05 20 Hình 2.14 Module Bluetooth HC06 21 Hình 2.15 Sơ đồ kích thước Module Bluetooth HC06 22 Hình 2.16 Sơ đồ mạch Module Bluetooth HC06 24 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat Hình 2.17 Sơ đồ kết nối Module Bluetooth HC06 với Arduio 24 Hình 2.18 App kết nối Module Bluetooth HC06 với Arduio 24 Hình 3.2 Sơ đồ khối giải thuật PID Phương trình PID tổng quát: 27 Hình 3.3 Sơ đồ khối ứng dụng giải thuật PID vào robot dị đường 28 Hình 3.4 Giao diện phần mềm Arduino IDE 30 Hình 3.5 Các nút lệnh Arduino IDE 31 Hình 3.6 Vùng thông báo Arduino IDE 31 Hình 3.7 Chọn cổng kết nối cho Arduino Uno R3 32 Hình 4.1 Mơ đường phần nềm Paint 3D 32 Hình 4.2 Băng keo dùng làm đường line 33 Hình 4.3 Sân sau chế tạo 33 Hình 4.5 Hồn thiện robot dò đường 34 Hình 4.6 Cảm biến hồng ngoại 35 TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT PHẦN MỞ ĐẦU Ngày nay, với ứng dụng khoa học kỹ thuật tiên tiến, giới ngày thay đổi, văn minh đại Sự phát triển kỹ thuật điện tử tạo hàng loạt thiết bị với đặc điểm bật xác cao, tốc độ nhanh, gọn nhẹ yếu tố cần thiết góp phần cho hoạt động người đạt hiệu cao Các điều khiển sử dụng vi điều khiển đơn giản để vận hành sử dụng lại điều phức tạp Các vi điều khiển theo thời gian với phát triển công nghệ bán dẫn tiến triển nhanh, từ vi điều khiển bit đơn giản đến vi điều khiển 32 bit, sau 64 bit Điện tử trở thành ngành khoa học đa nhiệm vụ Điện tử đáp ứng địi hỏi khơng ngừng từ lĩnh vực cơng – nông – lâm – ngư nghiệp nhu cầu cần thiết hoạt động đời sống ngày Robot có vai trị quan trọng đời sống đặc biệt ứng dụng cơng nghiệp, sản xuất kinh tế, quốc phịng… Vì em chọn đề tài “ xe mơ hình dị line tránh vật cản kết hợp điều khiển bluetooth áp dụng thuật toán PID” Mặc dù cố gắng thiết kế làm mạch thời gian ngắn lực hạn chế nên mạch cịn sai sót Em mong thầy (cơ) giáo góp ý để em sớm hồn thành đồ án Mục tiêu nghiên cứu - Thực đề tài: “XE MƠ HÌNH DỊ LINE VÀ TRÁNH VẬT CẢN KẾT HỢP ĐIỀU KHIỂN BẰNG BLUETOOTH” giúp người thực nắm lý thuyết đo lường điều khiển, hiểu nguyên lý điều khiển, tập lệnh - Sản phẩm đề tài trước hết để nghiền cứu, mở rộng ứng dụng thực tế sản xuất công nghiệp Đối tượng phạm vi nghiên cứu - Transistor điều khiển động L298 - Cảm biến dò line - Cảm biến tránh vật cản - Thiết bị cảm biến điều khiển xe mơ hình Bluetooth - Board Arduino Uno: Nắm cấu trúc phần cứng, lập trình phần mềm ứng dụng vào mơ hình thực tế BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT - Tìm hiểu lý thuyết liên quan - Viết thực chương trình nhỏ - Xây dựng thuật toán điều khiển PID - Viết chương trình thực thuật tốn Kit arduino - Thi công mạch BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT CHƯƠNG 1: TỔNG QUAN ROBOT DÒ ĐƯỜNG 1.1 Tổng quan ứng dụng vi điều khiển - Với phát triển không ngừng khoa học kỹ thuật, đặc biệt phát triển ngành điện tử đem đến nhiều ứng dụng công nghiệp sinh hoạt gia đình - Từ cơng nghệ chế tạp loại vi mạch lập trình phát triển đem đến phương thức kỹ thuật điều khiển đại có nhiều ưu điểm so với việc sử dụng mạch điều khiển lắp ráp linh kiện rời kích thước nhỏ, giá thành r , độ làm việc tin cậy, công suất tiêu thụ nhỏ - Trong ứng dụng dân dụng công nghiệp, vi mạch vi điều khiển sử dụng rộng rãi chúng phát huy tính ưu việt ngày sử dụng rộng rãi - Việc sử dụng vi điều khiển để điều khiển cơng việc mang tính lặp lại có chu kì cần thiết để thay giám sát người, giảm số lượng nhân c ng dây chuyền sản xuất, thay người thực công việc mang t nh nguy hiểm, độc hại, 1.2 Giới thiệu robot dò đường 1.2.1 Giới thiệu Ngày nay, khoa học kĩ thuật ngày phát triển, không phát triển nhóm nước châu âu trước mà lan rộng toàn cầu Một bước tiến khoa học đáng kể đến xuất đời robot máy thơng minh Robot thực máy móc người chế tạo từ nhiều vật liệu khác nhau, chủ yếu vật liệu dẫn điện Gọi máy móc thơng minh robot làm công việc thay người từ công việc đơn giản công việc phức tạp Có thể hiểu cấu trúc robot sau: Robot gồm có hai phần: + Phần cứng: phần cấu tạo nên cấu trúc hoạt động robot (có thể xem phần ta thấy mắt thường) BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT + Phần mềm: phần chương trình lập trình viên viết nạp vào robot nhằm điều khiển robot hoạt động độc lập (có thể xem phần khơng thể nhìn thấy mắt thường) Nhận thức tầm quan trọng robot đời sống ngày chúng em mạnh dạn chế tạo robot dò đường dạng robot Robot dò đường loại robot có cấu tạo loại xe tự động nhận dạng chạy theo đường có sẵn tự t nh tốn đường để tới đ ch mà không cần người điều khiển nhờ chương trình nạp sẵn người lập trình viết nên Robot chúng em dị theo vạch đường vạch đen trắng Hình 1.1 Sân chạy robot Trong đó, đường thẳng đen vạch robot dò đường Còn phần sân màu trắng đối lập với vạch đen nhằm để robot khơng bị nhiễu dị đường Sở dĩ cảm biến robot nhận dạng phát vạch đen 1.2.2 Hoạt động Sản phẩm xe tự động có chức tự di chuyển đến điểm mong muốn sân Với chế độ 1,2 xe thực đa dạng việc di chuyển có nhiều hướng phát triển thêm sau BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT Hình 1.2 Quang trở Khi có ánh sáng điện trở quang trở giảm ngược lại, điện trở thay đổi cỡ từ 5k (khi có ánh sáng) đến 100k (khơng có ánh sáng), ta sử dụng led phát làm nguồn sáng cho Khi gặp vạch trắng, ánh sáng phản xạ lên quang trở làm điện trở giảm xuống gặp đen ánh sáng khó phản xạ nên quang trở nhận ánh sáng nên trở tăng Từ dựa vào quang trở, robot phân biệt vạch trắng (dưới hỗ trợ opamp so sánh) Hình 1.3 Nguyên lý hoạt động quang trở Qua opam so sánh tín hiệu nhận được gửi mạch xử lý trung tâm, Arduino Uno R3 xử lý tính hiệu đưa điều khiển tùy vào người lập trình Hình 1.4 Cách bố trí cảm biến Dựa vào nững nhận biết vạch cảm biến mà từ xe rẽ trái, rẽ phải • Để rẽ trái: cảm biến 5,6 có tính hiệu cảm biến 5,6,7 có tính hiệu Khi r trái động trái chạy chậm lại động phải chạy nhanh Khi r trái ngã tư động phải quay thuận,động trái quay ngược • Để rẽ phải: cảm biến 3,4 có tính hiệu cảm biến 2,3,4 có tính hiệu BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT Khi r phải động phải chạy chậm, động trái chạy nhanh Khi r phải ngã tư động trái quay thuận, động phải quay ngược • Để chạy thẳng: hai cảm biến 4,5 có tính hiệu Hai động trái phải chạy tốc độ • Nhận biết số ngã tư cảm biến đồng thời có tính hiệu 1.3 Ứng dụng robot dò đường Ứng dụng sống ngày: chế tạo máy hút bụi tự động từ robot mini gắn máy hút bụi nhỏ trên, robot tự động di chuyển nhà đồng thời máy hút bụi hoạt động làm bụi bẩn mặt sàn nhà - Ứng dụng công nghiệp: chế tạo robot vận chuyển hàng hóa tuyến đường cố định, dựa vào khả di chuyển theo vạch robot ta vạch đường từ xưởng sản xuất A sang xưởng sản xuất B từ robot co thể chở hàng hóa theo đường vật từ xưởng sản xuất A sang xưởng sản xuất B ngược lại Ứng dụng quân sự: chế tạo robot dị mìn, khoa học phát triển nhiều robot có khả di chuyển dựa vào việc xử lý ảnh robot chụp lại, từ robot tìm đường phát mìn,vật cần tìm… BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT Hình 4.2 Băng keo dùng làm đường line Hình 4.3 Sân sau chế tạo 4.4 Kết thực nghiệm mơ hình robot Việc thiết kế chế tạo robot dò đường sử dụng thuật tốn PID hồn thiện vào sử dụng Robot tự động nhận biết đường line để chạy với khả hoạt động xác cao 33 BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT Hình 4.5 Hồn thiện robot dị đường Phần áp dụng phương pháp PWM kết hợp với giải thuật PID, cịn gọi PWM vịng kín, vào việc thực nghiệm mơ hình robot thật Robot thiết kế chế tạo sử dụng dãy cặp cảm biến thu phát quang để dò đường, cặp cảm biến cách 25mm Vì, đường vạch đen k trắng có bề rộng 30mm 34 BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT Hình 4.6 Cảm biến hồng ngoại 35 BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT PHẦN KẾT LUẬN KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Rút kết luận Sau thời gian làm đề tài với hướng dẫn tận tình ThS Trần Thị Trà Vinh, đề tài em thực vấn đề sau: - Tổng quan robot dò đường - Thuật tốn PID sử dụng robot dị đường - Thiết kế chế tạo robot dò đường sử dụng thuật toán PID - Cơ cấu truyền động, bánh xe áp dụng cho Robot dò line tránh vật cản - Chế tạo mơ hình xe theo kích thước thực với linh kiện - Thực kết nối trao đổi liệu thiết Về phần cứng: - Tìm hiểu linh kiện cách thiết kế làm mạch thủ cơng - Đi sâu tìm hiểu số thuật toán điều khiển - Đề tài phổ biến có ứng dụng cao vào đời sống thực tiễn - Ứng dụng công nghệ dò line tránh vật cản vào hệ thống khác - Thiết kế mạch điều khiển trung tâm, mạch công suất điều khiển động ◎ Ưu điểm - Mạch nhỏ gọn, linh kiện rẻ - Mạch hoạt động tốt, khơng gặp vấn đề q trình chạy - Bộ điều khiển hoạt động với yêu cầu đặt ra, đạt giá trị tiệm cận với giá trị đặt (setpoint) ◎ Khuyết điểm - Mạch cịn thơ sơ, dễ bị hư hỏng - Bám line chưa ổn định Hướng phát triển - Tiếp tục nghiên cứu xe dò line tránh vật cản cách ổn định xác - Cải tiến xa nhanh hơn, sừ dung động có Encoder - Xây dựng thuật tốn hồn chỉnh 36 BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT Đồ án tốt nghiệp thực cố gắng nỗ lực thân bảo tận tình giáo viên hướng dẫn, nhiên thiếu sót khiếm khuyết tránh khỏi Em mong nhận ý kiến đóng góp thầy giáo hội đồng toàn thể bạn để đồ án em hoàn thiện Việc thiết kế robot dị đường sử dụng thuật tốn PID hồn thành vào hoạt động, tự dò vạch chưa phát huy hết t nh Trong q trình làm đồ án em có tìm hiểu thêm chức quét mã vạch sản phẩm điều kiện chưa cho phép nên em chưa thể áp dụng vào đồ án Nếu có điều kiện em tiếp tục phát triển hệ thống đáp ứng nhu cầu ngày cao người Em hy vọng ứng dụng robot dị đường ứng dụng đời sống hàng ngày không đơn mơ hình 37 BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TÀI LIỆU THAM KHẢO [1] Tran Quoc Cuong, Tran Thanh Phong, (May 2012), Speed Control of Dc Motor By PWM Method Using Microcontroller Faculty of Industrial Engineering, Tien Giang University, ISSN: 1859 4530 [2] WAN ROBAAH BINTI W AHMAD, (November 2008), A DC Motor Controller Using PID Algorithm Implementation on PIC, Faculty of Electrical & Electronics Engineering, University Malaysia Pahang [3] http://efa.tnut.edu.vn/Article/Download/242 [4] http://arduino.vn/baiviet/1130bodieukhienpidgioithieuthuattoanphan1 [5] http://arduino.vn/baiviet/1130bodieukhienpidgioithieuthuattoanphan2 [6] http://arduino.vn/baiviet/1130bodieukhienpidgioithieuthuattoanphan3 [7] http://arduino.vn/baiviet/1130bodieukhienpidgioithieuthuattoanphan4 PHỤ LỤC #include float Kp = 40, Ki = ,Kd = 170; float error = 0, P = 0, I = 0, D = 0, PID_value = 0; float previous_error = 0; int sensor[5] = {0,0,0,0,0}; int gia_tri_ban_dau = 150; int PID_phai, PID_trai; int stop_distance = 20;// Khoảng cách phát vật cản //Kết nối SRF 05 OR 04 const int trigPin = 11; // kết nối chân trig với chân 11 arduino const int echoPin = 12; // kết nối chân echo với chân 12 arduino long duration; // int distance; // biến khoảng cách int mode; int bluetoothTx = 8; // định nghĩa chân chân truyền tín hiệu int bluetoothRx = 13;// định nghĩa chân chân nhận tín hiệu SoftwareSerial bluetooth(bluetoothTx, bluetoothRx); //định nghĩa chân motor trái #define ENA 38 BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT #define In1 #define In2 //định nghĩa chân motor phai #define ENB 10 #define In3 #define In4 char blue;// vùng nhớ để so sánh kí tự trả từ app int spd; // giá trị băm xung( tay ga) void setup() { bluetooth.begin(115200); bluetooth.print("$$$"); delay(100); bluetooth.println("U,9600,N"); bluetooth.begin(9600); Serial.begin(9600); // định nghĩa chân tín hiệu in & out pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(In1, OUTPUT); pinMode(In2, OUTPUT); pinMode(In3, OUTPUT); pinMode(In4, OUTPUT); pinMode(ENA,OUTPUT); pinMode(ENB,OUTPUT); } void motor_left(int spd, byte dir) { if (dir == 0) // motor trái quay tới { digitalWrite(In2, LOW); digitalWrite(In1, HIGH); } else if (dir == 1) // motor trái quay lùi 39 BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT { digitalWrite(In2, HIGH); digitalWrite(In1, LOW); } else if (dir == 2)// motor trái đứng yên { digitalWrite(In2, LOW); digitalWrite(In1,LOW); } analogWrite(ENA, spd );// băm xung cho motor trái } // dieu khien motor phai void motor_right(int spd, byte dir) { if (dir == 0) // motor phải quay tới { digitalWrite(In3, LOW); digitalWrite(In4, HIGH); } else if (dir == 1)//motor phải quay lùi { digitalWrite(In3, HIGH); digitalWrite(In4, LOW); } else if (dir ==2)//motor phải dứng lùi { digitalWrite(In3, LOW); digitalWrite(In4, LOW); } analogWrite(ENB, spd ); } void forw () // chay { motor_right(spd , 0); motor_left( spd , 0); } 40 BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT void back () // chay lui { motor_right(spd , 1); motor_left( spd , 1); } void right () // quay trai { motor_right(spd , 2); motor_left( spd , 0); } void left () // quai phai { motor_left( spd , 2); motor_right( spd , 0); } void tack()// dung { motor_left( spd , 2); motor_right( spd , 2); } void leftforw () // quai phai cham { motor_left( spd-20 , 0); motor_right( spd , 0); } void rightforw () // quai phai nhanh { motor_left( spd , 0); motor_right( spd-20 , 0); } void rightback () // quai phai nhanh { motor_left( spd , 1); motor_right( spd-20 , 1); 41 BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT } void leftback () // quai phai nhanh { motor_left( spd-20 , 1); motor_right( spd , 1); } void robot_android() { if ( bluetooth.available() ) { blue =bluetooth.read(); } switch (blue ){ case('0'): spd = 70; case('1'): spd = 80; break; case('2'): spd = 100; break; case('3'): spd = 110; break; case('4'): spd = 127; break; case('5'): spd = 140; break; case('6'): spd = 160; break; case('7'): spd = 200; 42 BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT break; case('8'): spd = 230; break; case('9'): spd = 255; break; case ('S'): tack(); break; case ('F'): forw(); break; case ('B'): back(); break; case ('L'): left(); break; case ('R'): right(); break; case ('H'): leftback(); break; case ('J'): rightback(); break; case ('I'): rightforw(); break; case ('G'): leftforw(); break; } } void loop() { 43 BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT if (bluetooth.available()) { blue = bluetooth.read(); } if(blue == 'I') { mode = 1; Serial.println(" che do line"); } while (mode == 1) { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance= duration*0.034/2; Serial.print("Distance: "); Serial.println(distance); if(distance < stop_distance) // khoảng cách nhỏ giới hạn { digitalWrite (In1,HIGH); digitalWrite(In2,LOW); digitalWrite (In3,LOW); digitalWrite(In4,LOW); analogWrite (ENB, 170); analogWrite (ENA, 170); delay(400); digitalWrite (In1,HIGH); digitalWrite(In2,LOW); digitalWrite (In3,LOW); digitalWrite(In4,HIGH); analogWrite (ENB, 160); analogWrite (ENA, 160); delay(600); digitalWrite (In1,LOW); digitalWrite(In2,LOW); 44 BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT digitalWrite (In3,LOW); digitalWrite(In4,HIGH); analogWrite (ENB, 160); analogWrite (ENA, 160); delay(800); digitalWrite (In1,HIGH); digitalWrite(In2,LOW); digitalWrite (In3,LOW); digitalWrite(In4,HIGH); analogWrite (ENB, 160); analogWrite (ENA, 160); delay(400); } else { read_sensor_values(); calculate_pid(); motor_control(); if (bluetooth.available()) { blue = bluetooth.read(); } if(blue == 'G') { mode = 2; Serial.println(" che blue"); } }} while(mode == 2) { robot_android(); if (bluetooth.available()) { blue = bluetooth.read(); } if(blue == 'I') { 45 BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT mode = 1; Serial.println(" che do line"); } }} void read_sensor_values() { sensor[0]=digitalRead(A0); sensor[1]=digitalRead(A1); sensor[2]=digitalRead(A2); sensor[3]=digitalRead(A3); sensor[4]=digitalRead(A4); if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==1)&&(sensor[3]==1)&&(sensor[4]==1) ) error=5; else if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==0)&&(sensor[3]==0)&&(sensor[4]==1) ) error=4; else if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==0)&&(sensor[3]==1)&&(sensor[4]==1) ) error=3; else if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==0)&&(sensor[3]==1)&&(sensor[4]==0) ) error=2; else if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==1)&&(sensor[3]==1)&&(sensor[4]==0) ) error=1; else if((sensor[0]==0)&&(sensor[1]==0)&&(sensor[2]==1)&&(sensor[3]==0)&&(sensor[4]==0) ) error=0; else if((sensor[0]==0)&&(sensor[1]==1)&&(sensor[2]==1)&&(sensor[3]==0)&&(sensor[4]==0) ) error=-1; 46 BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT TIEU LUAN MOI download : skknchat123@gmail.com moi nhat BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT BAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOTBAO.CAO.BAO.CAO.MON.HOC.THUC.TAP.NGANH.NGHE.DE.TAI.MOBILE.ROBOT

Ngày đăng: 23/12/2023, 22:56

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

  • Đang cập nhật ...

Tài liệu liên quan