Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 82 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
82
Dung lượng
3,31 MB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CƠ KHÍ ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ VƯỜN CÂY THÔNG MINH - FARMBOT Người hướng dẫn: Sinh viên thực hiện: TS LÊ HOÀI NAM PHAN NGỌC HIẾU NGUYỄN BÁ THẮNG Đà Nẵng, 06/2017 TÓM TẮT Tên đề tài: Vườn thông minh – Farmbot Sinh viên thực hiện: Phan Ngọc Hiếu Số thẻ sinh viên: 101120292 Lớp:12CDT1 Sinh viên thực hiện: Nguyễn Bá Thắng Số thẻ sinh viên: 101120316 Lớp:12CDT1 Đồ án trình bày trình thiết kế chế tạo vườn thông minh (farmbot), phục vụ cho công nghiên cứu giống trồng mới, tìm hiểu tác động yếu tố tự nhiên đến trồng phịng thí nghiệm Ngồi hệ thống cịn nâng cao đời sống gia đình thơng qua việc cung cấp loại rau phục vụ cho nhu cầu ngày mà khơng tốn cơng chăm sóc Trong q trình thiết kế máy, nhóm tác giả phân tích phương án thiết kế cho phù hợp với chức trồng chăm sóc Việc đưa cơng nghệ tự động vào trồng trọt bước đầu để đại hóa ứng dụng cơng nghệ cao nơng nghiệp i ĐẠI HỌC ĐÀ NẴNG CỘNG HỊA XÃ HÔI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự - Hạnh phúc KHOA: CƠ KHÍ NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP TT Họ tên sinh viên Số thẻ SV Lớp Ngành Phan Ngọc Hiếu 101120292 12CDT1 Cơ – Điện Tử Nguyễn Bá Thắng 101120316 12CDT1 Cơ – Điện Tử Tên đề tài đồ án: VƯỜN CÂY THÔNG MINH - FARMBOT Đề tài thuộc diện: ☐ Có ký kết thỏa thuận sở hữu trí tuệ kết thực Các số liệu liệu ban đầu: - Kích thước máy: 1000x700x500 mm - Phạm vi hoạt động: 700x550x300 mm - Chức máy: • Gieo hạt • Tưới nước • Quản lí liệu trồng Nội dung phần thuyết minh tính tốn: a Phần chung: TT Họ tên sinh viên Phan Ngọc Hiếu Nguyễn Bá Thắng Nội dung - Lựa chọn phương án thiết kế b Phần riêng: TT Họ tên sinh viên Nội dung Phan Ngọc Hiếu - Lựa chọn thiết kế mơ hình Nguyễn Bắ Thắng - Thiết kế hệ thống điều khiển Lập trình phần mềm thiết kế giao diện điều khiển Các vẽ, đồ thị ( ghi rõ loại kích thước vẽ ): ii a Phần chung: TT Họ tên sinh viên Phan Ngọc Hiếu Nguyễn Bá Thắng Nội dung - Sơ đồ tổng quan hệ thống (A0) b Phần riêng: TT Họ tên sinh viên Phan Ngọc Hiếu Nguyễn Bá Thắng Nội dung - Bản vẽ sơ đồ động (A0) Bản vẽ lắp hệ thống (A0) Bản vẽ sơ đồ mạch điện (A0) Bản vẽ giao diện điều khiển (A0) Họ tên người hướng dẫn: Phần/ Nội dung: TS Lê Hoài Nam Ngày giao nhiệm vụ đồ án: Ngày hoàn thành đồ án: 01/01/2017 25/05/2017 Đà Nẵng, ngày 19 tháng 05 năm 2017 Trưởng Bộ môn……………………… iii Người hướng dẫn LỜI NĨI ĐẦU Từ lâu, nơng nghiệp trở thành lĩnh vực quan trọng tách rời đời sống người Ngoài nhiệm vụ cung cấp lương thực cho đời sống số phát triển nông nghiệp trở thành thước đo cho phát triển quốc gia giới Dựa sở nông nghiệp truyền thống, từ lâu quốc gia phát triển nghiên cứu ứng dụng thành công nhiều thành tựu khoa học vào nông nghiệp, điển hình cơng nghệ trồng rau thủy canh, mơ hình aquaponics, thiết bị khí phục vụ sản xuất nơng nghiệp, vv Từ đó, giúp nơng nghiệp tiến lên nấc thang mới, cải thiện số lượng lẫn chất lượng sản phẩm ( Sản lượng ngành nông nghiệp công nghệ cao chiếm tới 80% tổng sản lượng nông nghiệp quốc gia) Nước ta tiền thân nước nông nghiệp, với 70% dân số làm nông nghiệp đóng góp 20% GDP Trong quốc gia phát triển, tỷ lệ lao dộng nông nghiệp chiếm 2% đến 4% dân số đóng góp tới 40% GDP Từ cho thấy giá trị mang lại hiệu ngành nông nghiệp nước ta thấp nhiều so với nước khu vực giới Nguyên nhân chủ yếu sản xuất manh mún, nhỏ lẻ, việc đầu tư khoa học kĩ thuật vào nông nghiệp chưa thực đẩy mạnh Từ lí trên, nhóm tác giả định nghiên cứu, thiết kế, chế tạo hệ thống trồng thông minh (Farm Bot), tất khâu từ khâu gieo hạt, tưới nước, quản lí thơng tin trồng hồn tồn tự động Đây thiết bị mang lại hiệu cao lĩnh vực nghiên cứu giống trồng yếu tố liên quan đến sinh trưởng ánh sáng, phân bón, nhiệt độ, độ ẩm Khơng vậy, dụng cụ hỗ trợ đắc lực trọng việc chăm sóc khu vườn cách tự động, khơng tốn q nhiều cơng sức chăm sóc mà trồng đạt suất hiệu Nhóm chúng em xin cảm ơn giúp đỡ hướng dẫn thầy khoa khí đặc biệt TS Lê Hồi Nam tận tình giúp đỡ nhóm suốt q trình làm đồ án Do thời gia có hạn thiếu kinh nghiệm thiết kế, hiểu biết thực tế cịn nên q trình thực đồ án tốt nghiệp không tránh khỏi sai sót Em kính mong nhận thơng cảm bảo thầy cô giáo Em xin chân thành cám ơn Nhóm sinh viên thực iv Phan Ngọc Hiếu – Nguyễn Bá Thắng CAM ĐOAN Tôi tên là: Nguyễn Bá Thắng Lớp: 12CDT1 Khoa: Cơ khí Tơi tên là: Nguyễn Bá Thắng Lớp: 12CDT1 Khoa: Cơ khí Chủ nhiệm đề tài: Vườn thông minh - FARMBOT Tôi xin cam đoan công trình nghiên cứu riêng tơi thực hướng dẫn TS Lê Hoài Nam đề tài làm mới, không chép hay trùng với đề tài thực hiện, sử dụng tài liệu tham khảo nêu báo cáo Các số liệu, kết nêu đề tài trung thực chưa công bố công trình khác v MỤC LỤC TĨM TẮT i NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ii LỜI NÓI ĐẦU iv CAM ĐOAN v MỤC LỤC vi DANH SÁCH CÁC BẢNG, HÌNH VẼ viii DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT xi MỞ ĐẦU SƠ LƯỢT NỀN NÔNG NGHIỆP VÀ CÁCH CON NGƯỜI TÁC ĐỘNG VÀO NỀN NÔNG NGHIỆP TRÊN THẾ GIỚI 1.1 Sơ lượt lịch sử nông nghiệp 1.2 Lịch sử phát triển công cụ 1.3 Nhận xét GIỚI THIỆU MỘT SỐ THÀNH TỰU CỦA VIỆC ỨNG DỤNG KHOA HỌC CÔNG NGHỆ VÀO NÔNG NGHIỆP 2.1 Một số phương pháp nông nghiệp đại 2.1.1 Phương pháp thủy canh 2.1.2 Phương pháp khí canh 2.2 Mốt số ứng dụng khoa học cơng nghệ tự động hóa trồng trọt Hình 2.6: Máy trồng rau gia đình 10 THIẾT KẾ HỆ THỐNG FARMBOT 12 3.1 Giới thiệu phần mềm thiết kế 3D onshape 12 3.1.1 Giới thiệu cad phần mềm thiết kế cad 12 3.1.2 Thiết kế vẽ cad 2D 3D onshape 13 3.2 Thiết kế phận truyền động 15 3.2.1 Lựa chọn phương án thiết kế 15 vi 3.2.2 Các phương án thiết kế truyền động khí 15 3.3 Sơ đồ truyền động theo trục 27 3.3.2 Lựa chọn thiết kế phận máy 28 3.4 Thiết kế đầu công cụ 30 3.5 Thông số kĩ thuật máy farmbot 31 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN 33 4.1 Các thiết bị ngoại vi 33 4.1.1 Động bước 33 4.1.2 Cảm biến tiệm cận (Proximity sensor) 35 4.2 Các linh kiện module tủ điện điều khiển 36 4.2.1 Driver stepper motor TB6560 36 LẬP TRÌNH HỆ THỐNG ĐIỀU KHIỂN 49 5.1 Lập trình PLC 49 5.1.1 Ngôn ngữ lập trình PLC 49 5.1.2 Lưu đồ thuật toán 50 5.2 Lập trình giao diện 51 5.2.1 Machine – Human Interface (HMI) 51 5.2.2 Xây dựng giao diện 52 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 55 6.1 Kết luận 55 6.2 Hướng phát triển đồ án 55 PHỤ LỤC 1: Chương trình PLC 59 PHỤ LỤC 2: Chương trình VBScript 67 vii DANH SÁCH CÁC BẢNG, HÌNH VẼ Hình 1.1: Từ lâu người hóa nơng nghiệp tự nhiên Hình 1.2: Máy gặt Cyrus McCormick phát minh Hình 1.3: Cơ giới hóa nông nghiệp Hình 2.1: Phương pháp thủy canh tĩnh Hình 2.2: Phương pháp thủy canh hồi lưu Hình 2.3: Phương pháp khí canh Hình 2.4: Tủ trồng rau gia đình Hình 2.5: Vòng tròn trồng rau Hình 2.6: Máy trồng rau gia đình 10 Hình 2.7: Trồng rau thủy canh nhà 10 Hình 2.8: Trồng rau thủy canh mặt nước 11 Hình 3.1: Cơ cấu cánh tay robot thiết kế phần mềm cad 12 Hình 3.2: Phần mềm thiết kế onshape 13 Hình 3.3: Giao diện thiết kế onshape 14 Hình 3.4: Hai phương án thiết kế 15 Hình 3.5: Truyền động bánh 17 Hình 3.6: Bộ truyền động trục vít 18 Hình 3.7: Cấu tạo truyền xích 19 Hình 3.8: Hệ thống truyền động xích 20 Hình 3.9: Bộ truyền trục vít đai ốc 21 Hình 3.10: Các cách sử dụng truyền trục vít đai ốc 21 Hình 3.11: Các loại trục vít đai ốc 22 Hình 3.12: Vít me đai ốc bi 23 Hình 3.13: Bộ truyền đai 24 Hình 3.14: Các phận truyền đai 24 Hình 3.15: Các loại đai kết cấu bánh đai 26 viii Hình 3.16: Sơ đồ truyền động trục x 27 Hình 3.17: Sơ đồ truyền động trục y 27 Hình 3.18: Sơ đồ truyền động trục z 28 Hình 3.19: Nhơm định hình 20x40 20x20 28 Hình 3.20: Các phương án sử dụng cho khớp trượt 29 Hình 3.21: Bản thiết kế 3D khớp trượt 29 Hình 3.22: Vít me – đai ốc 30 Hình 3.23: Đầu công cụ thiết kế phần mềm onshape 31 Hình 3.24: Thiết kế máy onshape 32 Hình 4.1: Nguyên tắc hoạt động động bước 33 Hình 4.2: Động bước nema 23 35 Hình 4.3: Cảm biến tiệm cận LJ12A3-4-Z-BX 36 Hình 4.4: Driver động bước TB6050 37 Hình 4.5: Sơ đồ nguyên lí driver tb6560 38 Hình 4.6: Nguồn xung 24v-10A 39 Hình 4.7: Sơ đồ khối nguồn xung 39 Hình 4.8: Nguồn omron S8VS-06024 40 Hình 4.9: Bản thiết kế nguồn omron S8VS-06024 40 Hình 4.10: Terminal tầng 41 Hình 4.11: Sơ đồ ngun lí hoạt động CB dòng điện cực đại 43 Hình 4.12: Sơ đồ ngun lí hoạt động CB điện áp thấp 44 Hình 4.13: Aptomat Mitsubishi NF50-ZKC 45 Hình 4.14: PLC 47 Hình 4.15: PLC S7-1200-CPU1212C DC/DC/DC 47 Hình 5.1: Sơ đồ tổng quan hệ thống 50 Hình 5.2: Lưu đồ thuật tốn q trình gieo hạt 50 Hình 5.3: Lưu đồ thuật tốn q trình tưới nước 51 Hình 5.4: Cấu hình chuẩn giao thức kết nối 52 ix Vườn thông minh - FarmBot KẾT LUẬN Đồ án sau hoàn thành thực chức trồng, chăm sóc rau Nhận thấy việc đưa mạng truyền thông kết hợp tự động hóa vào hệ thống hỗ trợ nhiều việc giúp người dùng thực cơng việc trồng trọt quản lí cơng việc theo cách thủ cơng Tuy nhiên, máy gieo số loại hạt giống có đường kính lớn 4mm nên điểm hạn chế tương đối bất tiện, tương lai nhóm tác giả khắc phục vấn đề thay đổi phương pháp gieo hạt tiến hành cải tiến cấu công cụ Sinh viên thực hiện: Nguyễn Bá Thắng – Phan Ngọc Hiếu Hướng dẫn: TS Lê Hoài Nam 56 TÀI LIỆU THAM KHẢO Tài liệu nước: [1] Lê Cung, “Bài giảng truyền động khí”, Đà Nẵng, 2014 Tài liệu nước ngoài: [2] Siemens, WinCC programming, 2014 [3] Indusoft, VBScript Reference 57 58 PHỤ LỤC 1: Chương trình PLC • Chu trình gieo hạt: IF #HMI_Button.Start = THEN //trong cay IF #Column.Count_start #Done_Plant.Step_2_x); #Plant_Y_Step_2y(Axis := "Axis_Y", Execute := #Execute_plant.Step_2_y, Velocity := 10, Position := #Pos_Move.Pos_y, Done => #Done_Plant.Step_2_y); //step3 Move z down to seeder IF #Done_Plant.Step_2_x = AND #Done_Plant.Step_2_y = THEN #Execute_plant.Step_3 := 1; #Pos_Move.Pos_z := 165; END_IF; #Plant_Z_Step_3(Axis:="Axis_Z", Execute:=#Execute_plant.Step_3, Position:=#Pos_Move.Pos_z, Velocity:=30, Done=>#Done_Plant.Step_3); //step4 take seed Air role IF #Done_Plant.Step_3 = THEN "Air_role" := 1; #Execute_plant.Step_4 := 1; END_IF; #Air_Role(IN:=#Execute_plant.Step_4, PT:=T#4s, Q=>#Done_Plant.Step_4); //step5 z up to IF #Done_Plant.Step_4 = THEN #Execute_plant.Step_5 := 1; #Pos_Move.Pos_z := 0; END_IF; #Plant_Z_Step_5(Axis:="Axis_Z", Execute:=#Execute_plant.Step_5, Phụ lục 60 Position:=#Pos_Move.Pos_z, Velocity:=30, Done=>#Done_Plant.Step_5); //Step6 move to plant pos IF #Done_Plant.Step_5 = THEN #Execute_plant.Step_6_x := 1; #Execute_plant.Step_6_y := 1; #Pos_Move.Pos_x:= #Position_Infor[#Row.Count_start, #Column.Count_start].X_local; #Pos_Move.Pos_y := #Position_Infor[#Row.Count_start, #Column.Count_start].Y_local; END_IF; #Plant_X_Step_6x(Axis:="Axis_X", Execute:=#Execute_plant.Step_6_x, Position:=#Pos_Move.Pos_x, Velocity:=200, Done=>#Done_Plant.Step_6_x); #Plant_Y_Step_6y(Axis:="Axis_Y", Execute:=#Execute_plant.Step_6_y, Position:=#Pos_Move.Pos_y, Velocity:=10, Done=>#Done_Plant.Step_6_y); //step move z down to plant pos IF #Done_Plant.Step_6_x = AND #Done_Plant.Step_6_y = THEN #Execute_plant.Step_7 := 1; #Pos_Move.Pos_z := 135; END_IF; #Plant_Z_Step_7(Axis:="Axis_Z", Execute:=#Execute_plant.Step_7, Position:=#Pos_Move.Pos_z, Velocity:=30.0, Phụ lục 61 Done=>#Done_Plant.Step_7); //Step move z rel -20 IF #Done_Plant.Step_7 = THEN #Execute_plant.Step_8 := 1; #Pos_Move.Pos_z := -20; END_IF; #Plant_Z_Step_8(Axis:="Axis_Z", Execute:=#Execute_plant.Step_8, Distance:=#Pos_Move.Pos_z, Velocity:=30, Done=>#Done_Plant.Step_8); //Step move x rel 20 IF #Done_Plant.Step_8 = THEN #Execute_plant.Step_9 := 1; #Pos_Move.Pos_x := 83; END_IF; #Plant_X_Step_9(Axis:="Axis_X", Distance:=#Pos_Move.Pos_x, Execute:=#Execute_plant.Step_9, Velocity:=200.0, Done=>#Done_Plant.Step_9); //Step 10 drop seed IF #Done_Plant.Step_9 = THEN "Air_role" := 0; #Execute_plant.Step_10 := 1; END_IF; #Air_Role_off(IN:=#Execute_plant.Step_10, PT:=T#8s, Q=>#Done_Plant.Step_10); //Step 11 move x rel -70 IF #Done_Plant.Step_10 = THEN Phụ lục 62 #Execute_plant.Step_11 := 1; #Pos_Move.Pos_x := -70; END_IF; #Plant_X_Step_11(Axis:="Axis_X", Execute:=#Execute_plant.Step_11, Distance:=#Pos_Move.Pos_x, Velocity:=200, Done=>#Done_Plant.Step_11); //Step 12 move z rel 20 IF #Done_Plant.Step_11 = THEN #Execute_plant.Step_12 := 1; #Pos_Move.Pos_z := 15; END_IF; #Plant_Z_Step_12(Axis:="Axis_Z", Execute:=#Execute_plant.Step_12, Distance:=#Pos_Move.Pos_z, Velocity:=30, Done=>#Done_Plant.Step_12); //Step 13 move Z up to IF #Done_Plant.Step_12 = THEN #Execute_plant.Step_13 := 1; #Pos_Move.Pos_z := 0; END_IF; #Plant_Z_Step_13(Axis:="Axis_Z", Execute:=#Execute_plant.Step_13, Position:=#Pos_Move.Pos_z, Velocity:=30, Done=>#Done_Plant.Step_13); IF #Done_Plant.Step_13 = THEN "Data_Actual".Position_infor[#Row.Count_start, #Column.Count_start].Plant := #Position_Infor[#Row.Count_start, #Column.Count_start].Plant; Phụ lục 63 "Data_Actual".Position_infor[#Row.Count_start, #Column.Count_start].Water_In := #Position_Infor[#Row.Count_start, #Column.Count_start].Water_In; #Execute_plant.Step_1 := 0; #Execute_plant.Step_2_x := 0; #Execute_plant.Step_2_y := 0; #Execute_plant.Step_3 := 0; #Execute_plant.Step_4 := 0; #Execute_plant.Step_5 := 0; #Execute_plant.Step_6_x := 0; #Execute_plant.Step_6_y := 0; #Execute_plant.Step_7 := 0; #Execute_plant.Step_8 := 0; #Execute_plant.Step_9 := 0; #Execute_plant.Step_10 := 0; #Execute_plant.Step_11 := 0; #Execute_plant.Step_12 := 0; #Execute_plant.Step_13 := 0; #Row.Count_start := #Row.Count_start + 1; END_IF; ELSE #Row.Count_start := #Row.Count_start + 1; END_IF; END_IF; // sang cot khac IF #Row.Count_start > #Row.Num THEN #Row.Count_start := 1; #Column.Count_start := #Column.Count_start + 1; END_IF; END_IF; IF #Column.Count_start > #Column.Num THEN #HMI_Button.Start := 0; Phụ lục 64 #Row.Count_start := 1; #Column.Count_start := 1; END_IF; END_IF; • Chu trình tưới nước: IF #Status_bit.Water = THEN IF #Column.Count_water #Done_water.Step_2_x); #Water_Y_Step_2y(Axis:="Axis_Y", Execute:=#Execute_water.Step_2_y, Position:=#Pos_Move.Pos_y, Velocity:=10.0, Done=>#Done_water.Step_2_y); Phụ lục 65 //Step 3: water_role IF #Done_water.Step_2_x = AND #Done_water.Step_2_y = THEN #Execute_water.Step_3 := 1; "Water_role" := 1; END_IF; #Water_Role(IN:=#Execute_water.Step_3, PT:=T#6s, Q=>#Done_water.Step_3); IF #Done_water.Step_3 = THEN #Execute_water.Step_1 := 0; #Execute_water.Step_2_x := 0; #Execute_water.Step_2_y := 0; #Execute_water.Step_3 := 0; "Water_role" := 0; "Data_Actual".Position_infor[#Row.Count_water, #Column.Count_water].HMI_Button.HMI_Popup_water_Switch := 1; #Row.Count_water := #Row.Count_water + 1; END_IF; ELSE #Row.Count_water := #Row.Count_water + 1; END_IF; END_IF; // sang cot khac IF #Row.Count_water > #Row.Num THEN #Row.Count_water := 1; #Column.Count_water := #Column.Count_water + 1; END_IF; END_IF; //xong IF #Column.Count_water > #Column.Num THEN #Row.Count_water := 1; #Column.Count_water := 1; #Status_bit.Water := 0; END_IF; END_IF; Phụ lục 66 PHỤ LỤC 2: Chương trình VBScript • Nút Picking Sub Picking() 'Tip: ' Use the or shortcut to open a list of all objects and functions ' Write the code using the HMI Runtime object ' Example: HmiRuntime.Screens("Screen_1") ' Use the shortcut to create an object reference 'Write the code as of this position: Dim objScreen Set objScreen = HmiRuntime.Screens("3-Auto") 'Assign Button String Dim Count Dim strName Dim Button(12) Dim Button_Count For Count = To objScreen.ScreenItems.Count 'Get all "button" strName = objScreen.ScreenItems(Count).ObjectName If Left(strName, 6) = "Button" Then Button(CInt(Mid(strName, 8, 2))) = strName Button_Count = Button_Count + End If Next 'Assign Show_popup bit to Show_popup array Dim Show_popup(12) For Count = To Button_Count strName = CStr(Count) Phụ lục 67 Show_popup(Count) = SmartTags(strName) Next 'Assign Plant Int To Plant Aray Dim Plant(12) For Count = To Button_Count strName = "Area_" & CStr(Count) Plant(Count) = SmartTags(strName) Next For Count = To 12 If Show_popup(Count) = True Then objScreen.ScreenItems(Button(Count)).BackColor = RGB(51, 102, 255) End If If Show_popup(Count) = False Then If Plant(Count) = Then objScreen.ScreenItems(Button(Count)).BackColor = RGB(51, 153, 102) End If If Plant(Count) = Then objScreen.ScreenItems(Button(Count)).BackColor = RGB(51, 204, 204) End If If Plant(Count) = Then objScreen.ScreenItems(Button(Count)).BackColor = RGB(204, 255, 204) End If If Plant(Count) = Then objScreen.ScreenItems(Button(Count)).BackColor = vbWhite End If End If Next End Sub Phụ lục 68 • Nút save: Sub Popup_Save() 'Tip: and ' Use the or shortcut to open a list of all objects functions ' Write the code using the HMI Runtime object ' Example: HmiRuntime.Screens("Screen_1") ' Use the shortcut to create an object reference 'Write the code as of this position: SmartTags("Auto_DB_HMI_Popup_Button_Save") = True Dim objScreen Set objScreen = HmiRuntime.Screens("3-Auto") 'Assign Button String Dim Count Dim strName Dim Button(12) Dim Button_Count For Count = To objScreen.ScreenItems.Count 'Get all "button" strName = objScreen.ScreenItems(Count).ObjectName If "Button" = Left(strName, 6) Then Button(CInt(Mid(strName, 8, 2))) = strName Button_Count = Button_Count + End If Next 'Assign Show_popup bit to Show_popup array Dim Show_popup(12) For Count = To Button_Count strName = CStr(Count) Set Show_popup(Count) = SmartTags(strName) Next Phụ lục 69 'Assign Plant int to Plant Aray Dim Plant(12) For Count = To Button_Count strName = "Area_" & CStr(Count) Plant(Count) = SmartTags(strName) Next 'Clear show_popup bit For Count = To 12 strName = CStr(Count) SmartTags(strName) = False If Plant(Count) = Then objScreen.ScreenItems(Button(Count)).BackColor = RGB(51, 153, 102) End If If Plant(Count) = Then objScreen.ScreenItems(Button(Count)).BackColor = RGB(51, 204, 204) End If If Plant(Count) = Then objScreen.ScreenItems(Button(Count)).BackColor = RGB(204, 255, 204) End If If Plant(Count) = Then objScreen.ScreenItems(Button(Count)).BackColor = vbWhite End If Next End Sub Phụ lục 70 ... VƯỜN CÂY THÔNG MINH - FARMBOT THIẾT KẾ HỆ THỐNG FARMBOT 3.1 Giới thiệu phần mềm thiết kế 3D onshape 3.1.1 Giới thiệu cad phần mềm thiết kế cad Computer aided design, viết tắt CAD tiếng Anh (thiết. .. Lê Hoài Nam 14 ĐỒ ÁN TÔT NGHIỆP: VƯỜN CÂY THÔNG MINH - FARMBOT 3.2 Thiết kế phận truyền động 3.2.1 Lựa chọn phương án thiết kế Với ý tưởng thiết kế hệ thống farmbot di chuyển theo khơng gian... NGHIỆP: VƯỜN CÂY THÔNG MINH - FARMBOT Hình 3.24: Thiết kế máy onshape Sinh viên thực hiện: Nguyễn Bá Thắng – Phan Ngọc Hiếu Hướng dẫn: TS Lê Hồi Nam 32 ĐỒ ÁN TƠT NGHIỆP: VƯỜN CÂY THÔNG MINH - FARMBOT