Mục tiêu của đồ án là Thiết kế và thi công một hệ thống phân loại bút chì, trong đó sử dụng Webcam để thực hiện việc thu nhận hình ảnh bút chì, rồi gửi dữ liệu vào máy tính để xử lý màu sắc cho việc phân loại 7 màu sắc khác nhau của bút chì. Hệ thống sử dụng bộ xử lý trung tâm là vi điều khiển Arduino Uno R3 nhận dữ liệu từ máy tính.
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 CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG PHÂN LOẠI SẢN PHẨM BÚT CHÌ THEO MÀU SẮC GVHD: PGS.TS Nguyễn Thanh Hải SVTH: Trần Văn Tuấn MSSV: 13141414 SVTH: Phạm Văn Long MSSV: 13141171 Tp Hồ Chí Minh – 1/2020 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: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG PHÂN LOẠI SẢN PHẨM BÚT CHÌ THEO MÀU SẮC GVHD: PGS.TS Nguyễn Thanh Hải SVTH: Trần Văn Tuấn MSSV: 13141414 SVTH: Phạm Văn Long MSSV: 13141171 Tp Hồ Chí Minh - 12/2019 TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp HCM, ngày 18 tháng 12 năm 2019 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 Văn Tuấn Phạm Văn Long Kỹ thuật Điện - Điện tử Đại học quy 2013 MSSV: 13141414 MSSV: 13141171 Mã ngành: 01 Mã hệ: Lớp: 13141DT1A I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG HỆ THỐNG PHÂN LOẠI SẢN PHẨM BÚT CHÌ THEO MÀU SẮC II NHIỆM VỤ Các số liệu ban đầu: - Kích thước băng tải 1: chiều dài 30cm, chiều rộng 20cm, chiều cao 25cm - Kích thước băng tải 2: chiều dài 100cm, chiều rộng 20cm, chiều cao 20cm - Webcam Logitech C270p đóng vai trị thu nhận ảnh đầu vào - Board Arduino Uno R3 điều khiển trung tâm mơ hình - Dùng động Servo 5V để gạt sản phẩm - Động DC 12V điều khiển kéo băng tải Nội dung thực hiện: - Nghiên cứu, tìm hiểu Webcam Logitech C270p - Nghiên cứu, tìm hiểu động Servo board Arduino Uno R3 - Nghiên cứu, tìm hiểu phần mềm lập trình Matlab - Nghiên cứu, tìm hiểu thuật tốn hàm, khơng gian màu áp dụng cho việc xử lý màu sắc - Viết code chương trình Matlab xử lý ảnh, màu sắc - Xây dựng chương trình điều khiển mơ hình giao tiếp Matlab Arduino - Thiết kế, xây dựng phần cứng mơ hình - Chạy thử nghiệm, cân chỉnh sửa lỗi mơ hình - Viết báo cáo luận văn - Báo cáo đề tài tốt nghiệp ii III NGÀY GIAO NHIỆM VỤ: 07/10/2019 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 18/12/2020 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: PGS.TS Nguyễn Thanh Hải CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH iii TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp HCM, ngày 18 tháng 12 năm 2019 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Trần Văn Tuấn Lớp: 13141DT1A MSSV: 13141414 Họ tên sinh viên 2: Phạm Văn Long Lớp: 13141DT1A MSSV: 13141171 Tên đề tài: THIẾT KẾ VÀ THI CƠNG HỆ THỐNG PHÂN LOẠI SẢN PHẨM BÚT CHÌ THEO MÀU SẮC Tuần/ngày Tuần Từ 7/10/2019 Nội dung Xác nhận GVHD - Gặp GVHD nhận đề tài - Viết đề cương chi tiết đến 13/10/2019 Tuần - Tìm hiểu tham khảo đề tài nghiên cứu có liên Từ 14/10/2019 quan đến điều khiển, giám sát xử lý hình ảnh dùng đến 20/10/2019 Arduino Matlab Tuần - Gặp báo cáo với GVHD hướng thực đề tài Từ 21/10/2019 - Tìm hiểu cài đặt ngơn ngữ lập trình Matlab cho máy đến 27/10/2019 Tuần Từ 28/10/2019 tính - Tìm hiểu vi điều khiển Arduino Uno R3 - Tìm hiểu động cơ, webcam phục vụ cho đề tài đến 3/11/2019 Tuần Từ 4/11/2019 đến 10/11/2019 - Cài đặt driver cho webcam cài đặt Arduino cho Matlab - Kết nối Arduino webcam với Matlab - Kết nối Arduino với động cơ, servo Tuần Từ 11/11/2019 đến 17/11/2019 - Báo cáo tiến độ cho GVHD - Viết chương trình Matlab phân tích xử lý màu sắc - Chạy mơ kết máy tính iv Tuần - Báo cáo tiến độ cho GVHD Từ 18/11/2019 - Viết chương trình điều khiển động MatLab đến 24/11/2019 - Chạy mô phỏng, kiểm tra hoạt động cảm biến động Tuần - Báo cáo tiến độ cho GVHD Từ 25/11/2019 - Lắp ráp khối điều khiển vào mơ hình đến 1/12/2019 - Viết chương trình tồn hệ thống kiểm tra lỗi Tuần - Báo cáo tiến độ cho GVHD Từ 2/12/2019 - Chạy thử nghiệm cân chỉnh khối điều khiển đến 8/12/2019 mơ hình Tuần 10 Từ 9/12/2019 - Báo cáo tiến độ cho GVHD - Hồn thành mơ hình đến 15/12/2019 Tuần 11 Từ 16/12/2019 - Báo cáo tiến độ cho GVHD - Viết báo cáo luận văn đến 22/12/2019 Tuần 12 - Hoàn thiện báo cáo, chuẩn bị gặp GVPB bảo vệ Từ 23/12/2019 đến 29/12/2019 GV HƯỚNG DẪN (Ký ghi rõ họ tên) v LỜI CAM ĐOAN Đề tài chúng em tự thực dựa vào số tài liệu cơng trình nghiên cứu, khơng chép từ tài liệu hay cơng trình có trước Nếu có chép chúng em hồn toàn chịu trách nhiệm Sinh viên thực đề tài Trần Văn Tuấn Phạm Văn Long vi LỜI CẢM ƠN Tục ngữ có câu “Uống nước nhớ nguồn, ăn nhớ người trồng cây” Trên thực tế khơng có thành công mà không gắn liền với hỗ trợ dù hay nhiều, dù gián tiếp hay trực tiếp Trong trình thực đề tài tốt nghiệp chúng em gặp phải rào cản khó khăn hạn chế kiến thức Thầy PGS.TS Nguyễn Thanh Hải hướng dẫn tận tình, chu đáo Vì thế, lời báo cáo đồ án tốt nghiệp này, chúng em xin dành lời cảm ơn chân thành sâu sắc đến Thầy PGS.TS Nguyễn Thanh Hải Thầy Cô môn Điện Tử Công Nghiệp – Y Sinh Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh, dành lời cảm ơn đến cha mẹ, gia đình ln động viên, hỗ trợ để chúng em hồn thành tốt đồ án Với kiến thức kinh nghiệm hạn chế, báo cáo chúng em chắn tránh khỏi sai sót Chúng em mong nhận bảo đóng góp quý báu quý Thầy Cơ để chúng em có điều kiện bổ sung, hoàn thiện đề tài Một lần nữa, chúng em xin chân thành cảm ơn! Sinh viên thực đề tài Trần Văn Tuấn Phạm Văn Long vii MỤC LỤC Trang bìa i Nhiệm vụ đồ án ii Lịch trình iv Cam đoan vi Lời cảm ơn vii Mục lục viii Liệt kê hình vẽ xi Liệt kê bảng xiv Tóm tắt xv 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 đề tài 1.5 Bố cục CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu xử lý ảnh 2.1.1 Thu nhận ảnh 2.1.2 Tiền xử lý ảnh 2.1.3 Phân đoạn ảnh 2.1.4 Biểu diễn mô tả ảnh 2.1.5 Nhận dạng nội suy 2.2 Không gian màu ảnh 2.2.1 Không gian màu RGB viii 2.2.2 Không gian màu HSV 2.2.3 Chuyển đổi RGB sang HSV 10 CHƯƠNG TÍNH TỐN VÀ THIẾT KẾ 11 3.1 Thiết kế phần cứng 12 3.1.1 Khối nguồn 12 3.1.2 Khối thu nhận ảnh 13 3.1.3 Khối điều khiển 13 3.1.4 Khối thực thi 15 3.2 Phần mềm xử lý ảnh 17 3.2.1 Kết nối Webcam với Matlab 18 3.2.2 Kết nối Arduino với Matlab 19 3.3 Phương pháp xác định màu bút chì 19 3.3.1 Bộ lọc trung bình 20 3.3.2 Chuyển đổi RGB sang HSV 21 3.3.3 Phân ngưỡng 21 3.3.4 Xác định màu bút chì 23 3.4 Sơ đồ kết nối hệ thống 23 3.5 Nguyên lý hoạt động 24 CHƯƠNG THI CÔNG HỆ THỐNG 26 4.1 Thi công hệ thống 26 4.2 Lập trình hệ thống 30 4.2.1 Lưu đồ giải thuật mô 30 4.2.2 Lưu đồ giải thuật hệ thống 31 4.2.3 Lưu đồ giải thuật xác định màu sắc 32 4.3 Tài liệu hướng dẫn sử dụng, thao tác 34 ix PHỤ LỤC g1=1; k2=k2+1; if k2==7 g1=0; g2=0; g3=0; g4=0; g5=0; g6=0; g7=0; k2=0; SL=SL+1; set(handles.text_SL,'string',SL); c=set(handles.text_K2,'string',''); end else set(handles.text_KT,'string','ALREADY HAVE'); pause(1); end elseif CC2.NumObjects > set(handles.text_ketqua,'string','Orange'); imshow(maskedRGBImageOrange,'parent',handles.axes_KQ); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH xxxii PHỤ LỤC if f2==0 b=strcat(b,"Orange, "); set(handles.text_K1,'string',b); pause(2); writePosition(s1,1);%90 pause(4); writePosition(s1,0.56);%00 f2=1; k1=k1+1; if k1==7 f1=0; f2=0; f3=0; f4=0; f5=0; f6=0; f7=0; k1=0; SL=SL+1; set(handles.text_SL,'string',SL); b=set(handles.text_K1,'string',''); end elseif g2==0 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH xxxiii PHỤ LỤC c=strcat(c,"Orange, "); set(handles.text_K2,'string',c); pause(2); writePosition(s2,0.5);%90 pause(4); writePosition(s2,0.945);%00 g2=1; k2=k2+1; if k2==7 g1=0; g2=0; g3=0; g4=0; g5=0; g6=0; g7=0; k2=0; SL=SL+1; set(handles.text_SL,'string',SL); c=set(handles.text_K2,'string',''); end else set(handles.text_KT,'string','ALREADY HAVE'); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH xxxiv PHỤ LỤC pause(1); end elseif CC3.NumObjects > set(handles.text_ketqua,'string','Yellow'); imshow(maskedRGBImageYellow,'parent',handles.axes_KQ); if f3==0 b=strcat(b,"Yellow, "); set(handles.text_K1,'string',b); pause(2); writePosition(s1,1);%90 pause(4); writePosition(s1,0.56);%00 f3=1; k1=k1+1; if k1==7 f1=0; f2=0; f3=0; f4=0; f5=0; f6=0; f7=0; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH xxxv PHỤ LỤC k1=0; SL=SL+1; set(handles.text_SL,'string',SL); b=set(handles.text_K1,'string',''); end elseif g3==0 c=strcat(c,"Yellow, "); set(handles.text_K2,'string',c); pause(2); writePosition(s2,0.5);%90 pause(4); writePosition(s2,0.945);%00 g3=1; k2=k2+1; if k2==7 g1=0; g2=0; g3=0; g4=0; g5=0; g6=0; g7=0; k2=0; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH xxxvi PHỤ LỤC SL=SL+1; set(handles.text_SL,'string',SL); c=set(handles.text_K2,'string',''); end else set(handles.text_KT,'string','ALREADY HAVE'); pause(1); end elseif CC4.NumObjects > set(handles.text_ketqua,'string','Green'); imshow(maskedRGBImageGreen,'parent',handles.axes_KQ); if f4==0 b=strcat(b,"Green, "); set(handles.text_K1,'string',b); pause(2); writePosition(s1,1);%90 pause(4); writePosition(s1,0.56);%00 f4=1; k1=k1+1; if k1==7 f1=0; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH xxxvii PHỤ LỤC f2=0; f3=0; f4=0; f5=0; f6=0; f7=0; k1=0; SL=SL+1; set(handles.text_SL,'string',SL); b=set(handles.text_K1,'string',''); end elseif g4==0 c=strcat(c,"Green, "); set(handles.text_K2,'string',c); pause(2); writePosition(s2,0.5);%90 pause(4); writePosition(s2,0.945);%00 g4=1; k2=k2+1; if k2==7 g1=0; g2=0; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH xxxviii PHỤ LỤC g3=0; g4=0; g5=0; g6=0; g7=0; k2=0; SL=SL+1; set(handles.text_SL,'string',SL); c=set(handles.text_K2,'string',''); end else set(handles.text_KT,'string','ALREADY HAVE'); pause(1); end elseif CC5.NumObjects > set(handles.text_ketqua,'string','Blue'); imshow(maskedRGBImageBlue,'parent',handles.axes_KQ); if f5==0 b=strcat(b,"Blue, "); set(handles.text_K1,'string',b); pause(2); writePosition(s1,1);%90 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH xxxix PHỤ LỤC pause(4); writePosition(s1,0.56);%00 f5=1; k1=k1+1; if k1==7 f1=0; f2=0; f3=0; f4=0; f5=0; f6=0; f7=0; k1=0; SL=SL+1; set(handles.text_SL,'string',SL); b=set(handles.text_K1,'string',''); end elseif g5==0 c=strcat(c,"Blue, "); set(handles.text_K2,'string',c); pause(2); writePosition(s2,0.5);%90 pause(4); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH xl PHỤ LỤC writePosition(s2,0.945);%00 g5=1; k2=k2+1; if k2==7 g1=0; g2=0; g3=0; g4=0; g5=0; g6=0; g7=0; k2=0; SL=SL+1; set(handles.text_SL,'string',SL); c=set(handles.text_K2,'string',''); end else set(handles.text_KT,'string','ALREADY HAVE'); pause(1); end elseif CC6.NumObjects > set(handles.text_ketqua,'string','Pink'); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH xli PHỤ LỤC imshow(maskedRGBImagePink,'parent',handles.axes_KQ); if f6==0 b=strcat(b,"Pink, "); set(handles.text_K1,'string',b); pause(2); writePosition(s1,1);%90 pause(4); writePosition(s1,0.56);%00 f6=1; k1=k1+1; if k1==7 f1=0; f2=0; f3=0; f4=0; f5=0; f6=0; f7=0; k1=0; SL=SL+1; set(handles.text_SL,'string',SL); b=set(handles.text_K1,'string',''); end BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH xlii PHỤ LỤC elseif g6==0 c=strcat(c,"Pink, "); set(handles.text_K2,'string',c); pause(2); writePosition(s2,0.5);%90 pause(4); writePosition(s2,0.945);%00 g6=1; k2=k2+1; if k2==7 g1=0; g2=0; g3=0; g4=0; g5=0; g6=0; g7=0; k2=0; SL=SL+1; set(handles.text_SL,'string',SL); c=set(handles.text_K2,'string',''); end else BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH xliii PHỤ LỤC set(handles.text_KT,'string','ALREADY HAVE'); pause(1); end elseif CC7.NumObjects > set(handles.text_ketqua,'string','Purple'); imshow(maskedRGBImagePurple,'parent',handles.axes_KQ); if f7==0 b=strcat(b,"Purple, "); set(handles.text_K1,'string',b); pause(2); writePosition(s1,1);%90 pause(4); writePosition(s1,0.56);%00 f7=1; k1=k1+1; if k1==7 f1=0; f2=0; f3=0; f4=0; f5=0; f6=0; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH xliv PHỤ LỤC f7=0; k1=0; SL=SL+1; set(handles.text_SL,'string',SL); b=set(handles.text_K1,'string',''); end elseif g7==0 c=strcat(c,"Purple, "); set(handles.text_K2,'string',c); pause(2); writePosition(s2,0.5);%90 pause(4); writePosition(s2,0.945);%00 g7=1; k2=k2+1; if k2==7 g1=0; g2=0; g3=0; g4=0; g5=0; g6=0; g7=0; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH xlv PHỤ LỤC k2=0; SL=SL+1; set(handles.text_SL,'string',SL); c=set(handles.text_K2,'string',''); end else set(handles.text_KT,'string','ALREADY HAVE'); pause(1); end else set(handles.text_ketqua,'string','No Pencil or Other Pencil'); cla(handles.axes_KQ); cla(handles.axes_AC); pause(1); end end BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH xlvi ... triển ngành sản xuất ? ?Thi? ??t kế thi công hệ thống phân loại sản phẩm bút chì theo màu sắc? ?? phương pháp xử lý ảnh phần mềm Matlab MỤC TIÊU 1.2 Thi? ??t kế thi công hệ thống phân loại bút chì, sử dụng... 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: THI? ??T KẾ VÀ THI CÔNG HỆ THỐNG PHÂN... biến sản xuất công nghiệp, trí tuệ nhân tạo Do vậy, đề tài thi? ??t kế thi cơng mơ hình hệ thống cho việc phân loại màu sắc bút chì cần thi? ??t Cụ thể, đồ án tốt nghiệp bút chì sau nhận diện màu sắc