Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 55 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
55
Dung lượng
1,25 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Ử BÁO CÁO ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN ĐỀ TÀI: MƠ HÌNH ĐẾM VÀ PHÂN LOẠI VẬT GỖ THEO CHIỀU CAO DÙNG TRONG ĐIÊU KHẮC SỬ DỤNG ARDUINO R3 GVHD Nhóm Lớp : : : : : : : Đỗ Hoàng Ngân Mi Nguyễn Tiến Bằng Đỗ Thành Thiên Ân Trần Văn Tư Nguyễn Thanh Quang Lương Toàn Thịnh 122DATDD01 ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI Đà Nẵng, Ngày 12 tháng12 năm 2022 Nhóm Trang ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI LỜI MỞ ĐẦU 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 “Mơ Hình Đếm Và Phân Loại Vật Gỗ Theo Chiều Cao Dùng Trong Điêu Khắc Sử Dụng Arduino UNO R3” 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 Sinh viên thực Nguyễn Tiến Bằng Đỗ Thành Thiên Ân Trần Văn Tư Nguyễn Thanh Quang Lương Toàn Thịnh ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI LỜI CẢM ƠN Em xin gửi lời cảm ơn sâu sắc đến cô “ThS Đỗ Hoàng Ngân Mi”, cương vị giảng viên hướng dẫn đề tài nhiệt tình bảo, giảng giải tận tình vướng mắc trình tìm hiểu đề tài Một lần chúng em xin cảm ơn cô Bước đầu làm quen với môn “Truyền động điện”, tìm hiểu lĩnh vực sáng tạo, kiến thức em hạn chế nhiều bỡ ngỡ Do vậy, khơng tránh khỏi thiếu sót điều chắn, em mong nhận ý kiến đóng góp q báu q Thầy Cơ bạn học lớp để kiến thức em lĩnh vực hoàn thiện Em xin chân thành cảm ơn!!! ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI .7 1.1 Tổng quan dây chuyền phân loại sản phẩm 1.1.1 Khái niệm kiểu dây chuyền phân loại sản phẩm .7 1.1.1.1 Khái niệm: 1.1.1.2 Các kiểu dây chuyền phân loại sản phẩm 1.1.2 Dây chuyền phân loại sản phẩm theo chiều cao 1.1.2.1 Giới thiệu chung 1.1.2.2 Cấu tạo dây chyền phân loại sản phẩm theo chiều cao .8 1.1.3 Dây chuyền sản xuất gỗ công nghiệp 1.1.3.1 Quy trình sản xuất: 1.1.3.2 Lựa chọn khâu 1.2 Lý chọn đề tài 1.3 Mục tiêu đề tài 10 1.4 Nội dung nghiên cứu 10 1.5 Yêu cầu dặt 10 CHƯƠNG 2: TÌM HIỂU VỀ CẤU TRÚC ARDUINO UNO VÀ CÁC THIẾT BỊ TRONG ĐỀ TÀI .12 Tổng quan Adruino Uno R3 12 2.1 2.1.1 Giới thiệu Arduino R3 12 2.1.2 Cấu tạo Arduino 12 2.1.3 Ứng Dụng .14 2.2 Tổng quan linh kiện đề tài 14 2.2.1 IC LCM2004 .14 2.2.1.1 Giới thiệu 15 2.2.1.2 Thông số kĩ thuật 16 2.2.2 Cảm biến hồng ngoại .16 2.2.2.1 Giới thiệu 16 2.2.2.2 Thông số kĩ thuật 17 2.2.3 LCD 20x4 19 2.2.3.1 Giới thiệu 19 2.2.3.2 Thông số kĩ thuật 19 Động Servo MG90S .20 2.2.4 2.2.4.1 Giới thiệu 20 2.2.4.2 Thông số kĩ thuật 20 2.2.5 Nút nhấn 21 2.2.5.1 Giới thiệu 21 2.2.5.2 Thông số kĩ thuật 22 Bộ nạp cấp nguồn cho Arduino .22 2.2.6 2.2.6.1 Giới thiệu 22 Nhóm Trang ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI 2.2.6.2 Thông số kĩ thuật 22 Động motor LK0195 23 2.2.7 2.2.7.1 Giới thiệu 23 2.2.7.2 Thông số kĩ thuật 24 2.2.8 Mạch nguồn .24 2.2.8.1 Giới thiệu 24 2.2.8.2 Thông số kĩ thuật 25 CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG 26 3.1 Giới thiệu 26 3.2 Các phần mềm thiết kế 26 3.3 Sơ đồ khối 30 3.4 Lưu đồ thuật toán 31 3.5 Xây dựng khởi chạy chương trình mơ Matlab 32 3.6 Xây dựng khởi chạy chương trình mơ Protues 32 CHƯƠNG 4: TỔNG KẾT .33 4.1 Kết đạt 33 4.2 Kết chưa đạt 33 4.3 Ưu điểm sản phẩm 33 4.4 Nhược điểm sản phẩm 33 4.5 Đánh giá mơ hình 33 4.6 Hướng khắc phục phát triển 33 4.7 Kết luận 34 Nhóm Trang ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI Phụ lục hình ảnh Hình 1.1: Dây Chuyền Phân Loại Thùng Bánh .8 Hình 1.2: Arduino Uno R3 12 Hình 1.3: I2c 16 Hình 1.4: Cảm Biến Hồng Ngoại 17 Hình 1.5: Sơ Đồ Cảm Biến Hồng Ngoai .18 Hình 1.6: Màn Hình Lcd 20x4 19 Hình 1.7: Động Cơ Servo Mg90s 20 Hình 1.8: Hình Ảnh Nút Nhấn 21 Hình 1.9: Bộ Nạp Cấp Nguồn Cho Arduno 22 Hình 1.10: Phần Stator Của Động Cơ Mô Tơ .23 Hình 1.11: Phần Rotor Của Động Cơ Motor .24 Hình 1.12: Mạch Nguồn 25 Hình 1.13: Mơ Hình Hệ Thống 26 Hình 1.14: Phần Mềm Arduno 27 Hình 1.15: Protues Labcenter Electronics 27 Hình 1.16: Phần Mềm Matlab .28 Hình 1.17: Sơ Đồ Khối .30 Hình 1.18: Lưu Đồ Thuật Toán 31 Hình 1.19: Mô Phỏng Trên Protues 32 Nhóm Trang ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN TRƯỜNG SƯ PHẠM KỸ THUẬT – DHDN KHOA ĐIỆN – ĐIỆN TỬ GVHG: ĐỖ HOÀNG NGÂN MI CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc -o0o - NHIỆM VỤ ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN Nhóm Họ tên sinh viên: Nguyễn Tiến Bằng MSV : 1911505510104 Đỗ Thành Thiên Ân MSV : 1911505510203 Trần Văn Tư MSV : 1911505510137 Nguyễn Thanh Quang MSV : 1711505510136 Lương Toàn Thịnh MSV : 1711505510134 Lớp HP : 122DATDD01 Giáo viên hướng dẫn: Đỗ Hoàng Ngân Mi I ĐỀ TÀI : MƠ HÌNH ĐẾM VÀ PHÂN LOẠI VẬT GỖ THEO CHIỀU CAO DÙNG TRONG ĐIÊU KHẮC SỬ DỤNG ARDUINO R3 II CÁC THAM SỐ BAN ĐẦU: - Bộ nguồn 5V cung cấp cho Arduino R3 nguồn 12V cho động DC - Mơ hình có chức : + Không cần tốn nhân lực nhiều + Tiết kiệm thời gian + Tiết kiệm chi phí III. Nguyên lý hoạt động: Khi ta nhấn nút star mơ hình bắt đầu hoạt động, đưa vật vào băng tải : -Trường hợp 1: Nếu vật có chiều cao 3cm chạy tới cảm biến hồng ngoại 1, cảm biến hồng ngoại nhận diện vật động servo hoạt động đẩy vật vào vị trí đựng có chiều cao 3cm Lúc hình hiển thị đếm sản phẩm vị trí thấp tăng lên hiển thị chiều cao 3cm -Trường hợp 2: : Nếu vật có chiều cao 5cm cảm biến hồng ngoại không hoạt động tiếp tục chạy tới cảm biến hồng ngoại 2, cảm biến hồng ngoại nhận diện vật động servo hoạt động đẩy vật vào vị trí đựng có chiều cao 5cm Lúc hình hiển thị đếm sản phẩm vị trí trung bình tăng lên hiển thị chiều cao 5cm Nhóm Trang ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI -Trường hợp 3: : Nếu vật có chiều cao 7cm cảm biến khơng hoạt động băng tải đưa vật chạy tới cảm biến hồng ngoại 3, cảm biến hồng ngoại nhận diện vật vật rơi vào vị trí đựng có chiều cao 7cm Lúc hình hiển thị đếm sản phẩm vị trí cao tăng lên hiển thị chiều cao 7cm *Phát thảo mơ hình: IV.CÁC PHẦN CẦN PHẢI LÀM VÀ NỘP - Quyên báo cáo theo qui định - Bản vẽ A2 - File video quay đề tài (5-10 phút) file Powerpoint (15-25 slides) - Mơ hình chế tạo Đà Nẵng, ngày tháng năm 202 Nhóm Giáo viên hướng dẫn Đỗ Hoàng Ngân M Nguyễn Tiến Bằng Đỗ Thành Thiên Ân Trần Văn Tư Nguyễn Thanh Quang Lương Tồn Thịnh Nhóm Trang ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Tổng quan dây chuyền phân loại sản phẩm 1.1.1 Khái niệm kiểu dây chuyền phân loại sản phẩm 1.1.1.1 Khái niệm: Dây chuyền hình thức tổ chức sản xuất phận, thiết bị thực theo trình tự đặt trước Dây chuyền phân loại sản phẩm dây chuyền mà sản phẩm phân theo nhiều loại riêng theo yêu cầu (phân loại theo chiều cao, khối lượng hay màu sắc, ) 1.1.1.2Các kiểu dây chuyền phân loại sản phẩm Tuỳ theo yêu cầu sản xuất thực tế mà người ta phân hình thức phân loại sản phẩm sau: Phân loại theo chiều cao sản phẩm Phân loại theo khối lượng sản phẩm Phân loại theo màu sắc sản phẩm Phân loại theo hình ảnh sản phẩm Phân loại theo mã vạch sản phẩm 1.1.2 Dây chuyền phân loại sản phẩm theo chiều cao 1.1.2.1Giới thiệu chung Dây chuyền phân loại sản phẩm theo chiều cao kiểu phân loại theo kích thước sản phẩm, mà cụ thể theo chiều cao sản phẩm mà phân loại sản phẩm khác Như nới dây chuyền phân loại sản phẩm theo chiều cao ứng dụng nhiều việc phân loại sản phẩm theo kích thước gỗ sản phẩm đóng chai, lọ,… Và công đoạn cuối dây chuyền sản xuất Nhóm Trang ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI % Last Modified by GUIDE v2.5 11-Dec-2022 11:30:47 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, 'gui_Singleton', gui_Singleton, 'gui_OpeningFcn', @dmm_OpeningFcn, 'gui_OutputFcn', @dmm_OutputFcn, 'gui_LayoutFcn', [] , 'gui_Callback', []); 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 dmm is made visible function dmm_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn Nhóm Trang 37 ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI % 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 dmm (see VARARGIN) axes (handles.anh1); imshow ('D:\1_png.jpg'); axes (handles.anh2); imshow ('D:\logo_khoa.jfif'); % Choose default command line output for dmm handles.output = hObject; % Update handles structure guidata(hObject, handles); global dthap dtb dcao dem thap tb cao batdau anu sv1 sv2; anu=arduino('com3','uno') sv1=servo(anu,'D9'); sv2=servo(anu,'D10'); writePosition(sv1,0); writePosition(sv2,0); batdau = ; dem=0; dthap = 0; dtb=0; dcao=0; thap=0; Nhóm Trang 38 ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI tb=0; cao=0; set(handles.db1,'string','Dung'); set(handles.spthap,'string','0'); set(handles.sptb,'string','0'); set(handles.spcao,'string','0'); set(handles.tong,'string','0'); % UIWAIT makes dmm wait for user response (see UIRESUME) % uiwait(handles.figure1); % - Outputs from this function are returned to the command line function varargout = dmm_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; function edit3_Callback(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) Nhóm Trang 39 ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI % Hints: get(hObject,'String') returns contents of edit3 as text % str2double(get(hObject,'String')) returns contents of edit3 as a double % - Executes during object creation, after setting all properties function edit3_CreateFcn(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit4_Callback(hObject, eventdata, handles) % hObject handle to edit4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit4 as text % str2double(get(hObject,'String')) returns contents of edit4 as a double % - Executes during object creation, after setting all properties Nhóm Trang 40 ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI function edit4_CreateFcn(hObject, eventdata, handles) % hObject handle to edit4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % - Executes on button press in chay function chay_Callback(hObject, eventdata, handles) % hObject handle to chay (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global batdau; batdau=1; set(handles.db1,'string','Chay'); % - Executes on button press in reset function reset_Callback(hObject, eventdata, handles) % hObject handle to reset (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) Nhóm Trang 41 ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI global batdau dem dthap dtb dcao thap tb cao; batdau = ; dem=0; dthap = 0; dtb=0; dcao=0; thap=0; tb=0; cao=0; set(handles.db1,'string','Dung'); set(handles.spthap,'string','0'); set(handles.sptb,'string','0'); set(handles.spcao,'string','0'); set(handles.tong,'string','0'); % - Executes on button press in nncb1 function nncb1_Callback(hObject, eventdata, handles) % hObject handle to nncb1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global cao batdau dem dcao sv1; if cao == && batdau == writePosition(sv1,0.5) dem=dem+1; dcao=dcao+1; Nhóm Trang 42 ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI cao=0; set(handles.spcao,'string',num2str(dcao)); set(handles.tong,'string',num2str(dem)); pause(2); writePosition(sv1,0); end % - Executes on button press in nncb3 function nncb3_Callback(hObject, eventdata, handles) % hObject handle to nncb3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global thap batdau dem dthap; if thap == && batdau == dem=dem+1; dthap=dthap+1; thap=0; set(handles.spthap,'string',num2str(dthap)); set(handles.tong,'string',num2str(dem)); end % - Executes on button press in nncb2 function nncb2_Callback(hObject, eventdata, handles) % hObject handle to nncb2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB Nhóm Trang 43 ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI % handles structure with handles and user data (see GUIDATA) global tb batdau dem dtb sv2; if tb == && batdau == writePosition(sv2,0.5); dem=dem+1; dtb=dtb+1; tb=0; set(handles.sptb,'string',num2str(dtb)); set(handles.tong,'string',num2str(dem)); pause(2); writePosition(sv2,0); end % - Executes on button press in nntb function nntb_Callback(hObject, eventdata, handles) % hObject handle to nntb (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global tb batdau; if batdau==1; tb=1; end % - Executes on button press in nnthap function nnthap_Callback(hObject, eventdata, handles) Nhóm Trang 44 ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI % hObject handle to nnthap (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global thap batdau; if batdau==1; thap=1; end % - Executes on button press in nncao function nncao_Callback(hObject, eventdata, handles) % hObject handle to nncao (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global cao batdau if batdau == cao= 1; end % - Executes on button press in dung function dung_Callback(hObject, eventdata, handles) % hObject handle to dung (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global batdau; batdau=0; Nhóm Trang 45 ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI set(handles.db1,'string','Dung'); % - Executes during object creation, after setting all properties function anh1_CreateFcn(hObject, eventdata, handles) % hObject handle to anh1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: place code in OpeningFcn to populate anh1 % - Executes during object creation, after setting all properties function anh2_CreateFcn(hObject, eventdata, handles) % hObject handle to anh2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: place code in OpeningFcn to populate anh2 Nhóm Trang 46 ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI Phụ lục 2: Chương trình code Arduino #include #include LiquidCrystal_I2C lcd(0x27, 20, 4);// SDA A4 SCL A5 Servo servo1; Servo servo2; // Chân động #define MOTOR #define BTN 11 #define resetPin #define Sensor1 #define Sensor2 #define Sensor3 int SensorState1; int SensorState2; int SensorState3; int LastSensorState1=1; int LastSensorState2=1; int LastSensorState3=1; int b1,b2,b3,c1,c2,c3; int SP1=0,SP2=0,SP3=0; Nhóm Trang 47 ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI unsigned long time1 = 0; unsigned long time2 = 0; void Display(){ lcd.clear(); lcd.setCursor(0, 0); lcd.print("HT DEM PHAN LOAI SP"); lcd.setCursor(0, 1); lcd.print("SP 1: "); lcd.setCursor(9, 1); lcd.print(SP1); lcd.setCursor(0, 2); lcd.print("SP 2: "); lcd.setCursor(9, 2); lcd.print(SP2); lcd.setCursor(0, 3); lcd.print("SP 3: "); lcd.setCursor(9, 3); lcd.print(SP3); } void setup() Nhóm Trang 48 ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI { Serial.begin(9600); pinMode(BTN, INPUT_PULLUP); pinMode(resetPin, INPUT_PULLUP); pinMode(Sensor1, INPUT); pinMode(Sensor2, INPUT); pinMode(Sensor3, INPUT); // Chân servo servo1.attach(9); servo2.attach(10); // Điều hướng chân động đầu pinMode(MOTOR, OUTPUT); // Tắt băng tải digitalWrite(MOTOR, LOW); servo1.write(0); servo2.write(0); lcd.init(); lcd.backlight(); Display(); } void loop() { SensorState1 = digitalRead(Sensor1); Nhóm Trang 49 ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI SensorState2 = digitalRead(Sensor2); SensorState3 = digitalRead(Sensor3); if (digitalRead(resetPin)!=1) { reset();} else{ if (SensorState1 != LastSensorState1) { if (SensorState1 == 0){ if ( (unsigned long) (millis() - time1) > 300 ){ servo1.write(90); SP1++; time1 = millis(); } } else {servo1.write(0);} LastSensorState1 = SensorState1; Display(); } else if ((SensorState2 != LastSensorState2)){ if (SensorState2 == 0){ if ( (unsigned long) (millis() - time2) > 300 ) { servo2.write(90); SP2++; time2 = millis(); } } Nhóm Trang 50 ĐỒ ÁN TRUYỀN ĐỘNG ĐIỆN GVHG: ĐỖ HOÀNG NGÂN MI else {servo2.write(0);} LastSensorState2 = SensorState2; Display(); } else if ((SensorState3 != LastSensorState3)){ if (SensorState3 == 0){ SP3++; } LastSensorState3 = SensorState3; Display(); } } // Giới hạn So luong san pham //if (SP2 > 10) { SP2=0;} //if (SP1 > 10) { SP1=0;} //if (SP3 > 10) { SP3=0;} //Serial.println(SensorState1); } void reset() { SP1=SP2=SP3=0; } Nhóm Trang 51 ... cứu đề tài cơng trình trước nhóm định chọn đề tài “Mơ Hình Đếm Và Phân Loại Vật Gỗ Theo Chiều Cao Dùng Trong Điêu Khắc Sử Dụng Arduino UNO R3? ?? Với đề tài nhóm hy vọng làm sở nghiên cứu cho ứng dụng. .. thiệu Hình 1.13: Mơ hình hệ thống Đồ án “Mơ hình đếm phân loại vật gỗ theo chiều cao dùng điêu khắc sử dụng Arduino Uno R3? ?? việc thiết kế mơ hình phân loại sản phẩm lập trình Arduino ý tưởng áp dụng. .. Mi I ĐỀ TÀI : MƠ HÌNH ĐẾM VÀ PHÂN LOẠI VẬT GỖ THEO CHIỀU CAO DÙNG TRONG ĐIÊU KHẮC SỬ DỤNG ARDUINO R3 II CÁC THAM SỐ BAN ĐẦU: - Bộ nguồn 5V cung cấp cho Arduino R3 nguồn 12V cho động DC - Mơ hình