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

Chuyên đề 2 xe tự hành xe tự hành tránh vật cản

43 11 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

Nội dung

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT HÀN KHOA KHOA HỌC MÁY TÍNH -🙞🙞🙞🙞🙞 - CHUYÊN ĐỀ 2: XE TỰ HÀNH XE TỰ HÀNH TRÁNH VẬT CẢN Sinh viên thực hiện: ĐINH VƯƠNG GIA HUY 20SE5 NGUYỄN THỊ THANH TRÚC 20SE5 Giáo viên hướng dẫn: TRẦN THỊ MỸ DUYÊN 20SE1 LÊ QUANG HUY 20SE5 DOÃN THỊ CÚC 20SE5 TRẦN THỊ THU NHÀN 20SE4 THS NGUYỄN VĂN THỌ Đà Nẵng, tháng 05 năm 2023 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT HÀN KHOA KHOA HỌC MÁY TÍNH -🙞🙞🙞🙞🙞 - CHUYÊN ĐỀ 2: XE TỰ HÀNH XE TỰ HÀNH TRÁNH VẬT CẢN Sinh viên thực hiện: ĐINH VƯƠNG GIA HUY 20SE5 NGUYỄN THỊ THANH TRÚC 20SE5 Giáo viên hướng dẫn: TRẦN THỊ MỸ DUYÊN 20SE1 LÊ QUANG HUY 20SE5 DOÃN THỊ CÚC 20SE5 TRẦN THỊ THU NHÀN 20SE4 THS NGUYỄN VĂN THỌ Đà Nẵng, tháng 05 năm 2023 LỜI NHẬN XÉT (Của giảng viên hướng dẫn) ……………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… …………………………………………………………………………………………… Đà Nẵng, tháng 05 năm 2023 Giảng viên hướng dẫn Ths Nguyễn Văn Thọ I LỜI CẢM ƠN Chúng em xin chân thành cảm ơn thầy khoa Khoa học máy tính bạn dành thời gian giúp đỡ chúng em trình thực đồ án Đặc biệt, chúng em xin chân thành cảm ơn cô ThS Trịnh Thị Ngọc Linh người đồng ý hướng dẫn trực tiếp cho đề tài chúng em Là người tận tình giúp đỡ chúng em thơng tin đồ án Nhờ mà chúng em hoàn chỉnh đồ án quan trọng hết chúng em tiếp thu kinh nghiệm suốt trình thực đồ án Tuy chúng em chuẩn bị báo cáo tỉ mỉ chắn tránh thiếu sót Chúng em mong nhâ nVđược thơng cảm góp ý thầy Chúng em xin chân thành cảm ơn ! II MỤC LỤC DANH MỤC KÝ HIỆU, CÁC TỪ VIẾT TẮC V DANH MỤC HÌNH ẢNH .VI MỞ ĐẦU CHƯƠNG TỔNG QUAN XE TỰ HÀNH 1.1 Giới thiệu xe tự hành 1.1.1 Khái niệm .3 1.1.2 Chức 1.1.3 Cách thức hoạt động .3 1.2 Giới thiệu Arduino .5 1.2.1 Giới thiệu .5 1.2.2 Thơng số kí thuật 1.2.3 Power 1.2.4 Bộ nhớ 1.2.5 Các chân đầu vào đầu 1.3 Cách cài IDE cho Arduino 1.4 Cách cài phần mềm Proteus 1.4.1 Giới thiệu .8 1.4.2 Đặc điểm 1.4.3 Cách cài Proteus 1.4.4 Các bước sử dụng Proteus 10 1.5 Giới thiệu phần cứng 10 1.5.1 Mạch công suất cầu H 10 1.5.2 Cảm biến siêu âm .11 III 1.5.3 Động DC .14 1.5.4 Các thiết bị khác 15 CHƯƠNG THIẾT KẾ XE TỰ HÀNH TRÀNH VẬT CẢN 16 2.1 Cấu tạo xe .16 2.1.1 Mạch 16 2.1.2 Cảm biến 16 2.2 Chương trình 16 2.2.1 Lưu đồ thuật toán .16 2.2.2 Code 16 CHƯƠNG XÂY DỰNG ỨNG DỤNG 17 3.1 Kết đạt .17 3.2 Thử nghiệm 17 KẾT LUẬN 18 TÀI LIỆU THAM KHẢO .19 IV DANH MỤC KÝ HIỆU, CÁC TỪ VIẾT TẮC CSDL VS Code API Cơ sỡ liệu Visual Studio Code Application Programming Interface V DANH MỤC HÌNH ẢNH Hình Sơ đồ usecase .12 Hình Sơ đồ hoạt đơng chức đăng ký 22 Hình Biểu đồ hoạt đơng chức đăng nhập 23 Hình Biểu đồ hoạt động chức xem sản phẩm .24 Hình Biểu đồ hoạt động chức thêm sản phẩm 25 Hình Biểu đồ hoạt động chức sửa sản phẩm 26 Hình Biểu đồ hoạt động chức tìm kiếm .27 Hình Biểu đồ hoạt động chức chỉnh sửa thông tin .28 Hình Biểu đồ hoạt động chức xóa sản phẩm 29 Hình 10 Biểu đồ trình tự chức xóa loại sản phẩm 30 Hình 11 Biểu đồ trình tự chức sửa loại sản phẩm 31 Hình 12 Biểu đồ trình tự chức xét duyệt đơn hàng .32 Hình 13 Danh sách thuộc tính phương thức 32 Hình 14 CSDL tài khoản người dùng 32 Hình 15 Giao diện trang đăng nhập .33 Hình 16 Giao diện chức đăng ký 34 Hình 17 Giao diện trang chủ 35 Hình 18 Giao diện chức giỏ hàng 36 Hình 19 Mua hàng thành cơng .37 Hình 20 Giao diện chức vị trí 38 Hình 21 Giao diện chức chi tiết sản phẩm 39 Hình 22 Giao diện chức xét duyệt hóa đơn 40 Hình 23 Giao diện chức quản lý loại sản phẩm .40 Hình 24 Giao diện chức thêm sản phẩm 40 VI VII Mở đầu MỞ ĐẦU Giới thiêu Ngày nay, người 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ẹ…là yếu tố cần thiết góp phần cho hoạt động người đạt hiệu ngày cao Vi xử lý điều khiển trở thành ngành khoa học đa nhiệm vụ Nó đáp ứng địi hỏi khơng ngừng ngành, lĩnh vực khác nhu cầu thiết yếu người sống hàng ngày Xuất phát từ ứng dụng đó, chúng em thiết kế thực đề tài Mục tiêu Phương thức nghiên cứu  Tìm hiểu tổng quan lý thuyết đề tài  Đọc hiểu tài liệu liên quan đến đề tài  Thảo luận nhóm để thống ý kiến  Thiết kế phần cứng  Thiết kế phần mềm  Thực nghiệm kiểm chứng sản phẩm Bố cục báo cáo Sau phần Mở đầu, báo cáo trình bày ba chương, cụ thể sau: Chương Tổng quan xe tự hành Chương Thiết kế xe tự hành tránh vật cản Chương Kết đạt Cuối Kết luận Phụ lục liên quan đến đề tài Đồ Án Chuyên Ngành Trang Chương 2: Thiết kế xe tự hành tránh vật cản pinMode(echo_left, INPUT); // Arduino signal input pinMode(trigger_right, OUTPUT); // Arduino signal output pinMode(echo_right, INPUT); // Arduino signal input pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); pinMode(enA, OUTPUT); pinMode(enB, OUTPUT); pinMode(pinBuzzer, OUTPUT); // BUZZER // Thiết lập chân kết nối module đèn giao thông đầu pinMode(pinR, OUTPUT); pinMode(pinY, OUTPUT); pinMode(pinG, OUTPUT); } // Code in infinite repetition of the project; void loop() { // Declaration of variables used to control the project; long duration_front, duration_left, duration_right, right, left, front; digitalWrite(trigger_front, LOW); Chuyên đề 2: Xe tự hành 21 Trang Chương 2: Thiết kế xe tự hành tránh vật cản delayMicroseconds(4); digitalWrite(trigger_front, HIGH); delayMicroseconds(10); digitalWrite(trigger_front, LOW); duration_front = pulseIn(echo_front, HIGH); front = duration_front / 29 / 2; digitalWrite(trigger_left, LOW); delayMicroseconds(4); digitalWrite(trigger_left, HIGH); delayMicroseconds(10); digitalWrite(trigger_left, LOW); duration_left = pulseIn(echo_left, HIGH); left = duration_left / 29 / 2; digitalWrite(trigger_right, LOW); delayMicroseconds(4); digitalWrite(trigger_right, HIGH); delayMicroseconds(10); digitalWrite(trigger_right, LOW); duration_right = pulseIn(echo_right, HIGH); right = duration_right / 29 / 2; digitalWrite(pinR, LOW); // Tắt đèn đỏ digitalWrite(pinY, LOW); // Tắt đèn vàng Chuyên đề 2: Xe tự hành 22 Trang Chương 2: Thiết kế xe tự hành tránh vật cản digitalWrite(pinG, HIGH); // Kích hoạt đèn xanh digitalWrite(pinBuzzer, HIGH); // Tắt âm phát forward(145); if (front < 30) { digitalWrite(pinR, HIGH); // Kích hoạt đèn đỏ digitalWrite(pinY, LOW); // Tắt đèn vàng digitalWrite(pinG, LOW); // TẮT đèn xanh digitalWrite(pinBuzzer, LOW); // Kích hoạt âm phát delay(100); digitalWrite(pinBuzzer, HIGH); // Tắt âm phát stop(); delay(100); backward(255); delay(400); if (right < left) { turnLeft(255); delay(150); } Chuyên đề 2: Xe tự hành 23 Trang Chương 2: Thiết kế xe tự hành tránh vật cản if (right > left) { turnRight(255); delay(150); } } if (right < 7) { digitalWrite(pinR, HIGH); // Kích hoạt đèn đỏ digitalWrite(pinY, LOW); // Tắt đèn vàng digitalWrite(pinG, LOW); // TẮT đèn xanh turnLeft(255); delay(50); } if (left < 7) { digitalWrite(pinR, HIGH); // Kích hoạt đèn đỏ digitalWrite(pinY, LOW); // Tắt đèn vàng digitalWrite(pinG, LOW); // TẮT đèn xanh turnRight(255); delay(50); } } void turnLeft(int a) { analogWrite(in1, a); Chuyên đề 2: Xe tự hành 24 Trang Chương 2: Thiết kế xe tự hành tránh vật cản analogWrite(in2, 0); analogWrite(in3, 0); analogWrite(in4, a); } void turnRight(int a) { analogWrite(in1, 0); analogWrite(in2, a); analogWrite(in3, a); analogWrite(in4, 0); } void forward(int a) { analogWrite(in1, a); analogWrite(in2, 0); analogWrite(in3, a); analogWrite(in4, 0); } void backward(int a) { analogWrite(in1, 0); analogWrite(in2, a); analogWrite(in3, 0); analogWrite(in4, a); } Chuyên đề 2: Xe tự hành 25 Trang Chương 2: Thiết kế xe tự hành tránh vật cản void stop() { analogWrite(in1, 0); analogWrite(in2, 0); analogWrite(in3, 0); analogWrite(in4, 0); } #define in1 #define in2 #define in3 #define in4 #define pinBuzzer #define pinR 11 #define pinY 12 #define pinG 13 long trigger_front = A2; long echo_front = A3; long trigger_left = A4; long echo_left = A5; long trigger_right = A0; long echo_right = A1; Chuyên đề 2: Xe tự hành 26 Trang Chương 2: Thiết kế xe tự hành tránh vật cản void setup() { Serial.begin(9600); pinMode(trigger_front, OUTPUT); // Arduino signal output pinMode(echo_front, INPUT); // Arduino signal input pinMode(trigger_left, OUTPUT); // Arduino signal output pinMode(echo_left, INPUT); // Arduino signal input pinMode(trigger_right, OUTPUT); // Arduino signal output pinMode(echo_right, INPUT); // Arduino signal input pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); pinMode(enA, OUTPUT); pinMode(enB, OUTPUT); pinMode(pinBuzzer, OUTPUT); // BUZZER // Thiết lập chân kết nối module đèn giao thông đầu pinMode(pinR, OUTPUT); pinMode(pinY, OUTPUT); pinMode(pinG, OUTPUT); Chuyên đề 2: Xe tự hành 27 Trang Chương 2: Thiết kế xe tự hành tránh vật cản } // Code in infinite repetition of the project; void loop() { // Declaration of variables used to control the project; long duration_front, duration_left, duration_right, right, left, front; digitalWrite(trigger_front, LOW); delayMicroseconds(4); digitalWrite(trigger_front, HIGH); delayMicroseconds(10); digitalWrite(trigger_front, LOW); duration_front = pulseIn(echo_front, HIGH); front = duration_front / 29 / 2; digitalWrite(trigger_left, LOW); delayMicroseconds(4); digitalWrite(trigger_left, HIGH); delayMicroseconds(10); digitalWrite(trigger_left, LOW); duration_left = pulseIn(echo_left, HIGH); left = duration_left / 29 / 2; digitalWrite(trigger_right, LOW); delayMicroseconds(4); digitalWrite(trigger_right, HIGH); Chuyên đề 2: Xe tự hành 28 Trang Chương 2: Thiết kế xe tự hành tránh vật cản delayMicroseconds(10); digitalWrite(trigger_right, LOW); duration_right = pulseIn(echo_right, HIGH); right = duration_right / 29 / 2; digitalWrite(pinR, LOW); // Tắt đèn đỏ digitalWrite(pinY, LOW); // Tắt đèn vàng digitalWrite(pinG, HIGH); // Kích hoạt đèn xanh digitalWrite(pinBuzzer, HIGH); // Tắt âm phát forward(145); if (front < 30) { digitalWrite(pinR, HIGH); // Kích hoạt đèn đỏ digitalWrite(pinY, LOW); // Tắt đèn vàng digitalWrite(pinG, LOW); // TẮT đèn xanh digitalWrite(pinBuzzer, LOW); // Kích hoạt âm phát delay(100); digitalWrite(pinBuzzer, HIGH); // Tắt âm phát stop(); delay(100); backward(255); Chuyên đề 2: Xe tự hành 29 Trang Chương 2: Thiết kế xe tự hành tránh vật cản delay(400); if (right < left) { turnLeft(255); delay(150); } if (right > left) { turnRight(255); delay(150); } } if (right < 7) { digitalWrite(pinR, HIGH); // Kích hoạt đèn đỏ digitalWrite(pinY, LOW); // Tắt đèn vàng digitalWrite(pinG, LOW); // TẮT đèn xanh turnLeft(255); delay(50); } if (left < 7) { digitalWrite(pinR, HIGH); // Kích hoạt đèn đỏ digitalWrite(pinY, LOW); // Tắt đèn vàng digitalWrite(pinG, LOW); // TẮT đèn xanh Chuyên đề 2: Xe tự hành 30 Trang Chương 2: Thiết kế xe tự hành tránh vật cản turnRight(255); delay(50); } } void turnLeft(int a) { analogWrite(in1, a); analogWrite(in2, 0); analogWrite(in3, 0); analogWrite(in4, a); } void turnRight(int a) { analogWrite(in1, 0); analogWrite(in2, a); analogWrite(in3, a); analogWrite(in4, 0); } void forward(int a) { analogWrite(in1, a); analogWrite(in2, 0); analogWrite(in3, a); analogWrite(in4, 0); } Chuyên đề 2: Xe tự hành 31 Trang Chương 2: Thiết kế xe tự hành tránh vật cản void backward(int a) { analogWrite(in1, 0); analogWrite(in2, a); analogWrite(in3, 0); analogWrite(in4, a); } void stop() { analogWrite(in1, 0); analogWrite(in2, 0); analogWrite(in3, 0); analogWrite(in4, 0); } Chuyên đề 2: Xe tự hành 32 Trang Kết luận CHƯƠNG KẾT QUẢ ĐẠT ĐƯỢC 3.1 Kết đạt 3.2 Thử nghiệm Chuyên đề 2: Xe tự hành 33 Trang Kết luận KẾT LUẬN Chuyên đề 2: Xe tự hành 34 Trang Tài liệu tham khảo TÀI LIỆU THAM KHẢO Chuyên đề 2: Xe tự hành 35 Trang

Ngày đăng: 24/08/2023, 10:23

w