Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 69 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
69
Dung lượng
24,34 MB
Nội dung
BỘ CÔNG THƯƠNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO TỔNG KẾT ĐỀ TÀI KHOA HỌC KẾT QUẢ THỰC HIỆN ĐỀ TÀI NGHIÊN CỨU KHOA HỌCCẤP TRƯỜNG Tên đề tài: Thiết kế, chế tạo thiết bị thăm dị, kiểm tra đường ống có đường kính 300 mm Mã số đề tài: 192.Đ01 Chủ nhiệm đề tài: ThS Nguyễn Hoanh Đơn vị thực hiện: Khoa Công Nghệ Điện LỜI CÁM ƠN Tôi xin gửi lời cảm ơn chân thành lãnh đạo nhà trường, khoa, phòng ban, kết hợp tạo điều kiện để tơi hồn thành đề tài Tơi xin chân thành cám ơn thành viên nhóm thực đề tài, phản biện đề tài nhiệt tình tham gia đóng góp ý kiến giúp tơi hồn thành đề tài hạn PHẦN I THÔNG TIN CHUNG I Thông tin tổng quát 1.1 Tên đề tài: Thiết kế, chế tạo thiết bị thăm dò, kiểm tra đường ống có đường kính 300 mm 1.2 Mã số: 192.Đ01 1.3 Danh sách chủ trì, thành viên tham gia thực đề tài TT Họ tên (học hàm, học vị) Ths Nguyễn Hoanh Khoa công nghệ Điện Viết firmware hồn chỉnh với TS Ngơ Thanh Quyền Khoa công nghệ Điện Thử nghiệm thiết bị điều Ths Nguyễn Đức Tồn Khoa cơng nghệ Điện Lắp ráp, chế tạo CEPBOT, gia Ths Lê Long Hồ Khoa công nghệ Điện Chế tạo mạch điện tử, Đơn vị cơng tác Vai trị thực đề tài đầy đủ tính đề ra, viết phần mềm hồn chỉnh với đầy đủ tính đề để kết nối thống với PC qua phần mềm hỗ trợ, nâng cấp, khắc phục, cải tiến kiện hoạt động đánh giá, nâng cấp, khắc phục, cải tiến công phần khung sườn CEPBOT, chế tạo mạch điện tử, module chuyên biệt module chuyên biệt, tổng hợp số liệu báo cáo 1.4 Đơn vị chủ trì: Khoa Công nghệ Điện 1.5 Thời gian thực hiện: 1.5.1 Theo hợp đồng: từ tháng năm 2019 đến tháng năm 2020 1.5.2 Gia hạn (nếu có): tháng 1.5.3 Thực thực tế: từ tháng 01 năm 2019 đến tháng 01 năm 2020 1.6 Những thay đổi so với thuyết minh ban đầu (nếu có): (Về mục tiêu, nội dung, phương pháp, kết nghiên cứu tổ chức thực hiện; Nguyên nhân; Ý kiến Cơ quan quản lý) 1.7 Tổng kinh phí phê duyệt đề tài: 90 triệu đồng II Kết nghiên cứu Đặt vấn đề Từ lâu, công tác tu, bảo dưỡng, sửa chữa đường ống không gian hạn chế dây chuyền sản xuất công nghiệp đặt khó khăn khơng nhỏ, chí thực Đối với khu vực có diện tích nhỏ hẹp hay có mơi trường độc hại cao, việc để người tiếp cận để kiểm tra, xử lý trục trặc nhìn chung cơng việc khó việc tiếp cận để quan sát bên lòng ống thiết bị nguy hiểm cho người Đặc biệt, ống nhỏ mà người khơng vào cơng việc gần khơng thể thực Vì vậy, xã hội đặt nhu cầu giải pháp việc cải tiến, thiết kế chế tạo thiết bị giúp sửa chữa đường ống không gian hạn chế Nắm bắt từ thực tế nhiều nước giới ứng dụng Robot để phục vụ nhiều lĩnh vực như: công nghiệp, nông nghiệp quân sống sinh hoạt ngày Trong tương lai Robot công cụ hỗ trợ đắc lực cho người giúp người vươn đến tầm cao Nhận thức xu hướng tầm quan trọng Robot tương lai, từ nhu cầu thực tế, nhận thấy việc ứng dụng công nghệ robotic vào công việc cần thiết Robot thay người thực cơng việc kiểm tra, tìm kiếm thăm dị vị trí hư hỏng ghi nhận lại thông số liệu đường ống không gian hạn chế, vị trí, địa điểm độc hại, nguy hiểm mà người tiếp cận thực được…mở tiềm ứng dụng rộng rãi, an toàn tin cậy trình hoạt động hệ thống thiết bị hữu với chất lượng sản phẩm ổn định, giá thành thấp Do đó, nhóm nghiên cứu đề xuất phát triển đề tài “Thiết kế, chế tạo robot thăm dị, kiểm tra đường ống có đường kính 300 mm” Mục tiêu a Mục tiêu tổng quát - Nghiên cứu thiết kế, chế tạo Robot công nghiệp có tính chun biệt, tiêu biểu để phục vụ cho công tác kiểm tra, tu, bảo dưỡng, sửa chữa thiết bị, đường ống điều kiện môi trường độc hại, hạn hẹp khơng an tồn cho dây chuyền sản xuất công nghệ nhà máy - Làm chủ thành tựu công nghệ vi điều khiển, công nghệ thông tintruyền thông hướng tới nhận dạng, điều khiển thông minh - Xây dựng phần mềm giải pháp điều khiển theo chuẩn công nghiệp b Mục tiêu cụ thể - Thiết kế chế tạo mơ hình vật lý robot di chuyển đường ống (ống sắt, nhựa, thép 304) có kích thước 300mm÷20mm, di chuyển theo phương ngang, đứng, cua góc ÷ 900 (Đường kính ống cong 1.5D lần đường ống thẳng) Trong D đường kính ống - Thiết kế chế tao module lắp đặt camera để giám sát đường ống đồng thời điều chỉnh góc nghiêng camera - Thiết kế module điều khiển động truyền động, xử lý thông tin từ camera, đọc tín hiệu cảm biến đo nhiệt độ, độ ẩm thiết lập truyền thơng bên ngồi thơng qua liên kết có dây - Viết chương trình máy tính tương tác với người dùng: Hiển thị hình ảnh đường ống, hiển thị giá trị đo lường từ cảm biến điều khiển chuyển động cho robot - Viết chương trình firmware build thành service: Thu thập hình ảnh đường ống, tiền xử lý hình ảnh nén frame ảnh thu thập gửi lên sever/máy tính để hiển thị lên giao diện phần mềm ngưới dùng Thuật toán xử lý ảnh tự động phát dị vật, đo đạc chiều rộng chiều sâu khuyết tật chướng ngại vật đường ống, báo trạng thái dị vật board điều khiển trung tâm qua giao tiếp I2C để tự động điều khiển Robot Ngôn ngữ sử dụng Python, thư viện nguồn mở OPENCV sử dụng cho thuật toán xử lý ảnh real-time - Thử nghiệm thực tế, tối ưu kế hoạch tu bảo dưỡng; chuẩn đốn phân tích, đánh giá thăm dị đường ống, ghi nhận đánh giá điều kiện an toàn cho người thực cơng việc dây chuyền sản xuất nhà máy - Nhóm nghiên cứu hy vọng qua việc thực đề tài nghiên cứu đóng góp phần phương pháp luận, kết ứng dụng thực tế sản xuất việc nghiên cứu, giảng dạy ứng dụng robot nước đáp ứng cầu tự động hóa cơng nghiệp nước ta Phương pháp nghiên cứu • − − − • − − − • − − − • − − − • − − − Nội dung : Khảo sát đánh giá thực trạng Cách tiếp cận: Khảo sát, quan sát lắng nghe Phương pháp nghiên cứu, kỹ thuật sử dụng: Thu thập phân tích Kết dự kiến: Bản báo cáo kết khảo sát đánh giá thực trạng Nội dung : Nghiên cứu chuyên môn Cách tiếp cận: Nghiên cứu thực nghiệm Phương pháp nghiên cứu, kỹ thuật sử dụng: Thu thập, phân tích, khảo sát thực nghiệm Kết dự kiến: Bản báo cáo chun mơn thiết kế mơ hình Robot; truyền liệu giao tiếp nối tiếp qua Robot; lập trình vi điều khiển; lập trình giao diện xử lý ảnh máy tính sử dụng ngơn ngữ lập trình Python Nội dung : Xây dựng, kết nối phần cứng, phần mềm Cách tiếp cận: Xây dựng hệ thống thực nghiệm Phương pháp nghiên cứu, kỹ thuật sử dụng: Phân tích thực nghiệm Kết dự kiến: Sơ đồ khối hệ thống; sơ đồ nguyên lý khối; lưu đồ giải thuật Nội dung : Sản xuất Cách tiếp cận: Thực nghiệm Phương pháp nghiên cứu, kỹ thuật sử dụng: Thực nghiệm Kết dự kiến: Mơ hình vật lý hệ thống; phần mềm: Phần mềm điều khiển Robot, phần mềm giao tiếp điều khiển máy tính, phần mềm giao tiếp máy tính với Robot Nội dung : Lắp đặt thực tế, vận hành thử nghiệm Cách tiếp cận: Thực nghiệm kiểm tra Phương pháp nghiên cứu, kỹ thuật sử dụng: Thực nghiệm kiểm tra Kết dự kiến: Báo cáo kết lắp đặt thử nghiệm hệ thống • Nội dung : Phát triển giáo dục − Cách tiếp cận: Tìm tài liệu, phân tích, lên phương án thực nghiệm − Phương pháp nghiên cứu, kỹ thuật sử dụng: Hướng dẫn phân tích, lên kế hoạch thực nghiệm − Kết dự kiến: Báo cáo luận văn tốt nghiệp/đề tài nghiên cứu; mô hình vật lý luận văn tốt nghiệp/đề tài nghiên cứu khoa học Tổng kết kết nghiên cứu Về phần cứng Nhóm thực đề tài đưa mơ hình phần cứng phù hợp với yêu cầu thực tiễn từ phương án xây dựng phần cứng đưa nghiên cứu Sau xây dựng khung từ phương án thiết kế, nhóm thực đề tài tiến hành lắp đặt thực nghiệm trường để đưa đánh giá hệ thống, từ đưa phương án bổ sung, hiệu chỉnh, thay đổi Về phần mềm Nhóm thực đề tài thiết kế xây dựng phần mềm đáp ứng tất yêu cầu đặt từ thực tiễn Phần mềm thiết kế có giao diện đáp ứng với yêu cầu thực tế Thuật toán điều khiển xây dựng dựa sơ đồ nghiên cứu ban đầu chỉnh sửa, bổ sung thuật tốn, hiệu chỉnh thơng số để phù hợp với môi trường thật, đáp ứng yêu cầu vận hành thực tế robot Đánh giá kết đạt kết luận Các kết đạt - Hồn thành thiết kế, chế tạo mơ hình vật lý robot di chuyển đường ống (ống sắt, nhựa, thép 304) có kích thước 300mm÷20mm, di chuyển theo phương ngang, đứng, cua góc ÷ 900 (Đường kính ống cong 1.5D lần đường ống thẳng) Trong D đường kính ống - Hoàn thành lắp đặt camera để giám sát đường ống đồng thời điều chỉnh góc nghiêng camera - Hoàn thành thiết kế, chế tạo module điều khiển động truyền động, xử lý thông tin từ camera, đọc tín hiệu cảm biến đo nhiệt độ, độ ẩm thiết lập truyền thơng bên ngồi thơng qua liên kết khơng dây - Hồn thành chương trình máy tính tương tác với người dùng: Hiển thị hình ảnh đường ống, hiển thị giá trị đo lường từ cảm biến điều khiển chuyển động cho robot - Thử nghiệm thực tế, tối ưu kế hoạch tu bảo dưỡng; chuẩn đốn phân tích, đánh giá thăm dò đường ống, ghi nhận đánh giá điều kiện an tồn cho người thực công việc dây chuyền sản xuất nhà máy Kết luận Các kết đạt đề tài đáp ứng yêu cầu thực tiễn robot dễ dàng ứng dụng rộng rãi Tóm tắt kết Phần cứng Mơ hình vật lý robot di chuyển đường ống Phần mềm Chương trình máy tính tương tác với người dùng Bài báo khoa học Tên báo: EFFICIENT DEEP LEARNING-BASED NETWORK FOR CRACK DETECTION IN PIPELINE SYSTEMS Tên tạp chí: Journal of Theoretical and Applied Information Technology Ngày đăng: 30/11/2019 Số: 97(22) Loại tạp chí: SCOPUS III Sản phẩm đề tài, công bố kết đào tạo 3.1 Kết nghiên cứu (sản phẩm dạng 1,2,3) Dạng I: Mẫu (model, maket); Sản phẩm (là hàng hố, tiêu thụ thị trường); Vật liệu; Thiết bị, máy móc; Dây chuyền cơng nghệ; Giống trồng; Giống vật nuôi loại khác; TT Tên sản phẩm Robot Chỉ tiêu chất lượng chủ yếu Mẫu tương tự (theo tiêu chuẩn nhất) Cần đạt Trong Thế nước giới Module thân Robot: Thiết bị đại, đáp ứng tốt môi trường công nghệ Nhà máy: - Đường kính ống: 300±20mm - Chiều dài cáp: 50m - Đường kính ống cua: 1.5xD - Số động cơ: - Số bánh xe: 12 - Vật liệu: Thép không gĩ - Tốc độ cực đại: 4m/Phút Module phần cứng cho hệ thống điều khiển trung tâm thiết bị ngoại vi: Hệ thống đại, đáp ứng tốt chuẩn giao tiếp công nghiệp thông dụng, hoạt động ổn định lâu dài - Nguồn cấp: 220V - CPU: Arduino Uno R3, Cortex A8 ARM - Đầu vào: T0, RH, Camera, encoder - Đầu ra: PWM Module Camera: - Resolution: 1296 x 964 - Frame Rate: 18 FPS - Megapixels: 1.3 MP - Chroma: Color - Sensor Name: Sony ICX445 - Sensor Type: CCD - Readout Method: Global shutter - Sensor Format: 1/3" - Pixel Size: 3.75 µm - Lens Mount: CS-mount - Rotation: 1800 Dự kiến số lượng Dạng II: Nguyên lý ứng dụng; Phương pháp; Tiêu chuẩn; Quy phạm; Phần mềm máy tính; Bản vẽ thiết kế; Quy trình cơng nghệ; Sơ đồ, đồ; Số liệu, Cơ sở liệu; Báo cáo phân tích; Tài liệu dự báo (phương pháp, quy trình, mơ hình, ); Đề án, qui hoạch; Luận chứng kinh tế-kỹ thuật, Báo cáo nghiên cứu khả thi sản phẩm khác TT Tên sản phẩm Phần mềm máy tính Số lượng Yêu cầu khoa học cần đạt Ghi - Giao diện hiển thị có độ tương phản cao, rõ ràng - Phần mềm dễ dàng sử dụng, rõ ràng, giao diện đẹp - Dữ liệu truyền đảm bảo nhanh xác - Điều khiển hiển thị xác thơng số Robot - Khả thay đổi linh động cho nhiều ứng dụng khác Sơ đồ Sơ đồ nguyên lý: Sơ đồ tổng quan thành phần, khối hệ thống; Sơ đồ chi tiết khối, mạch kết nối, liên kết khối, sơ đồ dây chi tiết hệ thống đầy đủ xác Dạng III: Bài báo; TT Tên báo dự kiến EFFICIENT DEEP LEARNINGBASED NETWORK FOR CRACK DETECTION IN PIPELINE SYSTEMS Nơi công bố (IUH, ISI, SCOPUS) SCOPUS Ghi Ghi chú: - Các ấn phẩm khoa học (bài báo, báo cáo KH, sách chuyên khảo…) chấp nhận có ghi nhận địa cảm ơn trường ĐH Cơng Nghiệp Tp HCM cấp kính phí thực nghiên cứu theo quy định - Các ấn phẩm (bản photo) đính kèm phần phụ lục minh chứng cuối báo cáo (đối với ấn phẩm sách, giáo trình cần có photo trang bìa, trang trang cuối kèm thông tin định số hiệu xuất bản) 3.2 Kết đào tạo TT Họ tên Thời gian thực đề tài Nghiên cứu sinh Tên đề tài Tên chuyên đề NCS Tên luận văn Cao học Đã bảo vệ Học viên cao học Sinh viên Đại học Ghi chú: - Kèm photo trang bìa chuyên đề nghiên cứu sinh/ luận văn/ khóa luận bằng/giấy chứng nhận nghiên cứu sinh/thạc sỹ học viên bảo vệ thành công luận án/ luận văn;( thể phần cuối báo cáo khoa học) IV Tình hình sử dụng kinh phí TT A B Nội dung chi Chi phí trực tiếp Th khốn chun mơn Ngun, nhiên vật liệu, con… Thiết bị, dụng cụ Cơng tác phí Dịch vụ thuê Hội nghị, hội thảo, thù lao nghiệm thu kỳ In ấn, Văn phòng phẩm Chi phí khác Chi phí gián tiếp Quản lý phí Chi phí điện, nước Tổng số Kinh phí duyệt (triệu đồng) Kinh phí thực (triệu đồng) 36.5 36.5 49 49 4.5 4.5 90 90 Ghi Chương trình điều khiển robot Arduino #include (Khai báo thư viện để nhận tín hiệu từ NodeMCU) (Khai báo chân động cơ) #define SPEED_PIN #define DIRECTION_PIN_0 #define DIRECTION_PIN_1 #define STEPPER_PUL #define STEPPER_DIR (Khai báo giá trị biến điều khiển) #define RUN #define STOP #define FORWARD #define REVERSE #define SPEED_SOLUTION 25 #define MAX_SPEED 250 #define MIN_SPEED #define MAX_STEP_DELAY 250 #define MIN_STEP_DELAY int steppermode = 0; bool run_stop = STOP; bool direction = FORWARD; uint8_t motor_speed = 125; int lastdir=FORWARD; uint8_t step_delay = 0; uint8_t num_of_performed_step = 1; void motorRun(uint8_t direction, uint8_t speed); void stepperRun(uint8_t direction, uint8_t step_delay_time, uint32_t num_of_step); void setup() { (Khai báo chân giao tiếp với NodeMCU) Wire.begin(8); Wire.onReceive(receiveEvent); Serial.begin(115200); (Cài đặt chân tín hiệu điều khiển) pinMode(DIRECTION_PIN_0, OUTPUT); pinMode(DIRECTION_PIN_1, OUTPUT); pinMode(SPEED_PIN, OUTPUT); pinMode(STEPPER_PUL, OUTPUT); pinMode(STEPPER_DIR, OUTPUT); } char data; (Đọc tín hiệu từ NodeMCU) void receiveEvent(int howMany) { while (0 = SPEED_SOLUTION) motor_speed-=SPEED_SOLUTION; break;} case '7': {steppermode=!steppermode; break;} } } } (Vòng lặp) void loop() { if (steppermode == 0) { if(run_stop == RUN) { if(motor_speed < SPEED_SOLUTION) { motor_speed = MIN_SPEED; } step_delay = map(motor_speed, 0, 250, 70, 30); num_of_performed_step = map(motor_speed, 0, 250, 0,750); if(direction == FORWARD) { motorRun(FORWARD, motor_speed); stepperRun(FORWARD, step_delay, num_of_performed_step); } else { motorRun(REVERSE, motor_speed); stepperRun(REVERSE, step_delay, num_of_performed_step); } } else { motor_speed = 0; step_delay = 0; num_of_performed_step = 1; motorRun(FORWARD, 0); } } else 43 { if(run_stop == RUN) { if(motor_speed < SPEED_SOLUTION) { motor_speed = MIN_SPEED; } step_delay = 30; num_of_performed_step = 750; motor_speed = 0; motorRun(FORWARD, motor_speed); if(direction == FORWARD) { stepperRun(FORWARD, step_delay, num_of_performed_step); } else { stepperRun(REVERSE, step_delay, num_of_performed_step); } } } } else { motor_speed = 0; step_delay = 0; num_of_performed_step = 1; motorRun(FORWARD, 0); } void motorRun(uint8_t direction, uint8_t speed) (Khai báo hàm chạy động cơ) { if(lastdir != direction){ delay(1000);} else{}; if(direction == FORWARD) { digitalWrite(DIRECTION_PIN_0, LOW); digitalWrite(DIRECTION_PIN_1, HIGH); lastdir=FORWARD; } else { digitalWrite(DIRECTION_PIN_0, HIGH); digitalWrite(DIRECTION_PIN_1, LOW); lastdir=REVERSE; } analogWrite(SPEED_PIN, speed); } void stepperRun(uint8_t direction, uint8_t step_delay_time, uint32_t num_of_step) 44 (Khai báo hàm thu thả dây) { if(direction == FORWARD) { digitalWrite(STEPPER_DIR, HIGH); } else { digitalWrite(STEPPER_DIR, LOW); } for(uint32_t i = 0; i < num_of_step; i++) { digitalWrite(STEPPER_PUL, HIGH); delayMicroseconds(step_delay_time); digitalWrite(STEPPER_PUL, LOW); delayMicroseconds(step_delay_time); } } 3.3 Phần mềm máy tính: Phần mềm truy xuất camera Robot; hiển thị thông số cảm biến; điều khiển robot theo chế độ manual Chương trình máy tính gồm giao diện có chức sau: - Hiển thị hình ảnh từ camera gắn Robot (hình ảnh gửi từ board Rapsberry PI gắn Robot) - Hiển thị thông số nhiệt độ, độ ẩm từ cảm biến gắn robot - Có nút chức để điều khiển robot theo chế độ manual 3.3.1 Lưu đồ giải thuật phần mềm xử lý ảnh Hình 26: Lưu đồ giải thuật khối xử lý ảnh giao diện máy tính 45 Chương trình máy tính def show_frame(): global lastActive global lastActiveCheck global ESTIMATED_NUM_PIS global ACTIVE_CHECK_PERIOD global ACTIVE_CHECK_SECONDS top.after(10) #_, frame = cap.read() (rpiName, frame) = imageHub.recv_image() frame = cv2.resize(frame,(1600,800)) frame = cv2.flip(frame, 1) frame = frame+c cv2image = cv2.cvtColor(frame, cv2.COLOR_BGR2RGBA) img = Image.fromarray(cv2image) imgtk = ImageTk.PhotoImage(image=img) display1.imgtk = imgtk #Shows frame for display display1.configure(image=imgtk) ## ## nhiet_do_box.insert(0,s1.recv(1024)) do_am_box.insert(0,s2.recv(1024)) imageHub.send_reply(b'OK') if rpiName not in lastActive.keys(): print("[INFO] receiving data from {} ".format(rpiName)) lastActive[rpiName] = datetime.now() #cv2.imshow('frame',frame) key = cv2.waitKey(1) & 0xFF if (datetime.now() - lastActiveCheck).seconds > ACTIVE_CHECK_SECONDS: for (rpiName, ts) in list(lastActive.items()): if (datetime.now() - ts).seconds > ACTIVE_CHECK_SECONDS: print("[INFO] lost connection to {}".format(rpiName)) lastActive.pop(rpiName) frameDict.pop(rpiName) # set the last active check time as current time lastActiveCheck = datetime.now() top.update() #top.after(10) ###### .***KIEM TRA CAM BIEN******####### def ktnhiet(): sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) sock.sendto(b't',(host,port)) nhiet_do_box.delete(0,5000) #print(sock.recv(1024)) nhiet_do_box.insert(0,sock.recv(1024)) 46 sock.close() def ktdoam(): sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) sock.sendto(b'hh',(host,port)) do_am_box.delete(0,5000) #print(sock.recv(1024)) do_am_box.insert(0,sock.recv(1024)) sock.close() ######### ****DIEU KHIEN DONG CO*********###### def start(): sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # UDP sock.sendto(b'4', (UDP_IP, UDP_PORT)) def stop(): sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # UDP sock.sendto(b'3', (UDP_IP, UDP_PORT)) def forward(): sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # UDP sock.sendto(b'1', (UDP_IP, UDP_PORT)) def backward(): sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # UDP sock.sendto(b'2', (UDP_IP, UDP_PORT)) def increase(): sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # UDP sock.sendto(b'5', (UDP_IP, UDP_PORT)) def decrease(): sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # UDP sock.sendto(b'6', (UDP_IP, UDP_PORT)) def thu(): sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # UDP sock.sendto(b'7', (UDP_IP, UDP_PORT)) ########### DIEU KHIEN CAMERA*********######### ####xu_ly_anh### def tang_do_sang(): global c c = c+5 def giam_do_sang(): global c c = c-5 47 def tang_do_tuong_phan(): global c c = c*2 def giam_do_tuong_phan(): global c if c > 4: c=c/2 def Camera_up(): global H global x if(H>0): sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # UDP sock.sendto(b'1', (hostc,portc)) H=H-x if(H0): sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) # UDP sock.sendto(b'4444', (hostc,portc)) V=V-y if(V