Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 115 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
115
Dung lượng
4,33 MB
Nội dung
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: Nguyễn Quang Thạnh Phan Thanh Triều Điện tử cơng nghiệp Đại học quy 2014 MSSV: 14141294 MSSV: 14141330 Mã ngành: 41 Mã hệ: Lớp: 14141DT2A 14141DT3A I TÊN ĐỀ TÀI: THI CÔNG MƠ HÌNH HỆ THỐNG TRỒNG HOA LAN II NHIỆM VỤ Các số liệu ban đầu: - Kit Arduino Mega, NodeMCU ngơn ngữ lập trình - Tài liệu Arduino Mega, NodeMCU, Firebase - Thư viện LCD, step motor, Arduino, ESP 8266, Firebase Nội dung thực hiện: • Nội dung 1: Tìm hiểu nghiên cứu module Arduino, mod ule ESP8266, module L298, động bước, cảm biến DHT11, cảm biến ánh sáng, cảm biến mưa, cảm biến độ ẩm đất • Nội dung 2: Giao tiếp Module ESP 8266 với Arduino Mega 2560 • Nội dung 3: Điều khiển thiết bị theo cảm biến thời gian thực • Nội dung 4: Hiển thị thơng tin web FireBase • Nội dung 5: Thiết kế, lập trình điều khiển thiết bị qua điện thoại • Nội dung 6: Thiết kế mơ hình sản phẩm • Nội dung 7: Đánh giá kết thực III NGÀY GIAO NHIỆM VỤ: 18/02/2019 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 05/07/2019 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Nguyễn Thanh Tâm CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH i TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o Tp HCM, ngày tháng 07 năm 2019 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Nguyễn Quang Thạnh Lớp:14141DT2A Họ tên sinh viên 2: Phan Thanh Triều Lớp: 14141DT3A MSSV: 14141294 MSSV: 14141330 Tên đề tài: Thi cơng mơ hình hệ thống trồng hoa Lan Tuần/ngày Tuần (18/02/2019) Tuần (25/02/2019) Nội dung Xác nhận GVHD Nhận đồ án , tìm hiểu đề tài Chọn tìm hiểu đề tài Tuần 3,4, (04/03 – 24/03/2019) Tìm hiểu nghiên cứu giao tiếp Module ESP 8266-12 với Arduino Mega 2560 Tuần 6, 7, (25/03 – 14/04/2019) Điều khiển thiết bị theo cảm biến Tuần 9,10, 11, 12 (14/04 – 05/05/2019) Thiết kế lập trình ứng dụng điện thoại thơng minh gửi hoạt động lên Firebase Tuần 13, 14 (06/05 - 19/05/2019) Tuần 15 (20/05/2019) Tuần 16 10/06/2019 Tìm hiểu thiết kế mơ hình sản phẩm Hồn thành báo cáo, kiểm phần cứng Hoàn thành nhiệm vụ đồ án GV HƯỚNG DẪN (Ký ghi rõ họ tên) ii LỜI CAM ĐOAN Đề tài tự thực dựa vào số tài liệu không chép từ tài liệu hay cơng trình có trước Nếu có gian lận xin chịu trách nhiệm nội dung đồ án Người thực Nguyễn Quang Thạnh – Phan Thanh Triều iii LỜI CẢM ƠN Chúng em xin chân thành cảm ơn quý Thầy Cô trường Đại Học Sư Phạm Kỹ Thuật TP.HCM tận tình dạy dỗ chúng em suốt năm qua Trong phải kể đến quý thầy cô khoa Điện – Điện Tử truyền đạt kiến thức, kinh nghiệm với đam mê đốt lên lửa đam mê khám phá chúng em từ kiến thức, đam mê chúng em kết lại thành đồ án cuối cùng, đồ án tốt nghiệp tay tạo ra, bàn đạp để bước vào cánh cửa lớn Đặc biệt, Chúng em xin cảm ơn sâu sắc thầy Nguyễn Thanh Tâm giúp đỡ chúng em trình lựa chọn đề tài hỗ trợ chúng em trình thực đề tài Trong trình thực đồ án xảy nhiều khó khăn, thiếu sót đơn đốc góp ý thầy chúng em gặt hái nhiều kiến thức kinh nghiệm Chúng em không quên cảm ơn đấng sinh thành, người thân gia đình động viên tạo điều kiện tốt sống, học tập q trình thực hồn thành đề tài Cám ơn Sư Phạm Kỹ Thuật! Xin chân thành cám ơn! Người thực để tài Nguyễn Quang Thạnh – Phan Thanh Triều iv MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP .ii LỜI CAM ĐOAN iii LỜI CẢM ƠN iv DANH MỤC HÌNH viii DANH MỤC BẢNG xi TÓM TẮT xii CHƯƠNG 1: TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU ĐỀ TÀI 1.3 NỘI DUNG THỰC HIỆN 1.4 GIỚI HẠN CỦA ĐỀ TÀI 1.5 BỐ CỤC ĐỒ ÁN CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 QUY TRÌNH TRỒNG HOA LAN 2.1.1 Đặt tính sinh trưởng hoa lan 2.1.2 Mơ tả quy trình chăm sóc 2.2 QUY TRÌNH HOẠT ĐỘNG CỦA HỆ THỐNG 2.3 GIỚI THIỆU PHẦN CỨNG 2.3.1 Tổng quan arduino mega 2560 2.3.2 Giới thiệu LCD 20x4 2.3.3 Cảm biến độ ẩm đất 10 2.3.4 Cảm biến mưa 11 2.3.5 Cảm biến nhiệt độ - độ ẩm 12 v 2.3.6 Cảm biến đo thời gian 13 2.3.7 Cảm biến ánh sáng 14 2.3.8 Tổng quan Module ESP8266 15 2.3.9 Giới thiệu Module L298 18 2.3.10 Động bước 20 2.3.11 Bơm mini 20 2.3.12 Đèn 21 2.3.13 Nút nhấn 22 2.3.14 Giới thiệu Firebase 22 2.3.15 Giới thiệu mạch Bluetooth HC-05 23 2.3.16 Giới thiệu Module Relay 25 2.3.17 Giới thiệu chuẩn I2C 26 CHƯƠNG TÍNH TỐN VÀ THIẾT KẾ 28 3.1 GIỚI THIỆU 28 3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 28 3.2.1 Thiết kế sơ đồ khối hệ thống 28 3.2.2 Tính tốn thiết kế mạch 30 3.2.3 Sơ đồ nguyên lý toàn mạch 41 CHƯƠNG THI CÔNG HỆ THỐNG 42 4.1 THI CÔNG MẠCH ĐIỀU KHIỂN 42 4.2 THI CÔNG BẢNG ĐIỀU KHIỂN 44 4.3 TIẾN HÀNH THI CÔNG VÀ LẮP RÁP HỆ THỐNG HOÀN CHỈNH 44 4.3.1 Mặt trước 45 4.3.2 Mặt bên 46 4.3.3 Mặt 47 4.4 LƯU ĐỒ GIẢI THUẬT 49 4.5 GIỚI THIỆU VỀ PHẦN MỀM LẬP TRÌNH 54 CHƯƠNG 5: KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ 71 vi 5.1 KẾT QUẢ ĐẠT ĐƯỢC 71 5.2 KẾT QUẢ THỬ NGHIỆM HỆ THỐNG: 72 5.2.1 Quá trình chạy ứng dụng điện thoại hiển thị web 72 5.2.2 Quá trình vận hành phần cứng hệ thống 74 5.3 NHẬN XÉT - ĐÁNH GIÁ 77 CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 78 6.1 KẾT LUẬN 78 6.2 HƯỚNG PHÁT TRIỂN 78 TÀI LIỆU THAM KHẢO 79 DATASHEET 79 CODE THAM KHẢO 80 ➢ ĐOẠN CODE CHƯƠNG TRÌNH CHÍNH 80 ➢ ĐOẠN CODE CHƯƠNG TRÌNH ESP8266 96 vii DANH MỤC HÌNH Hình 2-1: Board Arduino Mega 2560 Hình 2-2: Màn hình LCD 20x4 Hình 2- 3: Cảm biến độ ẩm đất 10 Hình 2- 4: Cảm biến mưa 11 Hình 2-5: Cảm biến DHT11 12 Hình 2-6: Sơ đồ chân Realtime 13 Hình 2-7: Module Realtime 13 Hình 2-8: Sơ đồ nguyên lý Realtime 14 Hình 2- 9: Cảm biến ánh sáng 14 Hình 2-10: Module NodeMCU 8266 16 Hình 2-11: Sơ đồ chân sơ đồ kết nối 17 Hình 2-12: Module L298 18 Hình 2-13: Sơ đồ chân sơ đồ kết nối 19 Hình 2-14: Động bước 20 Hình 2-15: Bơm 12 VDC 21 Hình 2-16: Đèn trái ớt 21 Hình 2- 18: Nút nhấn chân 22 Hình 2- 19: Giao diện FireBase 23 Hình 2- 20: Module HC - 05 23 Hình 2- 21: Mặt sau module HC - 05 24 Hình 2-22: Module Relay Mức Cao 26 Hình 2- 23: Module Relay mức thấp 26 Hình 2-24: Sơ đồ truyền I2C 27 Hình 3-1: Sơ đồ khối 28 Hình 3-2: Sơ đồ nguyên lý cảm biến 32 Hình 3-3: Sơ đồ nguyên lý Realtime 33 Hình 3-4: Sơ đồ nguyên lý Relay 34 Hình 3-5: Sơ đồ nguyên lý L298 35 Hình 3-6: Sơ đồ nguyên lý LCD 20x4 36 viii Hình 3-7: Sơ đồ nguyên lý khối ESP8266 37 Hình 3-8: Sơ đồ nguyên lý khối Bluetooth HC 05 37 Hình 3-9: Bơm 12 VDC 38 Hình 3-10: Sơ đồ nguyên lý khối 39 Hình 3-11: Đèn trái ớt 39 Hình 3-12: Sơ đồ nguyên lý toàn mạch 41 Hình 4-1: Sơ đồ bố trí linh kiện mặt 43 Hình 4-3: Sơ đồ bố trí linh kiện mặt 44 Hình 4-4: Sơ đồ bố trí linh kiện lớp 44 Hình 4-5: Sơ đồ bố trí thiết bị mặt trước 45 Hình 4-6: Hình ảnh thực tế mặt trước 45 Hình 4-7: Sơ đồ bố trí thiết bị mặt bên 46 Hình 4-8: Hình ảnh thực tế mặt bên 47 Hình 4-9: Sơ đồ bố trí thiết bị mặt 47 Hình 4-10: Hình ảnh thực tế mặt bên 48 Hình 4-11: Lưu đồ chương trình code điều khiển 49 Hình 4-12: Lưu đồ chế độ tự động 50 Hình 4-13: Lưu đồ chế độ điều khiển 51 Hình 4-14: Lưu đồ truyền nhận liệu lên Firebase 52 Hình 4-15: Lưu đồ điều khiển App 53 Hình 4-16: Quy trình làm việc arduino 54 Hình 4-18: Giao diện menu arduino IDE 55 Hình 4-19: Giao diện file menu arduino IDE 55 Hình 4-20: Giao diện Examples menu 55 Hình 4-21: Giao diện Sketch Menu Arduino IDE 56 Hình 4-23: Giao diện Tool Menu Arduino IDE 57 Hình 4-24: Board Arduino sử dụng 57 Hình 4-25: Arduino Toolbar 58 Hình 4-26: Chương trình nạp thành cơng 58 Hình 4-27: Giao diện phần mềm Inventor 59 Hình 4- 28: Giao diện thiết kế 60 ix Hình 4- 29: Chọn chế độ làm việc 60 Hình 4- 30: Khối lệnh Block 61 Hình 4- 31: Code Blocks 61 Hình 4- 32: Vùng làm việc 62 Hình 4- 33: Danh sách lệnh 63 Hình 4- 34: Tạo giao diện 64 Hình 4- 35: Kéo thả khối lệnh 64 Hình 4- 36: Tạo nút điều khiển giọng nói 65 Hình 4- 37: Chọn Firebase để kết nối 65 Hình 4- 38: Cân chỉnh xếp 66 Hình 4- 39: Khối lệnh nút Auto Manual 66 Hình 4- 40: Khối lệnh nút nhấn khác 67 Hình 4- 41: Khối lệnh nút điều khiển giọng nói 67 Hình 4- 42: Khối lệnh cập nhật thông số môi trường 68 Hình 4- 43: Khối lệnh điều khiển thiết bị 69 Hình 4- 44: Giao diện sau thiết kế 70 Hình 5-1: Giao diện điều khiển Bluetooth 73 Hình 5-2: Giao diện điều khiển Wifi 73 Hình 5-3: Giao diện web FireBase 73 Hình 5-4: Bảng điều khiển hoạt động 75 Hình 5-5: Màn hình LCD 20x4 hiển thị 75 Hình 5-6: Hệ thống chạy 76 x TÀI LIỆU THAM KHẢO digiValue = debounce(DEN_BUTTON); if (!digiValue) { den = !den; } } } boolean debounce(int pin) { boolean state; boolean previousState; const int debounceDelay = 60; previousState = digitalRead(pin); for (int counter = 0; counter < debounceDelay; counter++) { delay(1); state = digitalRead(pin); if (state != previousState) { counter = 0; previousState = state; } } return state; } void xulytinhieu() { if (dk == "RS") { asm volatile ( "jmp 0"); } if (dk.charAt(0)=='O') { dk.remove(0, 1); mod = dk.toInt(); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 89 TÀI LIỆU THAM KHẢO if (mod == 0) { lcd.clear(); lcd.print("CHE DO TU DONG"); delay (500); } else { lcd.clear(); lcd.print("CHE DO DIEU KHIEN"); delay (500); } } if (mod == 1) { if (dk.charAt(0)=='M') { dk.remove(0, 1); if (mod == 1) mai = dk.toInt(); } if (dk.charAt(0)=='B') { dk.remove(0, 1); if (mod == 1) bom = dk.toInt(); } if (dk.charAt(0)=='P') { dk.remove(0, 1); if (mod == 1) phun = dk.toInt(); } if (dk.charAt(0)=='D') { dk.remove(0, 1); if (mod == 1) den = dk.toInt(); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 90 TÀI LIỆU THAM KHẢO } } } void ttthietbi() { if (phun == 1) { digitalWrite(PHUN_PIN, LOW); ttphun = "ON"; } if (phun == 0) { digitalWrite(PHUN_PIN, HIGH); ttphun = "OFF"; } if (bom == 1) { digitalWrite(BOM_PIN, LOW); ttbom = "ON"; } if (bom == 0) { digitalWrite(BOM_PIN, HIGH); ttbom = "OFF"; } if (den == 1) { digitalWrite(DEN_PIN, HIGH); ttden = "ON"; } if (den == 0) { digitalWrite(DEN_PIN, LOW); ttden = "OFF"; } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 91 TÀI LIỆU THAM KHẢO //mai che if (mai == && oc == 0) { oc = 1; ttmai = "DONG"; myStepper.step(2500); digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); } if (mai == && oc == 1) { oc = 0; ttmai = " MO"; myStepper.step(-2500); digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); } } void guithongtin() { if (tempDHT!=t|| humDHT!=h|| soil!=s|| lumen!=l|| mai!=m|| phun!=p|| bom!= b|| den!= d|| mua!= r) { t=tempDHT; h=humDHT; s=soil; l=lumen; m= mai; p=phun; b= bom; d= den; r= mua; str=String(humDHT)+'H'+String(tempDHT)+'T'+String(lumen)+'L'+String(soil)+'A'+Stri ng(oc)+'M'+String(phun)+'P'+String(bom)+'B'+String(den)+'D'+String(mua)+'R'; writeString(str); } } void dktudong() { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 92 TÀI LIỆU THAM KHẢO if (tempDHT >= 40) { mai = 1; phun = 1; //phun suong } if (mua == 0) mai = 1; if (tempDHT < 35) phun = 0; //ngung phun suong if (tempDHT < 35 && tempDHT >=30 && mua == 1) mai = 0; if (tempDHT < 25) mai = 1; if (hour == || hour == 15) { if (minute == && second < 10) bom = 1; //tuoi else bom = 0; } else bom = 0; if (soil >= 50) bom = 0; if ((hour >= 17 && hour < 6)||(lumen < 25) ) den = 1; //bat den else if (lumen > 80) den = 0; //tat den ttthietbi(); } //Thoi gian thuc void readDS1307() { Wire.beginTransmission(DS1307); Wire.write((byte)0x00); Wire.endTransmission(); Wire.requestFrom(DS1307, NumberOfFields); second = bcd2dec(Wire.read() & 0x7f); minute = bcd2dec(Wire.read() ); hour = bcd2dec(Wire.read() & 0x3f); // chế độ 24h wday = bcd2dec(Wire.read() ); day = bcd2dec(Wire.read() ); month = bcd2dec(Wire.read() ); year = bcd2dec(Wire.read() ); year += 2000; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 93 TÀI LIỆU THAM KHẢO } /* Chuyển từ format BCD (Binary-Coded Decimal) sang Decimal */ int bcd2dec(byte num) { return ((num/16 * 10) + (num % 16)); } /* Chuyển từ Decimal sang BCD */ int dec2bcd(byte num) { return ((num/10 * 16) + (num % 10)); } void digitalClockDisplay() { // digital clock display of the time Serial.print(hour); printDigits(minute); printDigits(second); Serial.print(" "); Serial.print(day); Serial.print(" "); Serial.print(month); Serial.print(" "); Serial.print(year); Serial.println(); } void printDigits(int digits) { Serial.print(":"); if(digits < 10) Serial.print('0'); Serial.print(digits); } /* cài đặt thời gian cho DS1307 */ void setTime(byte hr, byte mi, byte sec, byte wd, byte d, byte mth, byte yr) { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 94 TÀI LIỆU THAM KHẢO Wire.beginTransmission(DS1307); Wire.write(byte(0x00)); // đặt lại pointer Wire.write(dec2bcd(sec)); Wire.write(dec2bcd(mi)); Wire.write(dec2bcd(hr)); Wire.write(dec2bcd(wd)); // CN = 1, t7 = Wire.write(dec2bcd(d)); Wire.write(dec2bcd(mth)); Wire.write(dec2bcd(yr)); Wire.endTransmission(); } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 95 TÀI LIỆU THAM KHẢO ➢ ĐOẠN CODE CHƯƠNG TRÌNH ESP8266 #include #include #include SoftwareSerial mySerial(D2, D3); //RX, TX #define FIREBASE_HOST "smartfarm-135fc.firebaseio.com" #define FIREBASE_AUTH "6ZfglXRfBx1gSfh1LD2hqyQxWiDKPpwLZPkY6tXK" #define WIFI_SSID "FIREBASE" #define WIFI_PASSWORD "1234567890" String str; String ttmai, ttbom, ttphun, ttden, ttmua; int temp, hum, lumen, soil; int t, h, l, s; boolean mai, bom, phun, den, mua; boolean m, b, p, d, r; boolean mod, maidk, bomdk, phundk, dendk, rs=0; int o; void setup() { Serial.begin(115200); mySerial.begin(115200); delay(1000); WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.print("Dang ket noi den "); Serial.print(WIFI_SSID); while (WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(500); } Serial.println (); Serial.print ("Da ket noi den "); Serial.println (WIFI_SSID); Serial.print("IP Address : "); Serial.println(WiFi.localIP()); Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 96 TÀI LIỆU THAM KHẢO while (!Serial) { ; // wait for serial port to connect Needed for native USB port only } } void loop() { //kiemtra_online(); dieukhientuxa(); if (mySerial.available()>0) //Nếu có tín hiệu vào từ Serial { delay (30); str=mySerial.readString(); //Đọc tín hiệu vào str xulychuoi(); ttthietbi(); guilenfirebase(); printData(); Serial.println(str); //Xuất chuỗi Seril } } void kiemtra_online() { if (o == 9) o = 0; o++; Firebase.setInt("online", o); //Gửi liệu lên Firebase } void dieukhientuxa() { String dk = Firebase.getString("devices/dk"); for (int i=0; i=0; i ) { if (str.charAt(i)=='H') moc1 = i; if (str.charAt(i)=='T') moc2 = i; if (str.charAt(i)=='L') moc3 = i; if (str.charAt(i)=='A') moc4 = i; if (str.charAt(i)=='M') moc5 = i; if (str.charAt(i)=='P') moc6 = i; if (str.charAt(i)=='B') moc7 = i; if (str.charAt(i)=='D') moc8 = i; if (str.charAt(i)=='R') moc9 = i; } str1 = str2 = str3 = str4 = str5 = str6 = str7 = str8 = str9 = str; str1.remove(moc1); hum = str1.toInt(); str2.remove(moc2); str2.remove(0, moc1+1); temp = str2.toInt(); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 102 TÀI LIỆU THAM KHẢO str3.remove(moc3); str3.remove(0, moc2+1); lumen = str3.toInt(); str4.remove(moc4); str4.remove(0, moc3+1); soil = str4.toInt(); str5.remove(moc5); str5.remove(0, moc4+1); mai = str5.toInt(); str6.remove(moc6); str6.remove(0, moc5+1); phun = str6.toInt(); str7.remove(moc7); str7.remove(0, moc6+1); bom = str7.toInt(); str8.remove(moc8); str8.remove(0, moc7+1); den = str8.toInt(); str9.remove(moc9); str9.remove(0, moc8+1); mua = str9.toInt(); } void ttthietbi() { if (mai == 1) ttmai = "CLOSE"; else ttmai = "OPEN"; if (phun == 1) ttphun = "ON"; else ttphun = "OFF"; if (bom == 1) ttbom = "ON"; else ttbom = "OFF"; if (den == 1) ttden = "ON"; else ttden = "OFF"; if (mua == 0) ttmua = "YES"; else ttmua = "NO"; } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 103 ... nước, nghĩa hồn tồn tuỳ thuộc vào kỹ thuật người trồng lan b Ảnh hưởng nhiệt độ đến hoa Lan Nhiệt độ ảnh hưởng đến hoa số lồi hoa Lan: hoa Lan Bạch câu Dendrobium crumenatum đòi hỏi giảm nhiệt... LÝ THUYẾT 2.1 QUY TRÌNH TRỒNG HOA LAN 2.1.1 Đặc tính sinh trưởng hoa lan a Ảnh hưởng độ ẩm đến hoa Lan Nước thành phần quan trọng chiếm tỷ lệ 60-90% trọng lượng Lan Nước trạng thái Phần lớn nước... Thuyết Giới thi u linh kiện, thi t bị sử dụng thi t kế hệ thống, giao thức Chương 3: Tính Tốn Và Thi t Kế Hệ Thống Tính tốn thi t kế, đưa sơ đồ nguyên lí hệ thống Chương 4: Thi t Kế Hệ Thống Thi t