1. Trang chủ
  2. » Tất cả

(Đồ án hcmute) điều khiển xe mô hình bằng ứng dụng android trên điện thoại

101 7 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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT ÐIỆN TỬ TRUYỀN THÔNG ÐIỀU KHIỂN XE MƠ HÌNH BẰNG ỨNG DỤNG ANDROID TRÊN ÐIỆN THOẠI GVHD: NGUYỄN THANH NGHĨA SVTH : TRẦN DUY KHANG MSSV: 15341016 SVTH : NGUYỄN VĂN DƯỠNG MSSV: 15341001 SKL 0 Tp Hồ Chí Minh, tháng 07/2017 an BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH - ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THƠNG ĐỀ TÀI: ĐIỀU KHIỂN XE MƠ HÌNH BẰNG ỨNG DỤNG ANDROID TRÊN ĐIỆN THOẠI GVHD: Th.S Nguyễn Thanh Nghĩa SVTH: Trần Duy Khang MSSV: 15341016 SVTH: Nguyễn Văn Dưỡng MSSV: 15341001 Tp Hồ Chí Minh – 07/2017 an TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC Tp HCM, ngày 10 tháng năm 2017 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: Trần Duy Khang Nguyễn Văn Dưỡng Kỹ thuật Điện - Điện tử Đại học quy(CT) 2015 MSSV: 15341016 MSSV: 15341001 Mã hệ: Lớp: K15341 153410 I TÊN ĐỀ TÀI: ĐIỀU KHIỂN XE MƠ HÌNH BẰNG ỨNG DỤNG ANDROID TRÊN ĐIỆN THOẠI II NHIỆM VỤ 1.Các số liệu ban đầu: Nguồn cung cấp cho tất module linh kiện có phần cứng khối PIN có mức điện áp 11,1VDC Ngoại trừ số linh kiện hoạt động mức điện áp 5VDC điện áp nguồn đưa qua mạch hạ áp Có linh kiện, thiết bị sử dụng 5VDC, thiết bị sử dụng theo điện áp nguồn cung cấp 11,1VDC - Mạch bluetooth HC-05: dòng tiêu thụ 30mA - Vi điều khiển PIC16F887 dòng tiêu thụ 25mA - Mạch L298N: dòng tiêu thụ 70mA Tùy thuộc vào động gắn vào ngõ L298N mà dòng điện tiêu thụ mạch tăng lên - Có động DC động có dịng tiêu thụ 140mA, nên động 140mA x = 560mA - Còi báo hiệu: dòng tiêu thụ 30mA - Ba led làm nhiệm vụ chiếu sáng: dòng tiêu thụ 30mA - Cảm biến nhiệt độ, độ ẩm DHT21: dòng tiêu thụ 300uA 2.Nội dung thực hiện: NỘI DUNG 1: Thu thập liệu cảm biến gia tốc điện thoại NỘI DUNG 2: Truyền nhận liệu xe điện thoại NỘI DUNG 3: Thi cơng xe mơ hình NỘI DUNG 4: Thiết kế giao diện điều khiển NỘI DUNG 5: Đánh giá kết thực III.NGÀY GIAO NHIỆM VỤ: 01/04/2017 IV.NGÀY HOÀN THÀNH NHIỆM VỤ: 20/07/2017 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Th.s Nguyễn Thanh Nghĩa CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ii an TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC Tp HCM, ngày 10 tháng năm 2017 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Trần khang Lớp: 153410B MSSV: 15341016 Họ tên sinh viên 2: Nguyễn Văn Dưỡng Lớp: 153410A MSSV: 15341001 Tên đề tài: Điều khiển xe mơ hình ứng dụng android điện thoại Xác nhận GVHD Tuần/ngày Nội dung Tuần 01 01 – 07/04/2017 Nhận đề tài Tuần 02 08 – 15/04/2017 Tiến hành thống kê thành phần để xây dựng phần cứng xe mơ hình Tuần 03 16 – 23/04/2017 Xây dựng chương trình phần mềm cần có để lầm đề tài: android, proteus, Tuần 04 04 – 01/05/2017 Báo cáo tiến độ thực đề tài cho GVHD, đồng thời làm tiếp công việc lắp ráp phần cứng Tuần 04 02 – 09/05/2017 Xây dựng phần cứng Tuần 05+06 10 – 25/05/2017 Bắt đầu viết chương trình cho Pic 16f887, chương trình điều khiển android Tuần 07 26 – 03/06/2017 Tiếp tục viết chương trình điều khiển báo cáo tiến độ làm cho GVHD Tuần 08 04 – 11/06/2017 Kiểm tra phần cứng chạy thử chương trình điều khiển android Tuần 09 + 10 12 – 29/ 06/2017 Kiểm tra phần cứng test xe mơ hình Báo cáo kết cho GVHD Tuần 11 01 – 08/07/2017 Hoàn thiện viết luận văn GV HƯỚNG DẪN (Ký ghi rõ họ tên) iii an LỜI CAM ĐOAN Đề tài “Điều khiển xe mơ hình ứng dụng android điện thoại ” đề tài chúng em tự nghiên cứu thực dựa tham khảo ý tưởng mạng hướng dẫn nhiệt tình, đóng góp q giá thầy hướng dẫn Ngồi điều chúng em hồn tồn khơng chép nguyên mẫu đề tài có trước Nhóm thực đề tài Nguyễn Văn Dưỡng Trần Duy Khang iv an LỜI CẢM ƠN Quãng thời gian thực đồ án tốt nghiệp khơng nhiều có nhiều khó khăn, trở ngại nhờ cố gắng nhóm nhiệt tình GVHD mà khâu đồ án kịp hồn thành Chúng tơi, người thực Đồ án tốt nghiệp chân thành cảm ơn thầy Nguyễn Thanh Nghĩa, giáo viên khoa Điện – điện tử, Bộ môn Điện tử cơng nghiệp – y sinh tận tình giúp đỡ, hướng dẫn nhóm Cảm ơn bạn lớp 153410 động viên, góp ý chân thành để nhóm chúng em hoàn thành Đồ án tốt nghiệp Cảm ơn gia đình, người thân tạo điều kiện nhiều tinh thần, vật chất để chúng em có nhiều thời gian tinh để toàn tâm toàn ý thực đề tài nhanh chóng Nhóm thực đề tài Nguyễn Văn Dưỡng Trần Duy Khang v an MỤC LỤC Trang bìa i Nhiệm vụ đồ án ii Lịch trình iii Cam đoan iv Lời cảm ơn v Mục lục vi Liệt kê hình vẽ viii Liệt kê bảng vẽ xi Tóm tắt xii CHƯƠNG TỔNG QUAN 1.1 Đặt vấn đề 1.2 Mục tiêu 1.3 Nội dung nghiên cứu 1.4 Giới hạn 1.5 Bố cục CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 HỌ VI ĐIỀU KHIỂN PIC 2.2 PIC16F887 2.2.1 Giới thiệu 2.2.2 Sơ đồ cấu trúc PIC16F887 2.2.3 Sơ đồ chân PIC16F887 2.2.4 Tổ chức nhớ 10 2.2.5 Khảo sát khối PWM 11 2.2.6 Khảo sát ngắt 14 2.2.7 Khảo sát truyền liệu UART 20 2.3 HỆ ĐIỀU HÀNH ANDROID 27 2.3.1 Giới thiệu hệ điều hành Android 27 2.3.2 Ưu điểm nhược điểm 27 2.4 TỔNG QUAN VỀ BLUETOOTH 28 2.4.1 Khái niệm Bluetooth 28 2.4.2 Các chuẩn Bluetooth 28 2.4.3 Ưu điểm nhược điểm Bluetooth 29 vi an CHƯƠNG THIẾT KẾ MƠ HÌNH 30 3.1 SƠ ĐỒ KHỐI 30 3.2 PHẦN CỨNG 31 3.2.1 Khối nguồn 31 3.2.2 Mạch kit pic mini 31 3.2.3 Cảm biến DHT21 34 3.2.4 Mạch Bluetooth HC-05 34 3.2.5 Mạch công suất L298N 36 3.2.6 Động DC giảm tốc 38 3.3 KẾT NỐI PHẦN CỨNG 39 CHƯƠNG THI CƠNG MƠ HÌNH 40 4.1 GIỚI THIỆU 40 4.2 THI CƠNG XE MƠ HÌNH 40 4.2.1 Sơ đồ nối dây 40 4.2.2 Hình ảnh thực tế 41 4.3 LẬP TRÌNH HỆ THỐNG 44 4.3.1 Lưu đồ giải thuật 44 4.3.2 Phần mềm lập trình CCS 47 4.3.3 Phần mềm lập trình Android studio 56 4.4 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG 66 4.4.1 Viết tài liệu hướng dẫn sử dụng 66 4.4.2 Quy trình thao tác 68 CHƯƠNG KẾT QUẢ THỰC NGHIỆM 69 5.1 KẾT QUẢ ĐẠT ĐƯỢC 69 5.2 NHẬN XÉT VÀ ĐÁNH GIÁ 69 5.3 HÌNH ẢNH VẬN HÀNH 70 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 71 6.1 KẾT LUẬN 71 6.2 HƯỚNG PHÁT TRIỂN 72 TÀI LIỆU THAM KHẢO 73 PHỤ LỤC 74 vii an LIỆT KÊ HÌNH VẼ Hình Trang Hình 2.1 Hình dạng PIC16F887 Hình 2.2 Cấu hình vi điều khiển PIC16F887 Hình 2.3 Cấu trúc bên PIC 16F887 Hình 2.4 Sơ đồ chân PIC 16F887 Hình 2.5 Dạng sóng điều chế độ rộng xung 11 Hình 2.6 Sơ đồ khối PWM PIC16F887 12 Hình 2.7 Dạng sóng điều chế PWM 12 Hình 2.8 Thanh ghi INTCON 15 Hình 2.9 Thanh ghi PIE1 PIR1 16 Hình 2.10 Thanh ghi PIE2 PIR2 17 Hình 2.11 Mạch điện ngắt PIC16F887 19 Hình 2.12 Thanh ghi TXSTA 21 Hình 2.13 Thanh ghi RCSTA 22 Hình 2.14 Thanh ghi BAUDCTL 24 Hình 2.15 Các phiên hệ điều hành Android 27 Hình 3.1 Sơ đồ khối xe mơ hình 30 Hình 3.2 Khối nguồn 31 Hình 3.3 Kit Pic mini 32 Hình 3.4 Sơ đồ nguyên lý Kit Pic mini 33 Hình 3.5 Cảm biến nhiệt độ độ ẩm DHT21 34 Hình 3.6 Bluetooth HC-05 35 Hình 3.7 Sơ đồ nguyên lý Bluetooth HC-05 35 Hình 3.8 Mạch công suất L298N 36 Hình 3.9 Sơ đồ nguyên lý mạch công suất L298N 37 Hình 3.10 Động DC giảm tốc 38 Hình 3.11 Sơ đồ nguyên lý 39 Hình 4.1 Sơ đồ nối dây 40 Hình 4.2 Hình ảnh thực tế xe mơ hình 41 Hình 4.3 Hình ảnh mặt xe mơ hình 42 Hình 4.4 Hình ảnh mặt xe mơ hình 43 viii an Hình 4.5 Lưu đồ giải thuật chương trình PIC16F887 44 Hình 4.6 Lưu đồ giải thuật chương trình ngắt 45 Hình 4.7 Lưu đồ giải thuật ứng dụng điện thoại 46 Hình 4.8 Thư mục cài đặt 48 Hình 4.9 Cửa sổ cài đặt thứ 48 Hình 4.10 Cửa sổ cài đặt thứ 49 Hình 4.11 Cửa sổ cài đặt thứ 49 Hình 4.12 Cửa sổ cài đặt thứ 50 Hình 4.13 Quay lại thư mục cài đặt 50 Hình 4.14 Cửa sổ thứ 51 Hình 4.15 Cửa sổ thứ 51 Hình 4.16 Cửa sổ thứ 52 Hình 4.17 Cửa sổ thứ 52 Hình 4.18 Cửa sổ thứ 53 Hình 4.19 Cửa sổ thứ 53 Hình 4.20 Hướng dẫn tạo project 54 Hình 4.21 Cửa sổ Android studio thứ 56 Hình 4.22 Cửa sổ Android studio thứ 57 Hình 4.23 Cửa sổ Android studio thứ 57 Hình 4.24 Cửa sổ Android studio thứ 58 Hình 4.25 Cửa sổ Android studio thứ 58 Hình 4.26 Cửa sổ Android studio thứ 59 Hình 4.27 Cửa sổ Android studio thứ 59 Hình 4.28 Cửa sổ giao diện thứ 60 Hình 4.29 Cửa sổ giao diện thứ 60 Hình 4.30 Cửa sổ giao diện thứ 61 Hình 4.31 Cửa sổ giao diện thứ 61 Hình 4.32 Cửa sổ giao diện thứ 62 Hình 4.33 Giao diện kết nối thiết bị 62 Hình 4.34 Giao diện điều khiển 63 Hình 4.35 Yêu cầu mở Bluetooth 66 Hình 4.36 Tìm thiết bị 66 Hình 4.37 Chọn thiết bị kết nối 67 Hình 4.38 Kết nối giao diện điều khiển 67 ix an TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO [1] Nguyễn Đình Phú, “Vi điều khiển PIC 16F887”, Trường Đại Học Sư Phạm Kỹ Thuật TP.Hồ Chí Minh, 2015 [2] Nguyễn Văn Hiệp, Đinh Quang Hiệp, “Giáo trình lập trình android bản”, Xuất ĐH Quốc gia, Tp.HCM, 2015 [3] “Tổng quan công nghệ Bluetooth”, truy cập ngày 15 tháng năm 2017 (Link:http://rd.vntech24h.com/tong-quan-ve-cong-nghe-bluetooth.html) [4] “Cảm biến nhiệt độ, độ ẩm DHT21”, truy cập ngày 15 tháng năm 2017 (Link:http://mcu.banlinhkien.vn/threads/cam-bien-nhiet-do-do-am-dht21.2786) [5] “Kit Pic mini”, truy cập ngày 15 tháng năm 2017 (Link:http://mualinhkien.vn/san-pham/854/kit-pic-mini.html) [6] “Mạch thu phát Bluetooth HC-05 chân”, truy cập ngày 15 tháng năm 2017 (Link: http://hshop.vn/products/mach-thu-phat-bluetooth-hc-05-do-ra-chonmaster) [7] “Module điều khiển motor L298N”, truy cập ngày 15 tháng năm 2017 (Link:https://dientu360.com/module-dieu-khien-motor-l298n) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 73 PHỤ LỤC PHỤ LỤC Chương trình lập trình cho vi điều khiển PIC16F887 #include #include #include #include #FUSES NOWDT,PUT,HS,NOPROTECT,NOLVP #use delay(clock=20000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stream=PORT1) //*******************HC-05**************** #define STATE PIN_B4 //*******************L298N**************** #define period 155 #define DIR1 PIN_C3 #define DIR2 PIN_C0 //********************DHT21*************** #define DHT PIN_B5 //**************************************** #define set_val 14 float set_rat = 2.4; //**************************************** char dat_ok[9] = {'A','+','0','0','B','+','0','0','C'}; unsigned char u = 0, t = 0; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 74 PHỤ LỤC signed char Xval = 0; signed char Yval = 0; unsigned char pwm1 = 0; unsigned char pwm2 = 0; //**************************DHT21****************************** typedef unsigned char U8; /* defined for unsigned 8-bits integer variable */ unsigned char U8FLAG,U8comdata; unsigned char U8checkdata,U8checkdata_temp,U8temp; unsigned char U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L; unsigned char U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_te mp; signed int16 U16RH_data,U16T_data; signed int16 temperature = 0, humidity = 0, temperature1 = 0, humidity1 = 0; unsigned char g = 0; signed int16 T_temp1[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; signed int16 H_temp1[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; //****************Xu ly du lieu nhan************************ void get_val() { //A+50B+50C11D if(dat_ok[1] == '-') { Xval = -(((dat_ok[2] - 48) * 10) + (dat_ok[3] - 48)); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 75 PHỤ LỤC } else if(dat_ok[1] == '+') { Xval = ((dat_ok[2] - 48) * 10) + (dat_ok[3] - 48); } //**************************************** if(dat_ok[5] == '-') { Yval = -(((dat_ok[6] - 48) * 10) + (dat_ok[7] - 48)); } else if(dat_ok[5] == '+') { Yval = ((dat_ok[6] - 48) * 10) + (dat_ok[7] - 48); } } //************************ Cac ham xe hoat dong ******************* void run() { if(Yval > set_val && Xval = -set_val) //Di toi { output_low(DIR1); output_low(DIR2); pwm1 = Yval * set_rat; pwm2 = Yval * set_rat; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 76 PHỤ LỤC set_pwm1_duty(pwm1); //Left Motor set_pwm2_duty(pwm2); //Right Motor } if(Yval < -set_val && Xval = -set_val) //Lui lai { output_high(DIR1); output_high(DIR2); pwm1 = 120 - (-Yval * set_rat); pwm2 = 120 - (-Yval * set_rat); set_pwm1_duty(pwm1); //Left Motor set_pwm2_duty(pwm2); //Right Motor } else if(Yval > set_val && Xval > set_val + 5) //Re trai { output_low(DIR1); output_low(DIR2); pwm2 = Yval * set_rat; pwm1 = pwm2 / 2; set_pwm1_duty(pwm1); set_pwm2_duty(pwm2); } else if(Yval > set_val && Xval < (-set_val -5)) //Re phai { output_low(DIR1); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 77 PHỤ LỤC output_low(DIR2); pwm1 = Yval * set_rat; pwm2 = pwm1 / 2; set_pwm1_duty(pwm1); set_pwm2_duty(pwm2); } else if(Xval > set_val + && Yval = -set_val) //Xoay trai { output_high(DIR1); output_low(DIR2); if(Xval > 40) Xval = 40; pwm1 = 120 - (Xval * 1.5); pwm2 = Xval * 1.5; set_pwm1_duty(pwm1); set_pwm2_duty(pwm2); } else if(Xval < (-set_val-5) && Yval = -set_val) //Xoay phai { output_low(DIR1); output_high(DIR2); if(Xval < -40) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 78 PHỤ LỤC Xval = -40; pwm2 =120 - (-Xval * 1.5); pwm1 = -Xval * 1.5; set_pwm1_duty(pwm1); set_pwm2_duty(pwm2); } else if(Yval < -set_val && Xval > set_val + 5) //Re lui trai { output_high(DIR1); output_high(DIR2); pwm2 = 120 - (-Yval * set_rat); pwm1 = (-Yval * set_rat) / 2; set_pwm1_duty(pwm1); //Left Motor set_pwm2_duty(pwm2); //Right Motor } else if(Yval < -set_val && Xval < (-set_val -5)) //Re lui phai { output_high(DIR1); output_high(DIR2); pwm1 = 120 - (-Yval * set_rat); pwm2 = (-Yval * set_rat) / 2; set_pwm1_duty(pwm1); //Left Motor set_pwm2_duty(pwm2); //Right Motor } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH an 79 PHỤ LỤC else if(Xval = -set_val && Yval = -set_val) //Dung lai { output_low(DIR1); output_low(DIR2); pwm1 = 0; pwm2 = 0; set_pwm1_duty(pwm1); set_pwm2_duty(pwm2); } } //**********************DHT21******************** void rd8bit(void) { U8 i; for(i=0;i

Ngày đăng: 02/02/2023, 09:07

Xem thêm:

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

TÀI LIỆU LIÊN QUAN