1. Trang chủ
  2. » Giáo Dục - Đào Tạo

NGHIÊN cứu và THIẾT kế mô HÌNH hệ THỐNG hồ cá hỗ TRỢ NUÔI cá KOI

77 13 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

Nội dung

TÊN ĐỀ TÀI: NGHIÊN CỨU VÀ THIẾT KẾ MƠ HÌNH HỆ THỐNG HỒ CÁ HỖ TRỢ NUÔI CÁ KOI Năm: 2022 Huỳnh Đặng Bảo Trung ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT KHOA ĐIỆN – ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH: ĐIỆN - ĐIỆN TỬ CHUYÊN NGÀNH: CÔNG NGHỆ KỸ THUẬT ĐIỆN - ĐIỆN TỬ ĐỀ TÀI: NGHIÊN CỨU VÀ THIẾT KẾ MÔ HÌNH HỆ THỐNG HỒ CÁ HỖ TRỢ NI CÁ KOI Người hướng dẫn Sinh viên thực Mã Sinh viên Lớp : : : : TS Trần Hoàng Vũ Huỳnh Đặng Bảo Trung 1811505120249 18D4 Đà Nẵng, 6/2022 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT KHOA ĐIỆN – ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH: ĐIỆN – ĐIỆN TỬ CHUYÊN NGÀNH: CÔNG NGHỆ KỸ THUẬT ĐIỆN - ĐIỆN TỬ ĐỀ TÀI: NGHIÊN CỨU VÀ THIẾT KẾ MƠ HÌNH HỆ THỐNG HỒ CÁ HỖ TRỢ NUÔI CÁ KOI Người hướng dẫn Sinh viên thực Mã Sinh viên Lớp : : : : TS Trần Hoàng Vũ Huỳnh Đặng Bảo Trung 1811505120249 18D4 Đà Nẵng, 6/2022 TÓM TẮT Tên đề tài: Nghiên cứu, thiết kế mơ hình hệ thống hồ cá hỗ trợ ni cá Koi Sinh viên thực hiện: Huỳnh Đặng Bảo Trung Mã SV: 1811505120249 Lớp: 18D4 Đề tài xây dựng ESP32 với App Blynk số linh kiện khác với mục đích theo dõi quan sát số hồ cá Koi chăm sóc chúng lúc ta khơng có thời gian Sản phẩm giúp cho người dùng vừa thêm phần tiện ích, vừa thêm phần thân thiện cho người sử dụng ESP32 giúp ta có nhìn bao qt lập trình ứng dụng thực tế mà điển hình việc tích hợp vào hồ cá Ở đề tài này, ESP vai trò thiết bị thu thập liệu từ cảm biến điều khiển động Việc kết nối qua thiết bị thông minh Smartphone điều vô tiện ích Blynk công cụ hỗ trợ điều cực tốt Với Blynk app blynk server phát triển sẵn để phù hợp với vi điều khiển Arduino, ESP 8266 ESP32 ngoại lệ Blynk giúp giúp ta hiểu cách tạo app kết nối thiết bị với từ ESP32 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN – ĐIỆN TỬ Độc lập - Tự - Hạnh phúc NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Giảng viên hướng dẫn: TS Trần Hoàng Vũ Sinh viên thực hiện: Huỳnh Đặng Bảo Trung Mã SV: 1811505120249 Tên đề tài : NGHIÊN CỨU, THIẾT KẾ MƠ HÌNH HỆ THỐNG HỒ CÁ HỖ TRỢ NUÔI CÁ KOI Các số liệu, tài liệu ban đầu: Số liệu: Sử dụng giao thức để truyền dẫn đồng hóa theo thời gian Các tín hiệu hiển thị đến người dùng dạng số biểu đồ cập nhật theo thời gian - Sử dụng cảm biến PH, nhiệt độ để lấy liệu - Sử dụng Board mạch ESP32 cho phép kết nối App thông qua giao thức sử dụng mạng Wifi, 4G Tài liệu ban đầu: - - Tìm hiểu thơng tin qua trạng mạng tham khảo tài liệu - Tra cứu thông tin linh kiện - Tài liệu công nghệ IOT - Cộng đồng arduino Việt Nam - Tham khảo thêm kinh nghiệm thực tế Những nội dung chính: Tìm hiểu thiết kế chế tạo hệ thống hỗ trợ nuôi cá Koi sử dụng cho hộ gia đình sản xuất cá Koi thơng qua web server Chương 1: Tổng Quan chung Trình bày đặt vấn đề dẫn nhập lý chọn đề tài, mục tiêu, nội dung nghiên cứu, giới hạn thông số bố cục đồ án Chương 2: Cơ Sở Lý Thuyết Trình bày lý thuyết có liên quan đến vấn đề mà đề tài dùng để thực thiết kế, thi công cho đề tài Chương 3: Thiết Kế Thi Công Giới thiệu tổng quan yêu cầu đề tài mà thiết kế gồm phần Thiết kế sơ đồ khối hệ thống, sơ đồ nguyên lý khối tính tốn thiết kế mạch Trình bày sở lí thuyết, linh kiện, mạch in, q trình thực hiện, lắp đặt hệ thống Vẽ lưu đồ thuật toán, chương trình cho sản phẩm Chương 4: Kết quả, nhận xét, đánh giá hướng phát triển Trình bày kết sản phẩm Đưa nhận xét, đánh giá nhóm trướng, sau làm đề tài - Đúc kết làm đưa hướng phát triển cho sản phẩm Các sản phẩm dự kiến - - Hồn thành sản phẩm giám sát đo tham số yêu cầu đề - Báo cáo tổng kết đồ án tốt nghiệp Ngày giao đồ án: 15/1/2022 Ngày nộp đồ án: 3/6/2022 Đà Nẵng, Ngày… Tháng … Năm 2022 Trưởng Bộ mơn Người hướng dẫn LỜI NĨI ĐẦU Để hồn thành đề tài này, lời cho phép em gửi lời cảm ơn chân thành đến tất quý thầy cô 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, thầy tận tình dạy hướng dẫn, trang bị cho em kiến thức tảng chuyên ngành quan trọng, qua giúp em có sở lý thuyết vững vàng tạo điều kiện tốt cho em để thực tốt đề tài Đặc biệt, em xin chân thành cảm ơn thầy Trần Hoàng Vũ tận tình giúp đỡ đưa định hướng nghiên cứu hướng giải số vấn đề để em hoàn thành tốt đề tài Trong thời gian làm việc với thầy, em không ngừng tiếp thu thêm nhiều kiến thức dạy từ thầy, thái độ nghiêm túc, hiệu Đây điều quan trọng cần thiết trình học tập làm việc em sau Tuy em cố gắng hết sức, điều kiện thời gian kinh nghiệm thực tế em chưa nhiều, nên đề tài số thiếu sót Vì vậy, em mong nhận đóng góp ý kiến từ thầy, giáo i CAM ĐOAN Đề tài “Nghiên cứu, thiết kế mơ hình hệ thống hồ cá hỗ trợ nuôi cá Koi” em tự thực hướng dẫn thầy Trần Hoàng Vũ dựa vào số tài liệu trước khơng chép từ tài liệu hay cơng trình có trước Những thơng số hay số liệu đề tài chưa bảo vệ hay báo cáo trước Những trích dẫn, ghi chú, số liệu, hình ảnh đề tài ghi tên nguồn gốc rõ ràng Em cam đoan lời thật trung thực, có phát giác em xin chịu trách nhiệm Đã bổ sung, cập nhật theo yêu cầu Giảng viên phản biện Hội đồng chấm Đồ án tốt nghiệp họp 17, 18/6/2022 Sinh viên thực {Chữ ký, họ tên sinh viên} Huỳnh Đặng Bảo Trung i MỤC LỤC LỜI NÓI ĐẦU .i CAM ĐOAN i MỤC LỤC ii DANH SÁCH CHỮ VIẾT TẮT vii MỞ ĐẦU Chương 1: TỔNG QUAN VỀ CÁ KOI VÀ KỸ THUẬT NUÔI CÁ KOI 1.1 Giới thiệu chương 1.2 Tổng quan cá Koi 1.2.1 Giới thiệu cá Koi 1.2.2 Ý nghĩa cá Koi 1.3 Yêu cầu hồ nuôi cá Koi 1.4 Nước hồ nuôi cá Koi 1.5 Thức ăn cho cá Koi 1.6 Nhiệt độ nuôi cá Koi 1.7 Oxi cho cá Koi 1.8 Ánh sáng cho cá Koi 1.9 Tổng kết chương Chương 2: CƠ SỞ LÝ THUYẾT VỀ CÔNG NGHỆ 10 2.1 Giới thiệu chương 10 2.2 Giới thiệu hồ cá thông minh 10 2.3 Tìm hiểu Arduino ESP32 10 2.3.1 Giới thiệu Arduino 10 2.3.2 Giới thiệu ESP32 11 2.3.3 Cài đặt Arduino IDE cài đặt lập trình cho ESP 32 12 2.3.4 Tìm hiểu ngơn ngữ lập trình Arduino ESP32 15 2.4 Blynk 16 2.4.1 Giới thiệu Blynk 16 2.4.2 Tính Blynk 16 2.4.3 Nguyên lý Blynk 17 2.5 Cảm biến độ đục 18 2.5.1 Thông số Kỹ thuật cảm biến đo độ đục 18 2.5.2 Sơ đồ kết nối cảm biến đo độ đục 18 2.6 LED THANH 12V 19 2.6.1 Giới thiệu led 12V 19 ii 2.6.2 Thông số Led 12V 19 2.7 Cảm biến PH 19 2.7.1 Giới thiệu cảm biến PH 19 2.7.2 Thông số kĩ thuật cảm biến PH 20 2.7.3 Các chân tín hiệu sơ đồ kết nối chân cảm biến PH 20 2.8 Cảm biến nhiệt độ DS18b20 21 2.8.1 Giới thiệu DS18b20 21 2.8.2 Thông số kĩ thuật DS18b20 22 2.8.3 Sơ đồ chân DS18b20 22 2.9 Các hệ thống bơm 22 2.9.1 Bơm lọc bể 22 2.9.2 Bơm Oxy 23 2.10 Relay 24 2.10.1 Giới thiệu Relay 24 2.10.2 Cấu tạo Relay 24 2.10.3 Nguyên lý hoạt động Relay 24 2.11 Mạch Buck 25 2.11.1 Giới thiệu mạch Buck 25 2.11.2 Nguyên lý mạch Buck 25 2.12Tổng Kết chương 26 Chương 3: THIẾT KẾ VÀ THI CÔNG 27 3.1 Giới thiệu chương 27 3.2 Sơ đồ khối tổng quát hệ thống: 27 3.2.1 Giải thích cách hoạt động hệ thống 27 3.2.2 Mô tả thiết kế khối chức hệ thống 28 3.2.3 Phân tích luồng sơ đồ hệ thống 28 3.3 Các bước thi công phần cứng sản phẩm 29 3.3.1 Xây dựng kết cấu bể cá 29 3.3.2 Kết nối cảm biến 31 3.3.3 Kết nối thiết bị ngoại vi 31 3.3.4 Kết nối mạch Buck, Relay ESP32 32 3.3.5 Kết nối Relay vào ESP32 32 3.3.6 Sản phẩm sau thi công xong phần cứng 32 3.4 Lập trình cho sản phẩm 32 3.4.1 Lưu đồ thuật toán 32 3.4.2 Lập trình cho ESP32 34 3.5 Thiết kế App Blynk 44 iii 3.5.1 Giới thiệu App 44 3.5.2 Tạo App thiết kế App 44 3.5.3 Lập trình cho App 49 3.6 Kết luận chương 60 Chương 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61 4.1 Kết 61 4.2 Nhận xét đánh giá 61 4.2.1 Ưu điểm hệ thống 62 4.2.2 Nhược điểm hệ thống 62 4.3 Kết luận 62 4.4 Hướng phát triển cho đề tài 62 TÀI LIỆU THAM KHẢO 63 iv Nghiên cứu thiết kế mô hình hệ thống hồ cá hỗ trợ ni cá Koi Cuối Upload tồn phần lập trình mục 3.4.2 để hệ thống hoạt động Và sau toàn code sản phẩm: //acc : beca_thongminh@gmail.com //pass: abc123456 #include #define BLYNK_PRINT Serial #include #include #include // id người dùng gmail đăng kí char auth[] = "DJPhtSulWe4RTYKEn0Y0ooYdsjNRoV6l"; // khai báo chân cho hệ thống loa #define LOA // khai báo chân 16 cho hệ thống bơm oxi #define BOM_OXI 16 // khai báo chân 23 cho hệ thống cho cá ăn #define Ca_An 23 // khai báo chân cho hệ thống sưởi #define Suoi 13 // khai báo chân cho hệ thống làm mát #define Lam_Mat // khai báo chân cho hệ thống wifi bao gồm id password char ssid[] = "wifi test"; char pass[] = "12345678"; // khai báo biến sử dụng cho ngắt SimpleTimer timer; //============================================================ === // khai báo thư viện cho ds18b20 module (temperature sensor) #include Sinh viên thực Người hướng dẫn : Huỳnh Đặng Bảo Trung : TS Trần Hoàng Vũ 50 Nghiên cứu thiết kế mơ hình hệ thống hồ cá hỗ trợ ni cá Koi #include // khai báo chân 18 cho ds18b20 module #define ONE_WIRE_BUS 18 // khai báo giao thức oneWire OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); //============================================================ === // khai báo chân 35 cho cảm biến độ PH #define SensorPin 35 // khoảng bù lệch #define Offset 21.88 // khai báo số lần đo để tính trung bình #define ArrayLenth 40 // khai báo mảng để lưu giá trị tính trung gửi từ cảm biến int pHArray[ArrayLenth]; // khai báo số mảng int pHArrayIndex = 0; // khai báo giá trị ph giá trị điện độ dược từ cảm biến PH float pHValue, voltage_PH; // // khai báo chân 34 cho cảm biến Tds #define TdsSensorPin 34 // khai báo hiệu điện tham chiếu ADC esp32 #define VREF 3.3 // khai báo Tổng số điểm mẫu #define SCOUNT 30 // khai báo mảng để lưu giá trị đọc từ cảm biến (giá trị chưa tính tốn độ trong) int analogBuffer[SCOUNT]; Sinh viên thực Người hướng dẫn : Huỳnh Đặng Bảo Trung : TS Trần Hoàng Vũ 51 Nghiên cứu thiết kế mơ hình hệ thống hồ cá hỗ trợ nuôi cá Koi // khai báo mảng để lưu giá trị đọc từ cảm biến (giá trị tính tốn độ trong) int analogBufferTemp[SCOUNT]; // khai báo số mảng số copy int analogBufferIndex = 0, copyIndex = 0; float averageVoltage = 0, tdsValue = 0, temperature = 25, temperature_ac = 25; // khai báo hàm để tính giá trị trung bình int getMedianNum(int bArray[], int iFilterLen); //============================================================ === // khai báo biến giá trị cảnh báo cảm biến PH, cảm biến TDS, cảm biến nhiệt độ float alarm_PH, alarm_TDS, alarm_Temp; int count_oxi = 0, oxi_on = 0; BLYNK_CONNECTED() { // khai báo có virtual pin khai báo từ trang web Blynk.syncVirtual(V4, V5, V6); } // đọc giá trị từ esp32 gửi để điều khiển hệ thống cho cá ăn BLYNK_WRITE(V8) { int value = param.asInt(); digitalWrite(Ca_An, value); } // đọc giá trị từ esp32 gửi để điều khiển hệ thống bơm oxi BLYNK_WRITE(V7) { int value = param.asInt(); oxi_on = value; digitalWrite(BOM_OXI, value); } // đọc giá trị từ esp32 gửi để lưu giá trị vào biến cảm báo PH Sinh viên thực Người hướng dẫn : Huỳnh Đặng Bảo Trung : TS Trần Hoàng Vũ 52 Nghiên cứu thiết kế mơ hình hệ thống hồ cá hỗ trợ nuôi cá Koi BLYNK_WRITE(V4) { int value = param.asInt(); alarm_PH = value; } // đọc giá trị từ esp32 gửi lưu giá trị vào biến cảm báo TDS BLYNK_WRITE(V5) { int value = param.asInt(); alarm_TDS = value; } // đọc giá trị từ esp32 gửi lưu giá trị vào biến nhiệt độ điều khiển hệ thống làm mát sưởi BLYNK_WRITE(V6) { int value = param.asInt(); alarm_Temp = value; // nhiệt độ lớn nhiệt độ cảnh báo + if (temperature > (alarm_Temp + 2)){ // kích hoạt hệ thống làm mát digitalWrite(Suoi, LOW); digitalWrite(Lam_Mat, HIGH); } // nhiệt độ nhỏ nhiệt độ cảnh báo -2 else if (temperature < (alarm_Temp - 2)){ // kích hoạt hệ thống sưởi digitalWrite(Suoi, HIGH); digitalWrite(Lam_Mat, LOW); } else{ Sinh viên thực Người hướng dẫn : Huỳnh Đặng Bảo Trung : TS Trần Hoàng Vũ 53 Nghiên cứu thiết kế mơ hình hệ thống hồ cá hỗ trợ nuôi cá Koi // ngắt hệ thống sưởi hệ thống làm mát digitalWrite(Suoi, LOW); digitalWrite(Lam_Mat, LOW); } } //============================================================ ==== // hàm đọc giá trị nhiệt độ (temperature sensor) float readTemperature() { sensors.requestTemperatures(); return sensors.getTempCByIndex(0); } void setup() { // thiết lập output hệ thống pinMode(LOA, OUTPUT); pinMode(BOM_OXI, OUTPUT); pinMode(Ca_An, OUTPUT); pinMode(Suoi, OUTPUT); pinMode(Lam_Mat, OUTPUT); digitalWrite(LOA, LOW); digitalWrite(BOM_OXI, LOW); digitalWrite(Ca_An, LOW); digitalWrite(Suoi, LOW); digitalWrite(Lam_Mat, LOW); delay(3000); // Serial.begin(9600); // khai báo với tds sensor pinMode(TdsSensorPin, INPUT); Sinh viên thực Người hướng dẫn : Huỳnh Đặng Bảo Trung : TS Trần Hoàng Vũ 54 Nghiên cứu thiết kế mơ hình hệ thống hồ cá hỗ trợ nuôi cá Koi // -// thiết lập kết nối wifi từ id pass WiFi.begin(ssid, pass); // thiết lập blynk Blynk.config(auth); // khai báo hàm ngắt timer với thời gian 1000 ms = 1s ngắt lần để chạy hàm MainFunction timer.setInterval(1000L, MainFunction); } void loop() { // kiểm tra xem có wifi khơng có cho chạy blynk if (WiFi.status() == WL_CONNECTED) Blynk.run(); // chạy hàm ngắt timer.run(); // -// đọc thời gian chạy từ chương trình static unsigned long analogSampleTimepoint = millis(); // kiểm tra khoảng thời gian chạy chương trình đủ 40 ms chưa để đọc giá trị cảm biến if (millis() - analogSampleTimepoint > 40U) { // // đọc thời gian chạy chương trình cập nhật cho biến analogSampleTimepoint để so sánh thời gian chệch lệch có đủ 40 ms không analogSampleTimepoint = millis(); // đọc giá trị từ cảm biến TDS analogBuffer[analogBufferIndex] = analogRead(TdsSensorPin); analogBufferIndex++; // analogBufferIndex đủ SCOUNT (30) reset giá trị analogBufferIndex =0 if (analogBufferIndex == SCOUNT) Sinh viên thực Người hướng dẫn : Huỳnh Đặng Bảo Trung : TS Trần Hồng Vũ 55 Nghiên cứu thiết kế mơ hình hệ thống hồ cá hỗ trợ ni cá Koi analogBufferIndex = 0; // -// đọc giá trị từ cảm biến PH pHArray[pHArrayIndex++] = analogRead(SensorPin); // số lần đo PH ArrayLenth (40) if (pHArrayIndex == ArrayLenth) { // reset giá trị pHArrayIndex = pHArrayIndex = 0; // tính giá trị trung bình từ mảng pHArray chuyển qua giá trị volt tương ứng đo ADC với VREF = 3.3 độ phân giải 12bit voltage_PH = avergearray(pHArray, ArrayLenth) * (float)VREF / 4096; pHValue = -5.70 * voltage_PH + Offset; } // } // đọc thời gian chạy từ chương trình static unsigned long printTimepoint = millis(); if (millis() - printTimepoint > 800U) { // lấy thời gian chạy chương trình gán cho printTimepoint để so sánh giá trị chênh lệnh thời gian chương trình printTimepoint = millis(); // chuyển giá trị mảng analogBuffer ( giá trị đọc từ cảm biến TDS) sang mảng analogBufferTemp for (copyIndex = 0; copyIndex < SCOUNT; analogBufferTemp[copyIndex] = analogBuffer[copyIndex]; copyIndex++) // tính tốn giá trị điện áp trung bình cho cảm biến TDS từ mảng analogBufferTemp averageVoltage = getMedianNum(analogBufferTemp, SCOUNT); // chuyển giá trị biến averageVoltage từ thang đến 2040 sang thang 100,0 tdsValue = map(averageVoltage, 0, 2040, 100, 0); // kiểm tra xem giá trị tdsValue nhỏ gán Sinh viên thực Người hướng dẫn : Huỳnh Đặng Bảo Trung : TS Trần Hoàng Vũ 56 Nghiên cứu thiết kế mơ hình hệ thống hồ cá hỗ trợ nuôi cá Koi if (tdsValue < 0) tdsValue = 0; } } //=================================================== // hàm MainFunction chạy sau 1s void MainFunction() { // tăng giá trị count lên đơn vị count_oxi++; // kiểm tra xem count_oxi đủ 20 lần chưa tức 20x1s = 20s if (count_oxi == 20) { // kích máy bơm digitalWrite(BOM_OXI, HIGH); // chuyển biến trạng thái máy bơm lên oxi_on = 1; } // kiểm tra xem count_oxi đủ 25 lần chưa tức 25x1s = 25s else if (count_oxi == 25) { // tắt máy bơm digitalWrite(BOM_OXI, LOW); // reset giá trị count_oxi count_oxi = 0; // chuyển trạng thái máy bơm oxi_on = 0; } // đọc giá trị nhiệt độ từ cảm biến ds18b20 temperature_ac = readTemperature(); // kiểm tra xem giá trị đọc lớn nhiệt độ nhiệt độ đọc từ cảm biến if (temperature_ac > 0) temperature = temperature_ac; Sinh viên thực Người hướng dẫn : Huỳnh Đặng Bảo Trung : TS Trần Hồng Vũ 57 Nghiên cứu thiết kế mơ hình hệ thống hồ cá hỗ trợ nuôi cá Koi // gửi giá trị giá trị Ph, tds, nhiệt độ trạng thái oxi lên app blynk Blynk.virtualWrite(V1, pHValue); Blynk.virtualWrite(V2, tdsValue); Blynk.virtualWrite(V3, temperature); Blynk.virtualWrite(V7, oxi_on); } //==================================================== // hàm tính giá trị trung vị từ mảng int getMedianNum(int bArray[], int iFilterLen) { int bTab[iFilterLen]; for (byte i = 0; i < iFilterLen; i++) bTab[i] = bArray[i]; int i, j, bTemp; for (j = 0; j < iFilterLen - 1; j++) { for (i = 0; i < iFilterLen - j - 1; i++) { if (bTab[i] > bTab[i + 1]) { bTemp = bTab[i]; bTab[i] = bTab[i + 1]; bTab[i + 1] = bTemp; } } } if ((iFilterLen & 1) > 0) bTemp = bTab[(iFilterLen - 1) / 2]; else Sinh viên thực Người hướng dẫn : Huỳnh Đặng Bảo Trung : TS Trần Hoàng Vũ 58 Nghiên cứu thiết kế mơ hình hệ thống hồ cá hỗ trợ nuôi cá Koi bTemp = (bTab[iFilterLen / 2] + bTab[iFilterLen / - 1]) / 2; return bTemp; } // tính giá trị trung bình từ mảng double avergearray(int* arr, int number) { int i; int max, min; double avg; long amount = 0; if (number max max = arr[i]; } else { amount += arr[i]; //min

Ngày đăng: 12/08/2022, 10:31

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w