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

ĐỒ án TRUYỀN ĐỘNG điện THIẾT kế hệ THỐNG đếm và PHÂN LOẠI ớt NGỌT đà lạt

55 5 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

Thông tin cơ bản

Tiêu đề Đồ Án Truyền Động Điện Thiết Kế Hệ Thống Đếm Và Phân Loại Ớt Ngọt Đà Lạt
Tác giả Phan Hoàng Hải, Lê Cao Cường, Nguyễn Trọng Huấn, Nông Văn Tùng, Nguyễn Chí Thiện
Người hướng dẫn THS. Đỗ Hoàng Ngân
Trường học Đại học Đà Nẵng
Chuyên ngành Kỹ Thuật Điện - Điện Tử
Thể loại Đồ án
Năm xuất bản 2022
Thành phố Đà Nẵng
Định dạng
Số trang 55
Dung lượng 1,67 MB

Nội dung

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT KHOA ĐIỆN – ĐIỆN TỬ ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN THIẾT KẾ HỆ THỐNG ĐẾM VÀ PHÂN LOẠI ỚT NGỌT ĐÀ LẠT GVHD : THS ĐỖ HOÀNG NGÂN MI SVTH : PHAN HOÀNG HẢI LÊ CAO CƯỜNG NGUYỄN TRỌNG HUẤN NƠNG VĂN TÙNG NGUYỄN CHÍ THIỆN Đà Nẵng, ngày 24 tháng năm 2022 MỤC LỤC MỤC LỤC TÓM TẮT LỜI CAM ĐOAN .2 LỜI CẢM ƠN TÀI LIỆU THAM KHẢO CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 THỰC TRẠNG HIỆN NAY 1.2 NGUYÊN NHÂN CHỌN ĐỀ TÀI 1.3 MỤC TIÊU VÀ YÊU CẦU ĐẶT RA 1.4 NGUYÊN LÝ CHUNG 1.5 CHỌN THIẾT BỊ CHO ĐỀ TÀI .8 CHƯƠNG 2: TÌM HIỂU VỀ CẤU TRÚC ARDUINO UNO VÀ CÁC THIẾT BỊ TRONG ĐỀ TÀI 2.1 ARDUINO UNO R3 .9 2.2 CẢM BIẾN MÀU TCS 34725 12 2.3 CẢM BIÊN HỒNG NGOẠI E3F DS10C4 14 2.4 ĐỘNG CƠ SERVO MG90S 16 2.5 ĐỘNG CƠ MOTOR LK0195 .18 2.6 MODULE RELAY KÊNH 5V 20 2.7 MÀN HÌNH LCD1602 21 CHƯƠNG 3: TÍNH TỐN, THIẾT KẾ VÀ THI CÔNG 25 3.1 SƠ ĐỒ KHỐI 25 3.2 LƯU ĐỒ THUẬT TOÁN .26 3.3 NGUYÊN LÝ HOẠT ĐỘNG .26 3.4 GIỚI THIỆU , THIẾT KẾ HỆ THỐNG .27 3.5 MÔ PHỎNG MATLAB .32 3.6 MÔ PHỎNG TRÊN PROTEUS 33 CHƯƠNG 4: TỔNG KẾT 34 4.1 KẾT LUẬN 34 4.2 HƯỚNG KHẮC PHỤC VÀ PHÁT TRIỂN 35 PHỤ LỤC 1: CHƯƠNG TRÌNH PROTEUS: 36 PHỤ LỤC 2: CHƯƠNG TRÌNH MATLAB 41 PHỤ LỤC 3: CHƯƠNG TRÌNH CHẠY MƠ HÌNH THỰC TẾ 46 TÓM TẮT Ngày với phát triển ngành khoa học kỹ thuật , điện tử mà tự động hố đóng vai trị quan trọng Nắm bắt vận dụng tự động hoá điều tất yếu Truyền động điện môn học sở kỹ thuật chuyên ngành điện công nghiệp, tự động hóa, điện…Nhằm cung cấp cho người học kiến thức phương pháp điều khiển tốc độ hệ truyền động điện, tính chọn động điện cho hệ truyền động, phân tích cấu tạo, nguyên lý số thiết bị điển hình như: inverter, biến đổi, lựa chọn biến đổi phù hợp với yêu cầu hệ truyền động Sau tìm hiểu nghiên cứu đề tài cơng trình trước nhóm định chọn đề tài “ THIẾT KẾ HỆ THỐNG ĐẾM VÀ PHÂN LOẠI ỚT NGỌT ĐÀ LẠT THEO MÀU SẮC “ Với đề tài nhóm hy vọng làm sở nghiên cứu cho ứng dụng hay mở rộng sau Trong trình thực đề tài khả kiến thức thực tế có hạn nên khơng thể tránh khỏi sai sót, kính mong đóng góp ý kiến để tài nhóm em hồn thiện Chúng em xin chân thành cảm ơn Nhóm 4: Phan Hồng Hải Lê Cao Cường Nguyễn Trọng Huấn Nông Văn Tùng Nguyễn Chí Thiện DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hồng Ngân Mi LỜI CAM ĐOAN Đề tài nhóm tự thực dựa vào việc tham khảo số tài liệu không chép từ tài liệu hay công trình có trước Nếu có lận xin chịu trách nhiệm nội dung đồ án Thực PHAN HỒNG HẢI Trang DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hồng Ngân Mi LỜI CẢM ƠN Lời em xin chân thành cảm ơn thầy cô giáo Trường Đại Học Sư Phạm Kỹ Thuật ĐÀ NẴNG nói chung, thầy khoa Điện – Điện Tử nói riêng dạy dỗ cho em kiến thức môn đại cương đặc biệt thầy Thiện cô Ngân Mi với học phần “truyền động điện“ Điều tạo điều kiện cho nhóm có sở lý thuyết vững vàng giúp đỡ thành viên nhóm xuyên suốt trình học tập Trang DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hồng Ngân Mi TÀI LIỆU THAM KHẢO Internet: [1] http://arduino.vn [2] http://arduino.cc [3] http://html.alldatasheet.com/html-pdf/454462/TAOS/TCS3200/96/1/TCS3200.html Sách: [1] Truyền động điện thông minh – Nguyễn Phùng Quang [2] Vi điều khiển ứng dụng Arduino -  Phạm Quang Huy - Nguyễn Trọng Hiếu Trang DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hoàng Ngân Mi CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 THỰC TRẠNG HIỆN NAY Hiện tình hình đại dịch COVID có diễn biến khó lường , việc nguồn nhân lực thị trường tiêu thụ bị thu hẹp ảnh hưởng dịch bệnh tình hính sản xuất đặc biệt sản xuất nơng nghiệp gặp khơng thách thức Ớt Đà Lạt khơng nằm ngồi ảnh hưởng , Ớt Đà Lạt có loại , ớt đỏ , xanh vàng Đây loại thực phẩm có tác dụng tốt cho sức khoẻ : giúp tăng cường thị lực , ngăn ngừa tình trạng thiếu máu , bảo vệ trái tim khoẻ mạnh , giúp tiêu hoá tốt , bảo vệ giấc ngủ , giúp tóc khoẻ cải thiện da … Với có q nhiều cơng dụng ớt Đà Lạt quan tâm người tiêu dùng Điều thúc đẩy việc sản xuất phân phối cách mạnh mẽ Hiện công ty lĩnh vực chưa tự động hố hồn tồn q trình phân loại đóng gói sản phẩm giúp tối ưu hố suất nên cần có giải pháp vấn đề 1.2 NGUYÊN NHÂN CHỌN ĐỀ TÀI Khoa học kỹ thuật đặc biệt tự động hố ln phát triển tất lĩnh vực, nghành sản xuất Việc đòi hỏi cải tiến nâng cấp hệ thống sản xuất ưu tiên hàng đầu Do cần nắm bắt vận dụng điều khiển tự động hoá cách hiệu Có nhiều khâu tự động q trình sản xuất , số khâu phân loại sản phẩm Có nhiều mơ hình phân loại sản phẩm theo chiều cao , cân nặng kích thước , với nơng sản có khối lượng kích thước tương tự ớt Đà Lạt mơ hình thực khơng phù hợp Vì hướng phù hợp phân loại theo màu sắc , nhóm định thực đề tài “THIẾT KẾ HỆ THỐNG ĐẾM VÀ PHÂN LOẠI ỚT NGỌT ĐÀ LẠT THEO MÀU SẮC “ 1.3 MỤC TIÊU VÀ YÊU CẦU ĐẶT RA 1.3.1 Mục tiêu Giảm sức lao động, cải thiện điều kiện làm việc người, tạo cho người tiếp cận với tiến khoa học kỹ thuật làm việc môi trường ngày văn minh Nâng cao suất lao động, tạo tiền đề cho việc giảm giá thành sản phẩm Giúp cho việc quản lý giám sát trở nên đơn giản, khơng thay đổi điều kiện làm việc cơng nhân mà cịn giảm số lượng công nhân đến mức tối đa 1.3.2 Yêu cầu Phân loại ớt dựa màu sắc thông qua ba màu là: Đỏ vàng tím Trang DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hồng Ngân Mi Tiện lợi, dễ bảo trì mà cần thay đổi phần cứng Tự động nhận diện , đếm phân loại cách hiệu có sản phẩm chạy qua 1.4.NGUYÊN LÝ CHUNG Khi ớt vào cảm biến màu sắc TCS34725 nhận diện màu lúc với việc đếm số lượng ớt Động kéo băng tải hoạt động , sau cảm biến vật cản hồng ngoại kiểm tra xem có vật cản hay không Nếu trái màu đỏ động servo đẩy trái vào thùng đựng đỏ , trái màu vàng đẩy vào thùng vàng cuối màu tím chạy thẳng vào thùng tím cuối băng tải Hình Mơ mơ hình 1.5.CHỌN THIẾT BỊ CHO ĐỀ TÀI  ARDUINO UNO R3  Cảm biến màu TCS 34725  Cảm biến hồng ngoại E3F DS10C4  Động servo MG90S  Động motor LK0195  Module relay 5V  Màn hình LCD 16x2  Module I2C  Module hạ áp LM2956 Trang DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hồng Ngân Mi CHƯƠNG 2: TÌM HIỂU VỀ CẤU TRÚC ARDUINO UNO VÀ CÁC THIẾT BỊ TRONG ĐỀ TÀI 2.1.ARDUINO UNO R3 2.1.1 Khái niệm Arduino  một tảng mã nguồn mở phần cứng phần mềm Phần cứng Arduino (các board mạch vi xử lý) sinh thị trấn Ivrea Ý, nhằm xây dựng ứng dụng tương tác với với môi trường thuận lợi Phần cứng bao gồm board mạch nguồn mở thiết kế tảng vi xử lý AVR Atmel 8bit, ARM Atmel 32-bit Những Model trang bị gồm cổng giao tiếp USB, chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác Hình Arduino Uno R3 Trang DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hoàng Ngân Mi tong++; lcd.setCursor(2, 0); lcd.print(doo); lcd.setCursor(8, 1); lcd.print(tong); tgdo=0; svdo.write (145); delay(500); svdo.write (180); } } if ( tgva == ) { if (cbva == 0) { vang++; tong++; lcd.setCursor(8, 0); lcd.print(vang); lcd.setCursor(8, 1); lcd.print(tong); tgva=0; svva.write (145); delay(500); svva.write (180); } } if ( tgti == ) { if (cbva == 0) { tim++; tong++; lcd.setCursor(2, 1); lcd.print(tim); lcd.setCursor(8, 1); Trang 38 DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hồng Ngân Mi lcd.print(tong); tgti=0; } } } } Phụ lục 2: chương trình matlab function varargout = ML(varargin) % ML MATLAB code for ML.fig % ML, by itself, creates a new ML or raises the existing % singleton* % % H = ML returns the handle to a new ML or the handle to % the existing singleton* % % ML('CALLBACK',hObject,eventData,handles, ) calls the local % function named CALLBACK in ML.M with the given input arguments % % ML('Property','Value', ) creates a new ML or raises the % existing singleton* Starting from the left, property value pairs are % applied to the GUI before ML_OpeningFcn gets called An % unrecognized property name or invalid value makes property application % stop All inputs are passed to ML_OpeningFcn via varargin % % *See GUI Options on GUIDE's Tools menu Choose "GUI allows only one % instance to run (singleton)" % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help ML % Last Modified by GUIDE v2.5 17-Jun-2022 23:00:03 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, 'gui_Singleton', gui_Singleton, 'gui_OpeningFcn', @ML_OpeningFcn, 'gui_OutputFcn', @ML_OutputFcn, 'gui_LayoutFcn', [] , 'gui_Callback', []); Trang 39 DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hồng Ngân Mi if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % - Executes just before ML is made visible function ML_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to ML (see VARARGIN) % Choose default command line output for ML handles.output = hObject; % Update handles structure guidata(hObject, handles); global ddo dvang dxanh tong tgdo tgvang tgxanh batdau anu sv1 sv2; anu=arduino('com3','uno'); writeDigitalPin(anu,'D13',0); sv1=servo(anu,'D11'); sv2=servo(anu,'D12'); writePosition(sv1,1); writePosition(sv2,1); ddo = ; dvang = ; dxanh = ; tong = ; tgdo = ; tgvang = ; tgxanh = ; batdau = ; set(handles.db1,'string','Dung'); % UIWAIT makes ML wait for user response (see UIRESUME) % uiwait(handles.figure1); Trang 40 DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hồng Ngân Mi % - Outputs from this function are returned to the command line function varargout = ML_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % - Executes on button press in sta function sta_Callback(hObject, eventdata, handles) % hObject handle to sta (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global batdau anu; batdau = ; set(handles.db1,'string','Chay'); writeDigitalPin(anu,'D13',1); % - Executes on button press in ret function ret_Callback(hObject, eventdata, handles) % hObject handle to ret (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global ddo dvang dxanh tong; ddo = ; dvang = ; dxanh = ; tong = ; set(handles.do1,'string',num2str(ddo)); set(handles.vang1,'string',num2str(dvang)); set(handles.xanh1,'string',num2str(dxanh)); set(handles.tong1,'string',num2str(tong)); % - Executes on button press in sto function sto_Callback(hObject, eventdata, handles) % hObject handle to sto (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global batdau anu; batdau = ; Trang 41 DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hồng Ngân Mi set(handles.db1,'string','Dung'); writeDigitalPin(anu,'D13',0); % - Executes on button press in do0 function do0_Callback(hObject, eventdata, handles) % hObject handle to do0 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global tgdo batdau tgvang tgxanh; if batdau == && tgvang == && tgxanh == set(handles.tdo,'string','1'); tgdo = 1; end % - Executes on button press in xanh0 function xanh0_Callback(hObject, eventdata, handles) % hObject handle to xanh0 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global tgxanh batdau tgdo tgvang; if batdau == && tgdo == && tgvang == set(handles.txanh,'string','1'); tgxanh = 1; end % - Executes on button press in vang0 function vang0_Callback(hObject, eventdata, handles) % hObject handle to vang0 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global tgvang batdau tgdo tgxanh ; if batdau == && tgdo == && tgxanh == set(handles.tvang,'string','1'); tgvang = 1; end % - Executes on button press in cb1 function cb1_Callback(hObject, eventdata, handles) % hObject handle to cb1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global ddo dvang dxanh tong tgdo batdau sv1; Trang 42 DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hoàng Ngân Mi if batdau == && tgdo == tgdo = 0; ddo = ddo + 1; tong= ddo + dvang +dxanh; set(handles.tdo,'string',' '); set(handles.do1,'string',num2str(ddo)); set(handles.tong1,'string',num2str(tong)); writePosition(sv1,0.85); pause(0.1); writePosition(sv1,0.80); pause(0.1); writePosition(sv1,0.78); pause(0.1); writePosition(sv1,0.75); pause(1.5); writePosition(sv1,1); end % - Executes on button press in cb2 function cb2_Callback(hObject, eventdata, handles) % hObject handle to cb2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global ddo dvang dxanh tong tgvang tgxanh batdau sv2; if batdau == && tgvang == tgvang = 0; dvang = dvang + 1; tong= ddo + dvang +dxanh; set(handles.tvang,'string',' '); set(handles.vang1,'string',num2str(dvang)); set(handles.tong1,'string',num2str(tong)); writePosition(sv2,0.85); pause(0.1); writePosition(sv2,0.80); pause(0.1); writePosition(sv2,0.78); pause(0.1); writePosition(sv2,0.75); pause(1.5); writePosition(sv2,1); end if batdau == && tgxanh == tgxanh = 0; dxanh = dxanh + 1; tong= ddo + dvang + dxanh; Trang 43 DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hồng Ngân Mi set(handles.txanh,'string',' '); set(handles.xanh1,'string',num2str(dxanh)); set(handles.tong1,'string',num2str(tong)); end % - Executes during object creation, after setting all properties function db1_CreateFcn(hObject, eventdata, handles) % hObject handle to db1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % - Executes during object creation, after setting all properties function do0_CreateFcn(hObject, eventdata, handles) % hObject handle to do0 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % - Executes on button press in retall function retall_Callback(hObject, eventdata, handles) % hObject handle to retall (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global ddo dvang dxanh tong tgdo tgvang tgxanh batdau ; ddo = ; dvang = ; dxanh = ; tong = ; tgdo = ; tgvang = ; tgxanh = ; batdau = ; set(handles.db1,'string','Dung'); set(handles.do1,'string',num2str(ddo)); set(handles.vang1,'string',num2str(dvang)); set(handles.xanh1,'string',num2str(dxanh)); set(handles.tong1,'string',num2str(tong)); set(handles.txanh,'string',' '); set(handles.tdo,'string',' '); set(handles.tvang,'string',' '); Phụ lục 3: chương trình chạy mơ hình thực tế #include Trang 44 DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hồng Ngân Mi Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_50MS, TCS34725_GAIN_4X); #include #include // Gọi thư viện I2C để sử dụng thư viện I2C #include // Thư viện LCD I2C LiquidCrystal_I2C lcd(0x27,16,2); // Khai báo địa I2C (0x27 or 0x3F) LCD 16x02 int nn1=2,nn2=3,nn3=4; // nút nhấn int tt1,tt2,tt3; // lấy trạng thái nút nhấn int doo=0,xanh=0,vang=0,tong=0,st=0 ; //so tim vang, tong, bat dau int tgdo=0,tgxa=0,tgva=0; // biến trung gian nhận biết màu đưa vào int cbd=5,cbv=6; // chân cảm biến nhận diện vật int bt=13; // chân điều khiển băng tải int cbdo,cbva; // lấy tín hiệu cảm biến vang đỏ Servo svdo; Servo svva; void setup() { svdo.attach(11); svdo.write (180); svva.attach(12); svva.write (180); lcd.init(); //Khởi tạo hình LCD lcd.backlight(); //Bật đèn hình lCD pinMode(nn1, INPUT_PULLUP); Trang 45 DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hồng Ngân Mi pinMode(nn2, INPUT_PULLUP); pinMode(nn3, INPUT_PULLUP); pinMode(cbd, INPUT); pinMode(cbv, INPUT); pinMode(bt, OUTPUT); lcd.setCursor(0, 0); lcd.print("r:"); lcd.setCursor(2, 0); lcd.print(doo); lcd.setCursor(6,0 ); lcd.print("y:"); lcd.setCursor(8, 0); lcd.print(vang); lcd.setCursor(0,1); lcd.print("g:"); lcd.setCursor(2, 1); lcd.print(xanh); lcd.setCursor(6, 1); lcd.print("t:"); lcd.setCursor(8, 1); lcd.print(tong); lcd.setCursor(13, 0); lcd.print("STO"); Serial.begin(9600); } void loop() { uint16_t r, g, b, c, colorTemp, lux; tcs.getRawData(&r, &g, &b, &c); Trang 46 DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hồng Ngân Mi colorTemp = tcs.calculateColorTemperature_dn40(r, g, b, c); lux = tcs.calculateLux(r, g, b); tt1 = digitalRead(nn1); tt2 = digitalRead(nn2); tt3 = digitalRead(nn3); cbdo = digitalRead(cbd); cbva = digitalRead(cbv); // đọc nút nhấn // đọc cảm biến vật cản if( r > 15 && r < g && g < b && lux < r) { tgdo = 1; Serial.print(" Do "); Serial.println(tgdo); } if( r < b && b < g && colorTemp > 8000 && colorTemp < 10996 ) { tgxa=1; Serial.print(" xanh "); Serial.println(tgxa); } if( r < lux && b < 59 && colorTemp < 7000 ) { tgva=1; Serial.print(" vang "); Serial.println(tgva); tgxa=0; } Trang 47 DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hồng Ngân Mi if ( tgva == 1) tgxa=0; if ( tt3==0 ) { tong=0; vang=0; doo=0; xanh=0; lcd.setCursor(2, 0); lcd.print(" "); lcd.setCursor(2, 0); lcd.print("0"); lcd.setCursor(8, 0); lcd.print(" "); lcd.setCursor(8, 0); lcd.print("0"); lcd.setCursor(2, 1); lcd.print(" "); lcd.setCursor(2, 1); lcd.print("0"); lcd.setCursor(8, 1); lcd.print(" "); lcd.setCursor(8, 1); lcd.print("0"); //reset } if ( tt1 == ) { st=1; lcd.setCursor(13, 0); // start Trang 48 DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hoàng Ngân Mi lcd.print("STA"); digitalWrite(bt,HIGH); } if ( tt2 == ) { st=0; lcd.setCursor(13, 0); lcd.print("STO"); digitalWrite(bt,LOW); } // stop if ( st == 1) { if ( tgdo == ) { if (cbdo == 0) { doo++; tong++; lcd.setCursor(2, 0); lcd.print(doo); lcd.setCursor(8, 1); lcd.print(tong); tgdo=0; svdo.write (160); delay(50); svdo.write (155); delay(100); svdo.write (150); Trang 49 DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hồng Ngân Mi delay(100); svdo.write (145); delay(100); svdo.write (143); delay(1500); svdo.write (180); } } if ( tgva == ) { if (cbva == 0) { vang++; tong++; lcd.setCursor(8, 0); lcd.print(vang); lcd.setCursor(8, 1); lcd.print(tong); tgva=0; svva.write (160); delay(50); svva.write (155); delay(100); svva.write (150); delay(100); svva.write (145); delay(100); svva.write (143); delay(100); svva.write (140); delay(1500); Trang 50 DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat Nhóm GVHD:Đỗ Hồng Ngân Mi svva.write (180); } } if ( tgxa == ) { if (cbva == 0) { delay(2000); xanh++; tong++; lcd.setCursor(2, 1); lcd.print(xanh); lcd.setCursor(8, 1); lcd.print(tong); tgxa=0; } } } } PHỤ LỤC HÌNH ẢNH Hình Mơ mơ hình Hình Arduino Uno R3 Hình 2 Cấu tạo Arduino Uno R3 .8 Hình Robot dị đường sử dụng Arduino Uno R3 .10 Hình Cảm biến màu sắc TCS 34725 11 Hình Cảm biến vật cản hồng ngoại E3F-DS10C4 .12 Hình Sơ đồ chân cảm biến E3F-DS10C4 13 Hình Kết nối cảm biến E3F-DS10C4 14 Hình Động servo 996G 15 Hình Kích thước servo MG90S 15 Hình 10 Động motor LK0195 17 Trang 51 DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat DO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.latDO.an.TRUYEN.DONG.dien.THIET.ke.he.THONG.dem.va.PHAN.LOAI.ot.NGOT.da.lat

Ngày đăng: 23/12/2023, 20:55

w