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 CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐAI ĐEO HỖ TRỢ NGƢỜI KHIẾM THỊ GVHD: PHAN VÂN HOÀN SVTH: TRẦN VĂN THỊNH MSSV: 13141345 SVTH: ĐẶNG NGUYỄN TRUNG HIẾU MSSV: 13141092 SKL 0 Tp Hồ Chí Minh, tháng 01/2018 LỜI CAM ĐOAN Đề tài tự thực dựa vào số tài liệu trước khơng chép từ tài liệu hay cơng trình có trước Các kết thơng tin sử dụng tác giả khác trích dẫn cụ thể Người thực đề tài Trần Văn Thịnh Đặng Nguyễn Trung Hiếu iv LỜI CẢM ƠN Nhóm em xin gửi lời cảm ơn sâu sắc đến Thầy Phan Vân Hồn - Giảng viên mơn Điện tử Công nghiệp - Y sinh trực tiếp hướng dẫn tận tình giúp đỡ tạo điều kiện để hồn thành tốt đề tài Nhóm em xin gửi lời cảm ơn chân thành đến thầy cô Khoa Điện - Điện Tử tạo điều kiện tốt cho em hồn thành đề tài Nhóm em gửi lời đồng cảm ơn đến bạn lớp 13141DT2B chia sẻ trao đổi kiến thức kinh nghiệm quý báu thời gian nhóm thực đề tài Đồ án thực thời gian ngắn, khơng tránh khỏi thiếu sót Nhóm em mong nhận góp ý q thầy bạn Chúc quý thầy cô nhiều sức khỏe thành công công việc Xin chân thành cảm ơn! Người thực đề tài Trần Văn Thịnh Đặng Nguyễn Trung Hiếu v 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ẽ x Tóm tắt xi CHƢƠNG TỔNG QUAN 1.1 Đặt vấn đề 1.3 Mục tiêu 1.4 Nội dung nghiên cứu 1.5 Giới hạn 1.6 Bố cục CHƢƠNG CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu chuẩn truyền nhận liệu – Giao tiếp UART 2.2 Phương pháp tính 2.2.1 Cơ sở thiết kế 2.2.2 Phương pháp tính 2.3 Phương pháp điều chế xung PWM 11 2.3.1 Khái niệm 11 2.3.2 Ứng dụng cách tạo xung PWM 12 2.4 Giới thiệu phần cứng 12 2.4.1 Mạch xử lý trung tâm – Vi điều khiển 12 2.4.2 Module đo khoảng cách 16 2.4.3 Module phát âm DF Player Mini 18 2.4.4 Module khuếch đại âm PAM8403 23 2.4.3 Module động 23 CHƢƠNG TÍNH TỐN VÀ THIẾT KẾ 25 vi 3.1 Giới thiệu 25 3.2 Tính tốn thiết kế hệ thống 25 3.2.1 Thiết kế sơ đồ khối hệ thống 25 3.2.2 Tính tốn thiết kế mạch 26 3.2.3 Sơ đồ nguyên lý toàn mạch 37 CHƢƠNG THI CÔNG HỆ THỐNG 38 4.1 Giới thiệu 38 4.2 Thi công hệ thống 38 4.2.1 Thi công bo mạch 38 4.2.2 Lắp ráp kiểm tra 41 4.3 Đóng gói thi cơng mơ hình 43 4.4 Lập trình hệ thống 46 4.4.1 Lưu đồ giải thuật 46 4.4.2 Phần mềm lập trình cho vi điều khiển 52 4.5 Viết tài liệu hướng dẫn 58 4.5.1 Viết tài liệu hướng dẫn sử dụng 58 4.5.2 Quy trình thao tác 58 CHƢƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 60 5.1 Kết 60 5.1.1 Những vấn đề nghiên cứu 60 5.1.2 Những vấn đề hoàn thành 60 5.1.3 Hình ảnh sản phẩm 61 5.2 Nhận xét 61 5.3 Đánh giá 61 CHƢƠNG KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 62 6.1 Kết luận 62 6.2 Hướng phát triển 62 TÀI LIỆU THAM KHẢO 64 PHỤ LỤC 65 vi i TÓM TẮT Hiện nay, số lượng người khiếm thị Việt Nam nhiều, khó khăn việc lại sinh hoạt ngày tránh khỏi Thời gian gần có nhiều phát minh giúp đỡ người khiếm thị, đặc biệt kính “ Mắt Thần” với nhiều tính Tiến Sĩ Nguyễn Bá Hải đường cho người khiếm thị, phát vật cản đầu chân cách báo rung… Với ý tưởng chế tạo thiết bị quét vận cản từ phía trước đầu đến chân thông báo cho người dùng âm thanh, nhóm thực đề tài “Đai đeo hỗ trợ người khiếm thị” Với đề tài này, nhóm sử dụng cảm biến khoảng cách để phát vật cản khoảng cách an toàn với người khiếm thị để họ tránh vật cản trước mặt tìm hướng an tồn Nhóm thực ghép nối arduino nano với cảm biến hồng ngoại GP2Y0A710K0F, module âm DFPlayer Mini, động servo MG90S, mạch khuếch đại PAM8403 để quét từ xuống ngược lại để phát vật cản hay có cầu thang hướng lên hay hướng xuống, sau thơng báo cho người dùng âm qua loa dùng tai nghe Ngoài ra, nguồn pin cung cấp gắn liền thiết bị sạc cáp micro USB điện thoại thơng thường, có đèn báo tình trạng pin Để thực đề tài này, nhóm sử dụng kiến thức liên quan điện tử bản, tìm hiểu thơng tin cộng đồng mạng Nghiên cứu cấu tạo, chức module DFPlayer Mini, arduino nano ATmega328P, cách ghép nối động servo với cảm biến khoảng cách để quét cho phù hợp, xác Nhóm sử dụng phần mềm Arduino IDE để lập trình cho đề tài Nhóm thực đề tài xi CHƢƠNG TỔNG QUAN Chƣơng TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ Hiện nay, với bùng nổ khoa học công nghệ, hàng loạt thiết bị công nghệ cao đời nhằm đáp ứng cho nhu cầu sử dụng người Trong đó, khơng thiếu thiết bị dùng để giúp đỡ cho người khiếm thị Người khiếm thị Việt Nam gặp nhiều khó khăn việc lại sinh hoạt ngày, họ cần giúp đỡ người thân vật dụng gậy đường, Nên việc cho đời nhiều thiết bị hỗ trợ cho người khiếm thị điều cần thiết, điều thể quan tâm cộng đồng người khiếm thị, góp phần giúp đỡ cho người khiếm thị thuận lợi việc di chuyển sinh hoạt hàng ngày Ở Việt Nam có thiết bị phát minh đời để giúp đỡ cho họ Mắt Thần Tiến Sĩ Nguyễn Bá Hải, vòng đeo tay hỗ trợ người mù thông báo cho người dùng cách báo rung,… Với cần thiết đó, nhóm em xin thực đề tài “Đai đeo hỗ trợ người khiếm thị” Với đề tài này, nhóm sử dụng cảm biến hồng ngoại GP2Y0A710K0F để phát vật cản hay cầu thang khoảng cách an toàn với người khiếm thị để họ tránh vật cản trước mặt tìm hướng an tồn việc thông báo âm 1.2 MỤC TIÊU Mục tiêu đề tài thực mơ hình hoản chỉnh sử dụng cảm biến hồng ngoại GP2Y0A710K0F kết hợp với động Servo MG90S để phát vật cản phạm vi tối thiểu 1.2m phát cầu thang Sau đó, sử dụng module DF Player Mini Mp3 để phát thông báo thiết lập sẵn qua loa hay tai nghe (earphone) đến người sử dụng để họ chọn hướng khác an toàn tiếp tục di chuyển BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CHƢƠNG TỔNG QUAN 1.3 NỘi DUNG NGHIÊN CỨU NỘI DUNG 1: Tìm hiểu đề tài có trước NỘI DUNG 2: Tìm hiểu cách xác định góc từ xác định khoảng cách từ điểm cố định đến điểm NỘI DUNG 3: Tìm hiểu linh kiện sử dụng hệ thống NỘI DUNG 4: Thiết kệ hệ thống điều khiển NỘI DUNG 5: Thi cơng lắp ráp mơ hình NỘI DUNG 6: Viết chương trình hồn chỉnh cho mơ hình NỘI DUNG 7: Thực nghiệm để quan sát kết NỘI DUNG 8: Điều chỉnh thông số cho tối ưu hệ thống NỘI DUNG 9: Hồn thiện chương trình NỘI DUNG 10: Nhận xét, đánh giá kết hồn thiện mơ hình NỘI DUNG 11:Hồn thành luận văn 1.4 GIỚI HẠN Phạm vi giới hạn cảm biến GP2Y0A710K0F từ 1m đến 5,5m Dưới 1m cảm biến hoạt động khơng xác Sử dụng Board Arduino Nano thay phải thiết kế mạch điều khiển hoàn chỉnh để tiết kiệm thời gian Thời gian sử dụng ngắn sử dụng pin 18650 dung lượng thấp 1.5 BỐ CỤC Chƣơng 1: Tổng quan Chương giới thiệu đề tài, lí chọn đề tài, mục tiêu, nội dung nghiên cứu, giới hạn đề tài Chƣơng 2: Cơ sở lý thuyết Chương trình bày sơ lý thuyết đề tài, tổng quan vi điều khiển Chƣơng 3: Thiết kế tính tốn Chương trình bày việc thiết kế sơ đồ khối, tìm hiểu linh kiện sử dụng, tính tốn thông số sử dụng mạch thiết kế sơ đồ nguyên lý hệ thống BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CHƢƠNG TỔNG QUAN Chƣơng 4: Thi cơng hệ thống Chương trình bày bước thi công hệ thống từ phần cứng, phần mềm, kết đạt sau thi công Chƣơng 5: Kết quả, nhận xét đánh giá Chương trình bày kết thực hiện, nhận xét đưa đánh giá chung hệ thống dựa mục tiêu ban đầu đặt Chƣơng 6: Kết luận hướng phát triển Chương trình bày kết luận đề tài thực hiện, nêu hướng phát triển cho đề tài tương lai BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CHƢƠNG CƠ SỞ LÝ THUYẾT Chƣơng CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU CHUẨN TRUYỀN NHẬN DỮ LIỆU – GIAO TIẾP UART Giao tiếp UART chế độ bất đồng sử dụng dây kết nối cho chiều truyền liệu để q trình truyền nhận liệu thành cơng việc tuân thủ tiêu chuẩn truyền quan trọng Sau khái niệm quan trọng chế độ truyền thông Baud rate (tốc độ Baud): Để việc truyền nhận bất đồng xảy thành cơng thiết bị tham gia phải thống với khoảng thời gian dành cho bit truyền, hay nói cách khác tốc độ truyền phải cài đặt trước truyền nhận, tốc độ gọi tốc độ Baud Tốc độ Baud số bit truyền giây Ví dụ, tốc độ Baud đặt 9600 bit/giây thời gian dành cho bit truyền 1/9600 ~ 104.167us Frame (khung truyền): Do truyền thông nối tiếp mà nối tiếp bất đồng dễ sai lệch liệu, q trình truyền thơng theo kiểu phải tuân theo số quy cách định Bên cạnh tốc độ Baud, khung truyền yếu tố quan trọng tạo nên thành công truyền nhận Khung truyền bao gồm quy định số bit lần truyền, bit báo hiệu bit Start bit Stop, bit kiểm tra Parity, số lượng bit liệu lần truyền quy định khung truyền Để bắt đầu cho việc truyền liệu UART, START bit gửi đi, sau bit liệu kết thúc trình truyền STOP bit Hình 2.1 Khung truyễn liệu chế độ bất động BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH PHỤ LỤC else if ((kc_up[i] < 1450) && (kc_up[i] > 1350)&& (i > (goc_min + 4))) { solan1m4 = solan1m4 + 1; if (solan1m4 == 8) { Serial.println("Phía trước có vật cản!"); mp3_play_file_in_folder (02, 3); delay(3000); solan1m4 = 0; ck = 0; hd = true; } } else if ((kc_up[i] < 1550) && (kc_up[i] > 1450) && (i > (goc_min + 6))) { solan1m5 = solan1m5 + 1; if (solan1m5 == 8) { Serial.println("Phía trước có vật cản!"); mp3_play_file_in_folder (02, 4); delay(3000); solan1m5 = 0; ck = 0; hd = true; } } else if ((kc_up[i] < 1650) && (kc_up[i] > 1550)&&( i > (goc_min + 8))) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 67 PHỤ LỤC { solan1m6 = solan1m6 + 1; if (solan1m6 == 8) { Serial.println("Phía trước có vật cản!"); mp3_play_file_in_folder (02, 5); delay(3000); solan1m6 = 0; ck = 0; hd = true; } } else if((kc_up[i] < 1750) && (kc_up[i] > 1650) && ( i > (goc_min + 10))) { solan1m7 = solan1m7 + 1; if (solan1m7 == 8) { Serial.println("Phía trước có vật cản!"); mp3_play_file_in_folder (02, 6); delay(3000); solan1m7 = 0; ck = 0; hd = true; } } else if((kc_up[i] < 1850) && (kc_up[i] > 1750) && ( i > (goc_min + 12))) { solan1m8 = solan1m8 + 1; if (solan1m8 == 8) BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH 68 PHỤ LỤC { Serial.println("Phía trước có vật cản!"); mp3_play_file_in_folder (02, 7); delay(3000); solan1m8 = 0; ck = 0; hd = true; } } else if ((kc_up[i] > (kc_mau[i] + 600)) && (i < (goc_min + 6))) { solan_ctx = solan_ctx + 1; if (solan_ctx == 2) { Serial.println("Có cầu thang hướng xuống!"); mp3_play_file_in_folder (06, 2); delay(3000); solan_ctx = 0; ck = 0; hd = false; } } else if ((kc_up[i] = 150) && (delta 1) { if ((kc_up[i] > 3000) && (hd == true)) { solan = solan + 1; if (solan == 10) { Serial.println("Hướng di chuyển!"); mp3_play_file_in_folder (05, 1); delay(3000); solan = 0; hd = false; } } } } ck = ck + 1; solan = 0; solan_ctx = 0; solan_ctl = 0; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 70 PHỤ LỤC solan1m2=0; solan1m3=0; solan1m4=0; solan1m5=0; solan1m6=0; solan1m7=0; solan1m8=0; for (j = goc_max; j >= goc_min; j -= 2) { myservo.write(j); kc_mau[j] = kc_mau_eep[j] * 20; distance = sensor.getDist(); kc_dw[j] = distance; delta = kc_dw[j + 4] - kc_dw[j]; delay(25); if (ck > 2) { if ((kc_dw[j] < 1250) ) { solan1m2 = solan1m2 + 1; if (solan1m2 == 8) { Serial.println("Phía trước có vật cản!"); mp3_play_file_in_folder (02, 1); delay(3000); solan1m2 = 0; ck = 0; hd = true; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 71 PHỤ LỤC } } else if ((kc_dw[j] < 1350) && (kc_dw[j] > 1250)&& (j > (goc_min + 2))) { solan1m3 = solan1m3 + 1; if (solan1m3 == 8) { Serial.println("Phía trước có vật cản!"); mp3_play_file_in_folder (02, 2); delay(3000); solan1m3 = 0; ck = 0; hd = true; } } else if ((kc_dw[j] < 1450) && (kc_dw[j] > 1350)&& ( j > (goc_min + 4))) { solan1m4 = solan1m4 + 1; if (solan1m4 == 8) { Serial.println("Phía trước có vật cản!"); mp3_play_file_in_folder (02, 3); delay(3000); solan1m4 = 0; ck = 0; hd = true; } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 72 PHỤ LỤC else if ((kc_dw[j] < 1550) && (kc_dw[j] > 1450) && ( j > (goc_min + 6))) { solan1m5 = solan1m5 + 1; if (solan1m5 == 8) { Serial.println("Phía trước có vật cản!"); mp3_play_file_in_folder (02, 4); delay(3000); solan1m5 = 0; ck = 0; hd = true; } } else if ((kc_dw[j] < 1650) && (kc_dw[j] > 1550)&&(j >(goc_min + 8))) { solan1m6 = solan1m6 + 1; if (solan1m6 == 8) { Serial.println("Phía trước có vật cản!"); mp3_play_file_in_folder (02, 5); delay(3000); solan1m6 = 0; ck = 0; hd = true; } } else if ((kc_dw[j] < 1750) && (kc_dw[j] > 1650)&&(j > (goc_min + 10))) { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 73 PHỤ LỤC solan1m7 = solan1m7 + 1; if (solan1m7 == 8) { Serial.println("Phía trước có vật cản!"); mp3_play_file_in_folder (02, 6); delay(3000); solan1m7 = 0; ck = 0; hd = true; } } else if ((kc_dw[j] < 1850) && (kc_dw[j] > 1750)&&(j >(goc_min + 12))) { solan1m8 = solan1m8 + 1; if (solan1m8 == 8) { Serial.println("Phía trước có vật cản!"); mp3_play_file_in_folder (02, 7); delay(3000); solan1m8 = 0; ck = 0; hd = true; } } else if ((kc_dw[j] > (kc_mau[j] + 600)) && (j < (goc_min + 6))) { solan_ctx = solan_ctx + 1; if (solan_ctx == 2) { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 74 PHỤ LỤC Serial.println("Có cầu thang hướng xuống!"); mp3_play_file_in_folder (06, 2); delay(3000); solan_ctx = 0; ck = 0; hd = false; } } else if ((kc_dw[j] = 150) && (delta 1) { if ((kc_dw[j] > 3000) && (hd == true)) { solan = solan + 1; if (solan == 10) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 75 PHỤ LỤC { Serial.println("Hướng di chuyển!"); mp3_play_file_in_folder (05, 1); delay(3000); solan = 0; hd = false; } } } } ck = ck + 1; } Chương trình đo khoảng cách: int dokc_mm (byte pos) { myservo.write(pos); delay(50); unsigned int distance; distance = sensor.getDist(); Serial.print("Goc: "); Serial.print(pos); // Gửi giá trị i ( góc quay Servo) đến Serial Port Serial.print(", "); // Gửi "," Serial.print("Khoang cach: "); Serial.print(distance); // Tiếp theo gửi giá trị khoảng cách tới Serial Port Serial.print(" mm"); Serial.println("."); // Gửi dấu "."" delay(50); return distance; } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 76 PHỤ LỤC Chương trình Setup đai đeo: void setup_daideo() { float x = 0; float y = 0; byte dem = 0; byte k; unsigned int s; int h1, h2; //chiều cao từ đai đeo xuống đất từ đai đeo lên đầu float goc_dilen = 0; float goc_dixuong = 0; byte anpha; Serial.println("Da nhan button setup!"); mp3_play_file_in_folder (01, 1); delay(6000); for (dem = 0; dem 5030) { kc_mau[k] = 5030; } Serial.print("Goc: "); Serial.print(k); Serial.print(", "); Serial.print("kc_mau: "); Serial.println(kc_mau[k]); kc_mau_eep[k] = (kc_mau[k] / 20); EEPROM.write(address, kc_mau_eep[k]); address = address + 1; delay(5); } ngung2 = 1; setup_status = true; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 79 PHỤ LỤC if (ngung2 == 1) { delay(1000); mp3_play_file_in_folder (01, 2); delay(5000); ngung2 = 0; // thong bao lần } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 80 S K L 0 ... Tiến Sĩ Nguyễn Bá Hải, vòng đeo tay hỗ trợ người mù thông báo cho người dùng cách báo rung,… Với cần thiết đó, nhóm em xin thực đề tài ? ?Đai đeo hỗ trợ người khiếm thị? ?? Với đề tài này, nhóm sử... đường, Nên việc cho đời nhiều thiết bị hỗ trợ cho người khiếm thị điều cần thiết, điều thể quan tâm cộng đồng người khiếm thị, góp phần giúp đỡ cho người khiếm thị thuận lợi việc di chuyển sinh hoạt... cho người khiếm thị, phát vật cản đầu chân cách báo rung… Với ý tưởng chế tạo thiết bị qt vận cản từ phía trước đầu đến chân thông báo cho người dùng âm thanh, nhóm thực đề tài ? ?Đai đeo hỗ trợ người
Ngày đăng: 04/12/2021, 07:00
Xem thêm: