Đề tài “Thiết kế, chế tạo hệ thống giám sát, điều khiển nhiệt độ, độ ẩm nhà trồng Lan bằng Internet” đã được xây dựng và chạy thử nghiệm thành công trên vườn hoa Lan đang trong giai đoạn chuẩn bị ra hoa. Các hoạt động tưới nước, phun sương, thông gió, điều chỉnh nhiệt độ, độ ẩm được thực hiện tự động theo điều kiện thực tế của vườn. Toàn bộ các thông số về nhiệt độ, độ ẩm của vườn hoa Lan và các hoạt động điều khiển sẽ được lưu trữ và cho phép truy xuất qua mạng internet thông qua Google Drive. Đi cùng với hệ thống là một web server có khả năng tự động vẽ đồ thị giám sát các thông số của khu vườn bằng cơ sở dữ liệu được lưu trữ trên Goolge Drive. Kết quả đạt được là sản phẩm hoàn chỉnh với đầy đủ tính năng đã đặt ra, sẵn sàng phục vụ vườn cây trong thực tế. Đề tài nghiên cứu này đã xây dựng được một báo cáo hoàn chỉnh về thiết kế phần cứng lẫn phần mềm của một hệ thống giám sát, điều khiển nhiệt độ độ ẩm trong nhà trồng Lan bằng Internet.
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH KHĨA LUẬN TỐT NGHIỆP THIẾT KẾ, CHẾ TẠO HỆ THỐNG GIÁM SÁT, ĐIỀU KHIỂN NHIỆT ĐỘ - ĐỘ ẨM NHÀ TRỒNG LAN BẰNG INTERNET Họ tên sinh viên: LÊ VĂN THÀNH Ngành: CƠ ĐIỆN TỬ Niên khóa: 2012-2016 Tháng 06 năm 2016 THIẾT KẾ, CHẾ TẠO HỆ THỐNG GIÁM SÁT, ĐIỀU KHIỂN NHIỆT ĐỘ - ĐỘ ẨM NHÀ TRỒNG LAN BẰNG INTERNET TÁC GIẢ LÊ VĂN THÀNH Khóa luận tốt nghiệp đệ trình đáp ứng yêu cầu cấp Kỹ sư ngành Cơ Điện Tử Giáo viên hướng dẫn: TH.S NGUYỄN TẤN PHÚC Tháng 06 năm 2016 TRƯỜNG ĐẠI HỌC NÔNG LÂM TPHCM KHOA CƠ KHÍ - CƠNG NGHỆ - CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM -ĐỘC LẬP – TỰ DO – HẠNH PHÚC - Ngày 22 tháng 02 năm 2016 NHIỆM VỤ KHĨA LUẬN TỐT NGHIỆP KHOA: CƠ KHÍ CƠNG NGHỆ BỘ MÔN: Cơ Điện Tử Họ tên sinh viên: Lê Văn Thành MSSV: 12153136 Tên đề tài : Thiết kế, chế tạo hệ thống giám sát, điều khiển nhiệt độ, độ ẩm nhà trồng lan internet Nhiệm vụ giao (ghi rõ nội dung phải thực hiện): - Tìm hiểu hệ thống đo nhiệt độ, độ ẩm sử dụng mơ hình trồng lan - Tìm hiểu module giao tiếp arduino – internet - Thiết kế hệ thống giao diện, đồ thị giám sát thông số qua trang web - Đánh giá tính hiệu mơ hình thực tế Ngày giao: 22/2/2016 Ngày hoàn thành: 15/5/2016 5.Họ tên người hướng dẫn: Th.S Nguyễn Tấn Phúc Nội dung yêu cầu LA thông qua Bộ môn Ngày … tháng … năm 2016 Trưởng Bộ Môn Nội dung hướng dẫn Tất Người hướng dẫn Ký tên, ghi rõ họ tên PHẦN DÀNH CHO KHOA: - Người duyệt: - Ngày bảo vệ: LỜI CẢM ƠN Em xin trân trọng cảm ơn tất quý thầy trường Đại học Nơng Lâm TP.Hồ Chí Minh q Thầy Cơ khoa Cơ Khí - Công Nghệ trang bị cho em kiến thức quý báu giúp đỡ em suốt trình học tập trường Em xin chân thành cảm ơn thầy cô môn Cơ Điện Tử giúp đỡ chúng em nhiệt tình thời gian thực đề tài Em xin bày tỏ biết ơn chân thành thầy Nguyễn Tấn Phúc tận tình hướng dẫn em suốt trình làm Luận văn tốt nghiệp Đặc biệt, em xin cảm ơn quý thầy cô hội đồng dành thời gian nhận xét góp ý để luận văn em hoàn thiện Cuối cùng, em xin gửi lời cảm ơn đến người thân bạn bè động viên, ủng hộ tạo điều kiện thuận lợicho em suốt q trình hồn thành luận văn TPHCM, ngày tháng 06 năm 2016 Sinh viên thực LÊ VĂN THÀNH i MỤC LỤC LỜI CẢM ƠN i MỤC LỤC ii DANH MỤC HÌNH iv KÍ HIỆU VÀ VIẾT TẮT vi TÓM TẮT vii CHƯƠNG I: TỔNG QUAN 1.1 LÝ DO CHỌN ĐỀ TÀI 1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 1.3 MỤC TIÊU VÀ PHẠM VI CỦA ĐỀ TÀI 1.3.1 Mục tiêu đề tài 1.3.2 Phạm vi đề tài 1.4 HƯỚNG GIẢI QUYẾT VẤN ĐỀ CHƯƠNG II: CƠ SỞ LÝ THUYẾT 2.1 MẠCH ARDUINO ATMEGA 2560 .8 2.1.1 Giới thiệu Arduino .8 2.1.2 Board mạch Arduino Mega 2560 2.1.3 Môi trường phát triển 10 2.2 KHÁI QUÁT MODULE CHUYỂN ĐỔI ETHERNET SHIELD 12 2.2.1 Một số đặc điểm vi điều khiển W5100 13 2.2.2 Một số ghi 14 2.2.3 Miêu tả chức 15 2.3 CẢM BIẾN NHIỆT ĐỘ VÀ ĐỘ ẨM 15 2.4 CẢM BIẾN ĐỘ ẨM ĐẤT .16 2.5 RELAY SHIELD 17 ii 2.6 TỔNG QUAN VỀ INTERNET VÀ PHƯƠNG THỨC TRUYỀN NHẬN QUA WEB SERVER 18 2.6.1 Sơ lược lịch sử phát triển internet 18 2.6.2 Phương thức truyền nhận qua web server 19 2.7 ĐỊA CHỈ IP VÀ TÊN MIỀN CHO WEB SERVER .20 2.7.1 Địa IP (IP address) 20 2.7.2 Tên miền (Domain name) .22 CHƯƠNG III: THIẾT KẾ PHẦN CỨNG VÀ XÂY DỰNG WEB SERVER 23 3.1 THIẾT KẾ PHẦN CỨNG .23 3.1.1 Sơ đồ khối tổng quát 23 3.1.2 Module chuyển đổi Ethernet 24 3.1.3 Module Arduino vi điều khiển ATmega 2560 .27 3.2 XÂY DỰNG WEB SERVER 30 3.2.1 Lưu đồ giải thuật chương trình 30 3.2.2 Thiết lập web server hệ thống giám sát, điều khiển 33 CHƯƠNG IV: KẾT QUẢ VÀ ỨNG DỤNG THỰC TẾ 37 4.1 Kết 37 4.1.1 Kết cấu sơ đồ bố trí thiết bị nhà lưới .37 4.1.1 Phần cứng 40 4.1.2 Web server 43 4.2 Ứng dụng thực tế 48 CHƯƠNG V: KẾT LUẬN VÀ ĐỀ NGHỊ 57 TÀI LIỆU THAM KHẢO .59 PHỤ LỤC 60 iii DANH MỤC HÌNH HÌNH CHƯƠNG II Hình 2.1 Board mạch Arduino Mega 2560 .5 Hình 2.2 Chip ATmega 2560 Hình 2.3 Giao diện lập trình cho board mạch Arduino .8 Hình 2.4 Chu trình hoạt động board mạch Arduino Hình 2.5 Module Ethernet shield W5100 10 Hình 2.6 Sơ đồ chân W5100 11 Hình 2.7 Cảm biến nhiệt độ độ ẩm DHT11 12 Hình 2.8 Cảm biến độ ẩm đất 13 Hình 2.9 Module relay shield 14 Hình 2.10 Thông tin liệu điều khiển user sở liệu 18 HÌNH CHƯƠNG III Hình 3.1 Sơ đồ khối tởng qt hệ thống 23 Hình 3.2 Sơ đồ truyền nhận chuẩn Ethernet 24 Hình 3.3 Sơ đồ bus SPI khối chuyển mạch nguồn – 3.3VDC 24 Hình 3.4 Đầu nối ICSP chức Reset 25 Hình 3.5 Sơ đồ kết nối W5100 LED trạng thái 26 Hình 3.6 Sơ đồ kết nối ATMEGA 16U2 27 Hình 3.7 Sơ đồ bus nối khối nguồn – 3.3VDC 28 Hình 3.8 Sơ đồ kết nối ATmega 2560 board Arduino .29 Hình 3.9 Sơ đồ khối truyền nhận qua internet 30 Hình 3.10 Lưu đồ giải thuật truyền thông SPI 31 Hình 3.11 Lưu đồ xử lý liệu nhận từ internet 32 iv Hình 3.12 Giao diện đăng nhập MODEM ADSL 35 Hình 3.13 Thẻ Advanced Setup modem 36 Hình 3.14 Cấu hình cho thẻ Virtual Server .37 Hình 3.15 Dữ liệu lưu trữ Google Drive dạng Google Spreadsheet .38 Hình 3.16 Đăng nhập vào hệ thống thông tin liệu điều khiển .39 HÌNH CHƯƠNG IV Hình 4.1 Main 40 Hình 4.2 Bộ xử lý trung tâm 41 Hình 4.3 Thơng tin giới thiệu chung hệ thống 42 Hình 4.4 Dùng sở liệu từ Google Drive vẽ biểu đồ giám sát nhiệt độ - độ ẩm khu vườn 43 Hình 4.5 Phần điều khiển bật, tắt thiết bị 44 Hình 4.6 Hiện trạng vườn Lan lắp đặt hệ thống (15/3/2016) 48 Hình 4.7 Sau thời gian chăm sóc vườn Lan cho nụ hoa (25/4/2016) 49 Hình 4.8 Vườn Lan cho hoa nở đồng cho thu hoạch 50 Hình 4.9 Hệ thống phun sương làm mát tưới nước tự động điều khiển web server 51 Hình 4.10 Kết chậu Lan tiêu biểu từ bắt đầu đến kết thúc thực nghiệm (15/3/2016 - 10/5/2016) 52 v KÍ HIỆU VÀ VIẾT TẮT IDE Integrated Development Environment I/O Input/Output IP Internet Protocol IC Integrated Circuit PWM Pulse Width Modulation PHP Personal Home Page SPI Serial Peripheral Interface R/W Read/Write TCP/IP Transmission Control Protocol/Internet Protocol PC Personal Computer USB Univesal Serial Bus LCD Liquid Crystal Display I2C Inter - Integrated Circuit vi Hình 4.6 Hiện trạng vườn Lan lắp đặt hệ thống (15/3/2016) 52 Hình 4.7 Sau thời gian chăm sóc vườn Lan cho nụ hoa (25/4/2016) 53 Hình 4.8 Vườn Lan cho hoa nở đồng cho thu hoạch 54 Hình 4.9 Hệ thống phun sương làm mát tưới nước tự động điều khiển web server 55 Hình 4.10 Kết chậu Lan tiêu biểu từ bắt đầu đến kết thúc thực nghiệm (15/3/2016 - 10/5/2016) Với việc áp dụng hệ thống giám sát, điều khiển nhiệt độ - độ ẩm thông qua web server mơ hình thực tế vườn Lan Dendro cho thấy nhiều kết khả quan Nhưng tồn nhiều khó khăn giá thành đầu tư cao, người trồng hoa phải nắm vững kiến thức khoa học kỹ thuật… 56 CHƯƠNG V: KẾT LUẬN VÀ ĐỀ NGHỊ Kết luận Về mơ hình: đề tài hoàn thành phần lớn yêu cầu đặt hình dạng, chức mơ hình hệ thống điều khiển giám sát nhiệt độ - độ ẩm vườn trồng hoa Lan Bên cạnh đó, gặp khơng khó khăn vấn đề kết nối ngồi thực tế Tuy nhiên mơ hình hoàn thành đáp ứng đầy đủ yêu cầu mà đề tài đặt Về lập trình Web server, Arduino, thiết kế giao diện giám sát điều khiển: trình thiết kế, việc lựa chọn cách lập trình thiết kế giao diện cho người sử dụng hệ thống dễ dàng hiểu vận hành Thơng qua thực tế tìm hiểu nhu cầu thói quen người sử dụng, kinh nghiệm cán nơng nghiệp giúp đỡ nhiệt tình giáo viên hướng dẫn, vậy, qui trình bước thực chế tạo dễ dàng cho việc sử dụng, đảm bảo kết đạt mong đợi Về thực nghiệm: hệ thống hoạt động ổn định, xác, dễ điều khiển, thân thiện với người dùng bước đầu cho kết tốt Với kết nêu mơ hình phát triển ứng dụng rộng rãi với chun gia nơng nghiệp để tìm thông số tối ưu cho loại trồng phù hợp Phát huy tiềm mạnh sản xuất tự động hố nơng nghiệp để tạo sản phẩm suất lợi nhuận cao Đề nghị hướng phát triển Sử dụng thêm cảm biến độ pH, ánh sáng, đo nồng độ khơng khí… để tăng độ xác Tích hợp việc bón phân tưới, nước vào chung quy trình giúp tiếp kiệm chi phí Giám sát tình trạng hệ thống tồn diện cách tích hợp thêm camera Tiếp tục thử nghiệm triển khai hệ thống với giống trồng khác cà chua, dưa lưới với yêu cầu khác 57 Không dừng lại lĩnh vực nông nghiệp hệ thống lắp đặt kho lạnh hay áp dụng lĩnh vực chăn nuôi Đây công nghệ giúp nông dân doanh nghiệp dễ dàng tiếp cận ứng dụng vào sản xuất nông nghiệp, tiết kiệm nguyên liệu đầu vào, nâng cao hiệu quả, suất lợi nhuận hệ thống sản xuất nông nghiệp Đặc biệt, với việc làm chủ công nghệ hoàn toàn từ việc thiết kế xây dựng phần cứng đến phần mềm cho hệ thống hoạt động nên giá thành sản phẩm khơng cao, phụ thuộc vào cơng nghệ nước ngồi phù hợp với thị trường Việt Nam 58 TÀI LIỆU THAM KHẢO [1] Nguyễn Minh Thành, Giáo trình HTML CSS, TP.HCM, 2010 [2] Phạm Minh Tiến, Bành Phước Nhãn, Điều khiển thiết bị điện qua giao diện web, 2014 [3] Nguyễn Thanh Hiệp, Nghiên cứu ứng dụng chip Ethernet W5100, 2008 [4] John Boxall, Arduino workshop, 2013 [5] http://www.atmel.com/products/microcontrollers/avr [6] http://baothainguyen.org.vn/tin-tuc/kinh-te/ap-dung-cong-nghe-tuoi-phun-mua-tudong-tren-cay-che-216257-108.html [7] http://arduino-info.wikispaces.com/DHT11-Humidity-TempSensor [8] http://en.wikipedia.org/wiki/Simcha-Blass [9] http://vi.wikipedia.org/wiki/Kyrgyzstan 59 PHỤ LỤC #include #include #include #include #include #include "DHT.h" #include #include #include #include #include #define DEVICE1_PIN 31 // Connect to Relay for control device #define DEVICE2_PIN 32 // Connect to Relay for control device #define DEVICE3_PIN 33 // Connect to Relay for control device #define DEVICE4_PIN 34 // Connect to Relay for control device #define DHTPIN A2 // PIN A0 Connected to DHT11 #define DHTTYPE DHT11 // Module DHT11 const char Hostname[ ] = "rynanservices.16mb.com"; char Path[50] ="/api/control.php?id=update&tem="; char postion[40]; // Postion array for remote control char status[4]; devices byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; 60 MAC address char uart_receive_buff[100]; int uart_receive_count = 0; char comma_postion[3]; const int NetworkTimeout = 30*1000; const int NetworkDelay = 1000; DHT dht(DHTPIN,DHTTYPE); SimpleTimer timer,wdrst_timer; int tem; // Temperature Value int hum; // Humidity value int soi; // Soil value // Show RAM information int free_ram() { extern int heap_start, * brkval; int v; return (int) &v - ( brkval == ? (int) & heap_start : (int) brkval); } void uart_parser() { int j = 0; for(int i = 0; i < 40;i++) { if(uart_receive_buff[i] == ',') { postion[j++] = i; } } 61 if(postion[0] == 17) digitalWrite(DEVICE1_PIN, HIGH); else digitalWrite(DEVICE1_PIN, LOW); if((postion[1] - postion[0])== ) digitalWrite(DEVICE2_PIN, HIGH); else digitalWrite(DEVICE2_PIN, LOW); if((postion[2] - postion[1])== ) digitalWrite(DEVICE3_PIN, HIGH); else digitalWrite(DEVICE3_PIN, LOW); if((strlen(uart_receive_buff) - postion[2]) == ) digitalWrite(DEVICE4_PIN, HIGH); else digitalWrite(DEVICE4_PIN, LOW); } void upload() { int err =0; EthernetClient c; HttpClient http(c); http.stop(); err = http.get(Hostname,Path); if (err == 0) { Serial.println("HTTP GET Status: OK"); err = http.responseStatusCode(); 62 if (err >= 0) { Serial.print("Got status code: "); Serial.println(err); err = http.skipResponseHeaders(); if (err >= 0) { int i ; int bodyLen = http.contentLength(); uart_receive_count = bodyLen; Serial.print("Content length is: "); Serial.println(bodyLen); Serial.println(); Serial.println("Body returned follows:"); unsigned long timeoutStart = millis(); char c; while ( (http.connected() || http.available()) && ((millis() - timeoutStart) < NetworkTimeout) ) { if (http.available()) { c = http.read(); uart_receive_buff[uart_receive_count-bodyLen] = c; Serial.print(c); bodyLen ; timeoutStart = millis(); } else 63 { delay(NetworkDelay); } } } else { Serial.print("Failed to skip response headers: "); Serial.println(err); } } else { Serial.print("Getting response failed: "); Serial.println(err); } } else { Serial.print("Connect failed: "); Serial.println(err); } http.stop(); uart_parser(); memset(uart_receive_buff,0,128); uart_receive_count = 0; } 64 void timerHandle() { hum = dht.readHumidity(); tem = dht.readTemperature(); Path[31] = (tem/10) + 0x30; Path[32] = (tem%10) + 0x30; memcpy(&Path[33],"&hum=",5); Path[38] = (hum/10) + 0x30; Path[39] = (hum%10) + 0x30; memcpy(&Path[40],"&soi=",5); Path[45] = (soi/10) + 0x30; Path[46] = (soi%10) + 0x30; Serial.println(Path); upload(); Serial.println(free_ram()); } void reset_wdtimer() { Serial.println("System is reset by Watchdog !"); } void setup() { memset(postion,0,40); wdrst_timer.setInterval(1000,reset_wdtimer); timer.setInterval(10000, timerHandle); pinMode(DEVICE1_PIN, OUTPUT); pinMode(DEVICE2_PIN, OUTPUT); 65 pinMode(DEVICE3_PIN, OUTPUT); pinMode(DEVICE4_PIN, OUTPUT); Serial.begin(9600); Serial.println("UART Ready"); Serial.println("Connecting to Internet "); while (Ethernet.begin(mac) != 1) { Serial.println("Error getting IP address via DHCP, trying again "); delay(15000); } Serial.println("Got IP: "); Serial.println(Ethernet.localIP()); dht.begin(); wdt_enable(WDTO_8S); } void loop() { wdt_reset(); timer.run(); } 66 ... Thiết kế, chế tạo hệ thống giám sát, điều khiển nhiệt độ, độ ẩm nhà trồng lan internet Nhiệm vụ giao (ghi rõ nội dung phải thực hiện): - Tìm hiểu hệ thống đo nhiệt độ, độ ẩm sử dụng mơ hình trồng. .. hành thực đề tài Thiết kế, chế tạo hệ thống giám sát, điều khiển nhiệt độ, độ ẩm nhà trồng Lan Internet ’ 1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ Việc nhận thức tầm quan trọng nhiệt độ, độ ẩm môi trường ảnh... 1.3.1 Mục tiêu đề tài Hệ thống giám sát, điều khiển nhiệt độ, độ ẩm nhà trồng Lan Internet hoạt động trực tiếp điều khiển board Arduino thông qua internet Giám sát: Hệ thống nhận giá trị đo