NGHIÊN cứu CHẾ tạo ROBOT THĂM dò, lấy mẫu và KHẢO sát môi TRƯỜNG

85 6 0
NGHIÊN cứu CHẾ tạo ROBOT THĂM dò, lấy mẫu và KHẢO sát môi TRƯỜNG

Đ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

Nhận thấy những công việc ở những khoảng không gian chật hẹp hay môi trường độc hại mà con người khó có thể tiếp cận đến, em đã quyết định lựa chọn đề tài “Nghiên cứu chế tạo Robot thăm dò, lấy mẫu và khảo sát môi trường” để khảo sát những nơi có vị trí không phù hợp với con người đồng thời gửi dữ liệu hình ảnh về máy tính, từ đó có thể đưa ra những đánh giá cụ thể về vị trí cần khảo sát

BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ NÔNG NGHIỆP VÀ PTNT TRƯỜNG ĐẠI HỌC THỦY LỢI HOÀNG TUẤN HIỆP NGHIÊN CỨU CHẾ TẠO ROBOT THĂM DÒ, LẤY MẪU VÀ KHẢO SÁT MÔI TRƯỜNG Ngành : Mã số: Kỹ thuật điều khiển Tự động hóa TLA121 NGƯỜI HƯỚNG DẪN TS Ngơ Quang Vĩ HÀ NỘI, NĂM 2023 CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc  NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: HOÀNG TUẤN HIỆP Hệ đào tạo: Đại học quy Lớp: 60TĐH2 Ngành: Kỹ thuật điều khiển tự động hóa Khoa: Điện- Điện tử 1- TÊN ĐỀ TÀI: NGHIÊN CỨU CHẾ TẠO ROBOT THĂM DÒ, LẤY MẪU VÀ KHẢO SÁT MÔI TRƯỜNG 2- CÁC TÀI LIỆU CƠ BẢN: [1] C đ A V Nam, "Arduino UNO R3 gì?," 22 2014 [Online] Available: http://arduino.vn/bai-viet/42-arduino-uno-r3-la-gi [2] L k đ t Nshop, "Giới thiệu mạch thu phát Wifi BLE ESP32-CAM Ai-Thinker, hướng dẫn cài đặt với Arduino IDE," [Online] Available: https://nshopvn.com/blog/gioi-thieu-mach-thu-phat-wifi-ble-esp32-cam-aithinker-huong-dan-su-dung-voi-arduino-thuc-hanh-lam-bo-mo-khoa-cua-nhandien-khuon-mat-bang-esp32-cam/ [3] L Phan, "[Thông tin] kỹ thuật NodeMCU ESP8266," 15 2022 [Online] Available: https://blog.mecsu.vn/nodemcuesp8266/#:~:text=NodeMCU%20l%C3%A0%20m%E1%BB%99t%20ph%E1% BA%A7n%20m%E1%BB%81m,m%C3%B4%2D%C4%91un%20ESP%2D12.[ 5] [4] K s t trẻ, "Hướng Dẫn Chi Tiết Lắp Ráp Xe Tank Mini Điều Khiển Bằng RF Có Cam FPV - Arduino | Kênh Sáng Tạo Trẻ," 16 2021 [Online] Available: https://www.youtube.com/watch?v=1KEUSHiY0EA&list=WL&index=5&t=3s [5] V S - T h o Creativity, "ESP32 CAM Blynk Multiple Camera Surveillance," 18 10 2020 [Online] Available: https://www.youtube.com/watch?v=PaiDT1t07DU&list=PL_a12lCzkoHFqRUY YLViEbvRoOZPE6TUV&index=29 [6] V S - T h o Creativity, "ESP32 CAM Rotation Control Pan Tilt axis Blynk," 25 10 2020 [Online] Available: https://www.youtube.com/watch?v=Z9XkNXzE3EQ&list=PL_a12lCzkoHFqRU YYLViEbvRoOZPE6TUV&index=28&t=24s [7] Đ T T L V NAM, "BLYNK LÀ GÌ," [Online] Available: http://iottuonglai.com/blynk-la-gi.html [8] H - Đ t & Robot., "Mạch Điều Khiển Động Cơ DC BTS7960 43A HighPower Motor Driver," [Online] Available: https://hshop.vn/products/mach-dieukhien-dong-co-dc-bts796043a-1-dong-co [9] L K Đ T I Đ RỒI, "Module 16 kênh PWM 12 bit điều khiển servo PCA9685," [Online] Available: https://icdayroi.com/module-16-kenh-pwm-12bit-dieu-khien-servo-pca9685 [10] Đ T T L V NAM, "PHẦN MỀM LẬP TRÌNH ARDUINO IDE LÀ GÌ," [Online] Available: https://dientutuonglai.com/arduino-ide-la-gi.html [11] L k đ t Nshop, "Động giảm tốc GA25 370 12V 130rpm," [Online] Available: https://nshopvn.com/product/dong-co-giam-toc-ga25-370-12v130rpm/ 3- NỘI DUNG CÁC PHẦN THUYẾT MINH VÀ TÍNH TOÁN: Nội dung phần Chương 1: Giới thiệu Chương 2: Thiết bị giải pháp công nghệ Tỷ lệ % 10% 30% Chương 3: Thiết kế thi công Robot - Nghiên cứu thiết kế robot Thi công chế tạo mơ hình Nạp chương trình phần mềm điều khiển Chương 4: Kết thực nghiệm 4- GIÁO VIÊN HƯỚNG DẪN TỪNG PHẦN Phần 40% 20% Họ tên giáo viên hướng dẫn Chương 1: Giới thiệu TS Ngô Quang Vĩ Chương 2: Thiết bị giải pháp công nghệ TS Ngô Quang Vĩ Chương 3: Thiết kế thi công Robot TS Ngô Quang Vĩ Chương 4: Kết thực nghiệm TS Ngô Quang Vĩ - NGÀY GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Ngày tháng năm 20 Trưởng Bộ môn (Ký ghi rõ Họ tên) Giáo viên hướng dẫn (Ký ghi rõ Họ tên) TS Ngô Quang Vĩ Nhiệm vụ Đồ án tốt nghiệp Hội đồng thi tốt nghiệp Khoa thông qua Ngày .tháng .năm 20 Chủ tịch Hội đồng (Ký ghi rõ Họ tên) Sinh viên hoàn thành nộp Đồ án tốt nghiệp cho Hội đồng thi ngày tháng năm 20 Sinh viên làm Đồ án tốt nghiệp (Ký ghi rõ Họ tên) Hoàng Tuấn Hiệp LỜI CAM ĐOAN Tác giả xin cam đoan Đồ án tốt nghiệp thân tác giả Các kết Đồ án tốt nghiệp trung thực, không chép từ nguồn hình thức nào.Việc tham khảo nguồn tài liệu (nếu có) thực trích dẫn ghi nguồn tài liệu tham khảo quy định Tác giả ĐATN Chữ ký Hoàng Tuấn Hiệp i LỜI CÁM ƠN Để hoàn thành tốt Đồ án tốt nghiệp, em xin gửi lời cảm ơn đến thầy cô khoa Điện – Điện Tử tạo điều kiện tốt cho chúng em hoàn thành đề tài Đặc biệt em xin gửi lời cảm ơn sâu sắc đến TS Ngô Quang Vĩ– Giảng viên khoa Điện – Điện Tử trực tiếp bảo ban, hướng dẫn tận tình giúp đỡ tạo điều kiện giúp em hoàn thành tốt đề tài Do chưa có nhiều kinh nghiệm thực tế hạn chế kiến thức, báo cáo chắn khơng tránh khỏi sai sót Em mong nhận nhận xét, ý kiến đóng góp, phê bình từ phía thầy để báo cáo em hoàn thiện Em xin chân thành cảm ơn! ii MỤC LỤC DANH MỤC CÁC HÌNH ẢNH vi DANH MỤC BẢNG BIỂU viii DANH MỤC CÁC TỪ VIẾT TẮT VÀ GIẢI THÍCH CÁC THUẬT NGỮ ix LỜI NÓI ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI .2 1.1 Đặt vấn đề 1.2 Mục tiêu đề tài 1.3 Nội dung nghiên cứu CHƯƠNG 2: THIẾT BỊ VÀ GIẢI PHÁP CÔNG NGHỆ 2.1 Arduino Uno R3 .4 2.2 Module điều khiển động 2.2.1 Module điều khiển động BTS7960 2.2.2 Module điều khiển động servo PCA9685 2.3 Vi xử lí khối camera .11 2.3.1 Kit RF thu phát wifi BLE ESP32 Camera 11 2.3.2 Module Wifi ESP8266 15 2.4 Thông số loại động sử dụng .18 2.4.1 Động giảm tốc GA25 370 12V 130rpm 18 2.4.2 Động RC servo MG90S SG90S 18 2.5 Tay cầm PS2 Không Dây .21 2.6 Linh kiện phụ trợ thiết kế điều khiển robot 21 2.6.1 Khối Pin 3S Lithium 12V 3500mAh 21 2.6.2 Công tắc gạt MTS-102 3A 250V .22 2.6.3 Module hạ áp DC 3A LM2596HVS 23 2.6.4 Bộ bánh xích xe tăng nhựa 23 2.6.5 Cánh tay robot mica 25 2.7 Sóng kết nối khơng dây: 25 iii 2.7.1 Sóng Wifi .25 2.7.2 Sóng Bluetooth 26 CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG ROBOT .28 3.1 Nghiên cứu thiết kế robot .28 3.1.1 Tính tốn thiết kế điều khiển robot 29 3.1.2 Tính tốn thiết kế điều khiển camera 30 3.2 Thi cơng chế tạo mơ hình .31 3.2.1 Ghép nối Arduino với module động .31 3.2.2 Ghép nối module động với nguồn 31 3.2.3 Ghép nối Arduino với mạch thu tín hiệu .32 3.2.4 Ghép nối Arduino với Module PCA9685 động MG90S .33 3.2.5 Khối hình ảnh ESP32-CAM Bluetooth Camera OV2640 33 3.2.6 Kết nối Module ESP8266 với động SG90S điều khiển góc quay camera .34 3.2.7.Sơ đồ kết nối tổng thể: 35 3.3 Nạp chương trình phần mềm điều khiển 35 3.3.1 Cơ sở lý thuyết app Blynk 35 3.3.2 Cách hoạt động Blynk 36 3.3.3 Tính đặc điểm Blynk .37 3.3.4 Những thứ cần để sử dụng Blynk 37 3.3.5 Các bước cài đặt blynk 38 3.3.6 Cơ sở lý thuyết Arduino IDE 40 3.3.7 Nạp chương trình cho module ESP32 45 3.3.7.1 Chuẩn bị Arduino IDE 45 3.3.7.2 Chương trình nạp 47 CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM 50 4.1 Nguyên lí hoạt động mơ hình 50 4.2 Kết mơ hình .51 4.2.1 Kết mơ hình camera 51 4.2.2 Kết mơ hình tổng thể robot 51 4.3 Kết thực nghiệm .53 iv 4.3.1 Kết thực nghiệm mơ hình robot 53 4.3.2 Kết thực nghiệm mơ hình camera 54 KẾT LUẬN VÀ KIẾN NGHỊ .56 TÀI LIỆU THAM KHẢO .58 PHỤ LỤC 60 v DANH MỤC CÁC HÌNH ẢNH Hình 2.1: Hình ảnh Arduino Uno R3 Hình 2.2: Vi điều khiển Atmega328 Hình 2.3: Sơ đồ chân Module điều khiển động BTS7960 Hình 2.4: Module điều khiển động servo PCA9685 10 Hình 2.5: Module ESP32 Camera 11 Hình 2.6: Sơ đồ chân Module ESP32 Camera 13 Hình 2.7: Mạch điều khiển mạch nạp module ESP32 camera 13 Hình 2.8: Module Wifi ESP8266 15 Hình 2.9: Sơ đồ chân module NodeMCU ESP8266 .16 Hình 2.10: Động giảm tốc GA25 370 12V 130rpm 18 Hình 2.11: Kích thước động GA25 370 12V 130rpm 18 Hình 2.12: Động RC servo MG90S 19 Hình 2.13: Động SG90S 20 Hình 2.14: Tay cầm PS2 Không Dây 21 Hình 2.15: Khối pin 3S Lithium 12V 3500mAh 22 Hình 2.16: Công tắc MTS-102 3A 250V 22 Hình 2.17: Module hạ áp DC 3A LM2596HVS 23 Hình 2.18: Bộ bánh xích xe tank nhựa 24 Hình 2.19: Cánh tay robot mica bậc 25 Hình 2.20: Mạng wifi 26 Hình 2.21: Sóng bluetooth .27 Hình 3.1: Sơ đồ khối phần điều khiển robot 29 Hình 3.2: Sơ đồ khối phần điều khiển camera 30 Hình 3: Sơ đồ ghép nối Arduino với Module điều khiển động BTS7960 31 Hình 3.4: Sơ đồ ghép nối nguồn với Module BTS7960 động .32 Hình 3.5: Ghép nối Arduino với mạch thu tín hiệu PS2 32 Hình 3.6: Ghép nối điều khiển động cánh tay robot .33 Hình 3.7: Cấp nguồn cho Module ESP32-CAM trực tiếp qua chân GND 5V 33 vi TÀI LIỆU THAM KHẢO [1] C đ A V Nam, "Arduino UNO R3 gì?," 22 2014 [Online] Available: http://arduino.vn/bai-viet/42-arduino-uno-r3-la-gi [2] L k đ t Nshop, "Giới thiệu mạch thu phát Wifi BLE ESP32-CAM Ai-Thinker, hướng dẫn cài đặt với Arduino IDE," [Online] Available: https://nshopvn.com/blog/gioi-thieu-mach-thu-phat-wifi-ble-esp32-cam-aithinker-huong-dan-su-dung-voi-arduino-thuc-hanh-lam-bo-mo-khoa-cua-nhandien-khuon-mat-bang-esp32-cam/ [3] L Phan, "[Thông tin] kỹ thuật NodeMCU ESP8266," 15 2022 [Online] Available: https://blog.mecsu.vn/nodemcuesp8266/#:~:text=NodeMCU%20l%C3%A0%20m%E1%BB%99t%20ph%E1% BA%A7n%20m%E1%BB%81m,m%C3%B4%2D%C4%91un%20ESP%2D12.[ 5] [4] K s t trẻ, "Hướng Dẫn Chi Tiết Lắp Ráp Xe Tank Mini Điều Khiển Bằng RF Có Cam FPV - Arduino | Kênh Sáng Tạo Trẻ," 16 2021 [Online] Available: https://www.youtube.com/watch?v=1KEUSHiY0EA&list=WL&index=5&t=3s [5] V S - T h o Creativity, "ESP32 CAM Blynk Multiple Camera Surveillance," 18 10 2020 [Online] Available: https://www.youtube.com/watch?v=PaiDT1t07DU&list=PL_a12lCzkoHFqRUY YLViEbvRoOZPE6TUV&index=29 [6] V S - T h o Creativity, "ESP32 CAM Rotation Control Pan Tilt axis Blynk," 25 10 2020 [Online] Available: https://www.youtube.com/watch?v=Z9XkNXzE3EQ&list=PL_a12lCzkoHFqRU YYLViEbvRoOZPE6TUV&index=28&t=24s [7] Đ T T L V NAM, "BLYNK LÀ GÌ," [Online] Available: http://iottuonglai.com/blynk-la-gi.html [8] H - Đ t & Robot., "Mạch Điều Khiển Động Cơ DC BTS7960 43A HighPower Motor Driver," [Online] Available: https://hshop.vn/products/mach-dieukhien-dong-co-dc-bts796043a-1-dong-co [9] L K Đ T I Đ RỒI, "Module 16 kênh PWM 12 bit điều khiển servo PCA9685," [Online] Available: https://icdayroi.com/module-16-kenh-pwm-12bit-dieu-khien-servo-pca9685 [10] Đ T T L V NAM, "PHẦN MỀM LẬP TRÌNH ARDUINO IDE LÀ GÌ," [Online] Available: https://dientutuonglai.com/arduino-ide-la-gi.html [11] L k đ t Nshop, "Động giảm tốc GA25 370 12V 130rpm," [Online] Available: https://nshopvn.com/product/dong-co-giam-toc-ga25-370-12v- 58 130rpm/ [12] K C Minh, "Hướng dẫn tạo tài khoản thiết lập với Blynk New 2.0 | Tự học IoT (P1)," 29 11 2021 [Online] Available: https://www.youtube.com/watch?v=lp93f4tFqh4&list=WL&index=17 [13] Đ H Toàn, "Kết nối tay game PlayStation với Arduino," 2016 [Online] Available: http://arduino.vn/bai-viet/931-ket-noi-tay-game-playstation-voiarduino [14] C đ A V Nam, "Điều khiển từ xa," [Online] Available: http://arduino.vn/tags/dieu-khien-tu-xa [15] Aliexpress, "ESP32-CAM-MB WIFI Bluetooth Development Board OV2640 Camera Module Support Picture Shoot Video Preview Micro USB to Serial Port," [Online] Available: https://www.aliexpress.us/item/3256801686831667.html?gatewayAdapt=glo2usa &_randl_shipto=US [16] TOTOLINK, "Wifi gì? Wifi hoạt động nào," 04 07 2019 [Online] Available: https://www.totolink.vn/article/61-cac-chuan-loai-ket-noi-wifi-phobien.html [17] Wikipedia, "Bluetooth," 01 01 2023 [Online] Available: https://vi.wikipedia.org/wiki/Bluetooth 59 PHỤ LỤC CODE ĐIỀU KHIỂN XE VÀ CÁNH TAY ROBOT: #include"Robot.h" #include #include #include #include"PCA9685.h" PCA9685 pwmController(Wire); PCA9685_ServoEval pwmServo1; PCA9685_ServoEval pwmServo2(128,324,526); PCA9685_ServoEval pwmServo3; PCA9685_ServoEval pwmServo4; PS2X ps2x; int error = 0; byte type = 0; byte vibrate = 0; int ly; int lx; int ry; int rx; int spr; int spl; int gocr = -40; int gocl = -25; int gocx = 0; int gocy = 20; int sa = 10; int sb = 10; int sx = 10; int sy = 10; 60 unsigned long timea, timeb, timec, timed; unsigned long timex, timex2, timey, timey2; void setup(){ pinMode(m11,OUTPUT); pinMode(m12,OUTPUT); pinMode(m21,OUTPUT); pinMode(m22,OUTPUT); Wire.begin(); pwmController.resetDevices(); pwmController.init(); pwmController.setPWMFreqServo(); Serial.begin(57600); error = ps2x.config_gamepad(10,12,11,13, true, true); //(clock, command, attention, data, Pressures?, Rumble?) if(error == 0){ Serial.println("Found Controller, configured successful"); Serial.println("Try out all the buttons, X will vibrate the controller, faster as you press harder;"); Serial.println("holding L1 or R1 will print out the analog stick values."); Serial.println("Go to www.billporter.info for updates and to report bugs."); } else if(error == 1) Serial.println("No controller found, check wiring, see readme.txt to enable debug"); else if(error == 2) Serial.println("Controller found but not accepting commands see readme.txt to enable debug"); 61 else if(error == 3) Serial.println("Controller refusing to enter Pressures mode, may not support it "); type = ps2x.readType(); switch(type) { case 0: Serial.println("Unknown Controller type"); break; case 1: Serial.println("DualShock Controller Found"); break; case 2: Serial.println("GuitarHero Controller Found"); break; } } int sltruoc = 0, solansl = 0; void loop(){ hienthi(); if(sltruoc != ps2x.Button(PSB_SELECT)&& ps2x.Button(PSB_SELECT) ){ solansl++; }sltruoc = ps2x.Button(PSB_SELECT); if(solansl % == 0){ goc2(); }else{ jt_goc(); } goc1(); // Hàm bấm nút trả giá trị góc cho servo rex(); // Hàm điều khiển động di chuyển arm(); // Tay robot 62 Serial.println(solansl); } void arm(){ pwmController.setChannelPWM(0, pwmServo1.pwmForAngle(gocx)); pwmController.setChannelPWM(1, pwmServo2.pwmForAngle(gocy)); pwmController.setChannelPWM(2, pwmServo3.pwmForAngle(gocr)); pwmController.setChannelPWM(3, pwmServo4.pwmForAngle(gocl)); } void rex(){ int speedd = map(ly,0,255,255,-255); int derec = map(lx,0,255,-255,255); if( derec >= 20 && speedd >= || derec = 0){ spl = constrain(speedd + derec, -255, 255); spr = constrain(speedd - derec, -255, 255); } if( derec >= 30 && speedd < || derec -20 && derec < 20){ spr = speedd; spl = speedd; } Serial.print(spl); Serial.print(" "); Serial.println(spr); runn(spr,spl); } 63 void goc1(){ if(ps2x.Button(PSB_R2)){ if(millis() - timea > sa && gocr sa && gocr >= -70){ gocr ; timeb = millis(); } }else{ timeb = millis(); } // if(ps2x.Button(PSB_R2) && ps2x.Button(PSB_R1)){ // gocr = -40; // } //========================================================== if(ps2x.Button(PSB_L1)){ if(millis() - timec > sb && gocl sb && gocl >= -90){ gocl ; timed = millis(); } }else{ timed = millis(); } if(ps2x.Button(PSB_L2) && ps2x.Button(PSB_L1)){ gocl = -25; } } void goc2(){ if(ps2x.Button(PSB_PINK)){ if(millis() - timey > sy && gocx < 90){ gocx++; timex = millis(); } }else{ timex = millis(); } if(ps2x.Button(PSB_RED)){ if(millis() - timey2 > sy && gocx > -90){ gocx ; timex2 = millis(); } }else{ timex2 = millis(); } //======================================================== if(ps2x.Button(PSB_BLUE)){ 65 if(millis() - timey > sy && gocy sy && gocy >= -30){ gocy ; timey2 = millis(); } }else{ timey2 = millis(); } } void jt_goc(){ // dùng joytick để chỉnh góc tay cầm if( rx > || rx < -2){ if(millis() - timex >= sx && gocx != rx){ if(gocx < rx){ gocx++; } if( gocx > rx){ gocx ; } timex = millis(); } } if( ry > 22 || rx < 18){ 66 if(millis() - timey >= sy && gocy != ry){ if(gocy < ry){ gocy++; } if( gocy > ry){ gocy ; } timey = millis(); }else if(gocy == ry && !ps2x.Button(PSB_R3)){ gocy = ry; } } } void runn(int a, int b){ if(a > 0){ analogWrite(m11,a); digitalWrite(m12,0); }else if(a 0){ analogWrite(m21,b); digitalWrite(m22,0); }else if(b id.PID == OV3660_PID) { s->set_vflip(s, 1); // flip it back s->set_brightness(s, 1); // up the brightness just a bit 71 s->set_saturation(s, -2); // lower the saturation } // drop down frame size for higher initial frame rate s->set_framesize(s, FRAMESIZE_QVGA); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); startCameraServer(); Serial.print("Camera Ready! Use 'http://"); Serial.print(WiFi.localIP()); local_IP = WiFi.localIP().toString(); Serial.println("' to connect"); Blynk.begin(auth, ssid, password); } void loop() { // put your main code here, to run repeatedly:- vong lap Blynk.run(); if(digitalRead(PHOTO) == HIGH){ takePhoto(); } } 72 ... cho người điều khiển 1.3 Nội dung nghiên cứu Để hoàn thành đồ án ? ?Nghiên cứu chế tạo Robot thăm dò, lấy mẫu khảo sát môi trường? ?? phải thực nội dung sau: + Nghiên cứu tài liệu giao tiếp không giây... không gian chật hẹp hay mơi trường độc hại mà người khó tiếp cận đến, em định lựa chọn đề tài ? ?Nghiên cứu chế tạo Robot thăm dò, lấy mẫu khảo sát môi trường? ?? để khảo sát nơi có vị trí khơng phù... TUẤN HIỆP Hệ đào tạo: Đại học quy Lớp: 60TĐH2 Ngành: Kỹ thuật điều khiển tự động hóa Khoa: Điện- Điện tử 1- TÊN ĐỀ TÀI: NGHIÊN CỨU CHẾ TẠO ROBOT THĂM DỊ, LẤY MẪU VÀ KHẢO SÁT MƠI TRƯỜNG 2- CÁC TÀI

Ngày đăng: 09/01/2023, 00:11