Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 64 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
64
Dung lượng
1,77 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP VƯỜN TỰ ĐỘNG ỨNG DỤNG IOT Ngành: Kỹ thuật Điện, điện tử Giảng viên hướng dẫn: Ths.Nghiêm Hoàng Hải Sinh viên thực hiện: MSSV: Lớp: Nguyễn Thanh Nam 1711020190 17DDCA1 Dư Tiến Vượt 1711020166 17DDCA1 TP Hồ Chí Minh, 2021 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP VƯỜN TỰ ĐỘNG ỨNG DỤNG IOT Ngành: Kỹ thuật Điện, điện tử Giảng viên hướng dẫn: Ths.Nghiêm Hoàng Hải Sinh viên thực hiện: MSSV: Lớp: Nguyễn Thanh Nam 1711020190 17DDCA1 Dư Tiến Vượt 1711020166 17DDCA1 TP Hồ Chí Minh, 2021 LỜI CẢM ƠN Lời nhóm em xin chân thành gửi lời cảm ơn sâu sắc đến quý thầy cô, giảng viên trường Đại học Cơng nghệ Tp.HCM nói chung thầy khoa Điện – Điện Tử nói riêng Trong suốt trình học tập trường, quý thầy tận tình truyền đạt kiến thức, kinh nghiệm quý báo để nhóm có để nhóm có tảng kiến thức để nhóm hồn thành đề tài tốt nghiệp ngày hơm Trong suốt q trình thực đồ án nhóm em gặp khơng khó khăn, vướng mắc vấn đề kỹ thuật vấn đề liên quan Khi đó, nhóm nhận giúp đỡ nhiệt tình Giáo viên hướng dẫn Ths.Nghiêm Hồng Hải Thầy hỗ trợ nhóm suốt q trình thực đề tài, người đưa phương pháp giải nhóm gặp vấn đề Trong q trình thực đề tài nhóm khơng có thêm kiến thức kỹ thuật mà học hỏi thêm tác phong làm việc nghiêm túc chuyên nghiệp thầy Nhóm em xin gửi lời cảm ơn chân thành đến thầy Qua đây, nhóm xin gửi lời cảm ơn đến gia đình, người thân bạn bè người quan tâm, giúp đỡ tạo điều kiện thuận lợi suốt trình thực đề tài Cuối nhóm xin gửi lời cảm ơn đến ban giám hiệu trường Đại học Công Nghệ Tp.HCM tạo điều kiện thuận lợi để nhóm hồn thành đồ án tốt nghiệp Thành phố Hồ Chí Minh, ngày 15 tháng 08 năm 2021 (SV ký ghi rõ họ tên) ii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC HÌNH ẢNH vi LỜI MỞ ĐẦU .1 CHƯƠNG 1.1 GIỚI THIỆU .2 Đặt vấn đề 1.1.1 Tình hình nghiên cứu ngồi nước .3 1.1.2 Tinh hình nghiên cứu nước .3 1.2 Mục tiêu đề tài 1.3 Phương pháp nghiên cứu 1.4 Phạm vi nghiên cứu CHƯƠNG TỔNG QUAN GIẢI PHÁP 2.1 Đặt tính xanh nơng nghiệp .6 2.2 Các nhân tố ảnh hưởng đến trồng .6 2.2.1 Ảnh hưởng ánh sáng đến quang hợp 2.2.2 Ảnh hưởng nồng độ CO2 .6 2.2.3 Ảnh hưởng nước 2.2.4 Ảnh hưởng nhiệt độ 2.2.5 Ảnh hưởng nguyên tố khoáng 2.3 Tăng suất trồng 2.4 Ứng dụng IoT nông nghiệp 2.5 2.4.1 Giới thiệu 2.4.2 Cấu trúc hệ thống ứng dụng công nghệ IoT Các chuẩn liệu, chuẩn kết nối 10 2.5.1 Chuẩn giao tiếp UART .10 2.5.2 Chuẩn giao tiếp I2C 11 iii 2.5.3 Giao thức MQTT 12 2.5.4 Giao thức truyền liệu bluetooth 13 CHƯƠNG PHƯƠNG PHÁP GIẢI QUYẾT .15 3.1 Sơ đồ khối 15 3.2 Lưu đồ giải thuật 15 3.3 Sờ đồ kết nối hệ thống 18 3.4 Sơ đồ nguyên lý .19 3.5 Ứng dụng Blynk 20 3.5.1 Các thành phần 20 3.5.2 Lý chọn Blynk .20 3.5.3 Cách thức hoạt động 21 CHƯƠNG 4.1 QUY TRÌNH THIẾT KẾ 30 Giới thiệu Nodemcu Esp8266 30 4.1.1 Khái niệm 30 4.1.2 Phần mềm lập trình Nodecm Esp8266 .31 4.1.3 Lý chọn Nodemcu Esp8266 32 4.2 Màn hình LCD .32 4.3 Cảm biến 34 4.3.1 Cảm biến nhiệt độ DHT11 34 4.3.2 Cảm biến độ ẩm đất 34 4.3.3 Cảm biến mưa 35 4.3.4 Cảm biến ánh sáng 36 4.3.5 Module L298N 37 4.3.6 Mạch hạ áp XL4005 39 4.3.7 Relay 39 4.3.8 Nguồn 40 CHƯƠNG THI CÔNG 42 5.1 Quy trình thi cơng: 42 5.2 Chạy thử sản phẩm, mơ hình thực tế: 42 iv CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 44 6.1 Kết luận 44 6.2 Hướng phát triển 44 PHỤ LỤC 45 TÀI LIỆU THAM KHẢO 56 v DANH MỤC HÌNH ẢNH Hình 1.1 Mơ hình nơng trại thẳng đứng .3 Hình 1.2 Hệ thống tưới tự động kỹ sư Vi Toàn Nghĩa Hình 2.1 Ứng dụng IoT nơng nghiệp Hình 2.2 Bốn phần hệ thống IoT .9 Hình 2.3 Hệ thống truyền liệu bất đồng 10 Hình 3.1 Sơ đồ khối hệ thống 15 Hình 3.2 Lưu đồ giải thuật hệ thống 17 Hình 3.3 Sơ đồ kết nối hệ thống .18 Hình 3.4 Sơ đồ nguyên lí 19 Hình 3.5 Biểu tượng Blynk 20 Hình 3.6 Giao diện Blynk 21 Hình 3.7 Tạo project 22 Hình 3.8 Chọn Board .23 Hình 3.9 Blynk gửi mã Auth Token qua gmail 24 Hình 3.10 Chọn đối tượng Widget Box 25 Hình 3.11 Chọn cấu hình chân, mức logic .26 Hình 3.12 Chọn module sử dụng 27 Hình 3.13 Tải thư viện Blynk 28 Hình 3.14 Giao diện hồn chỉnh 29 Hình 4.1 Nodemcu Esp8266 30 Hình 4.2 Sơ đồ chân Nodemcu Esp8266 31 Hình 4.3 Giao diện phần mềm Arduino IDE 32 Hình 4.4 Màn hình LCD 33 Hình 4.5 Cấu tạo hình LCD .33 Hình 4.6 Cảm biến DHT11 34 Hình 4.7 Cảm biến độ ẩm đất 35 Hình 4.8 Cảm biến mưa 36 vi Hình 4.9 Cảm biến ánh sáng 37 Hình 4.10 Module L298N 38 Hình 4.11 Mạch hạ áp XL4005 39 Hình 4.12 Module Relay .40 Hình 4.13 Adapter 12v-5A .41 Hình 5.1 Chạy thử sản phẩm 42 Hình 5.2 mơ hình thực tế 43 vii LỜI MỞ ĐẦU Cùng với phát triển lớn mạnh công nghiệp, công nghệ thông tin, việc dụng công nghệ cao ngành nông nghiệp vấn đề quan trọng Tại nhiều nước phát triển giới Nhật Bản, Anh, Pháp, Mĩ… Các vườn ươm nghiên cứu, ứng dụng công nghiệp ứng dụng công nghệ thông tin vào từ lâu, họ đem lĩnh vực tự động hóa áp dụng vào nông nghiệp đem lại hiệu vô to lớn Việc áp dụng tự động hóa vào nơng nghiệp đặc biệc vườn ươm giúp cho việc giám sát, điều khiển công việc cách dễ dàng hết Việc điều khiển tự động người điều khiển từ xa mà khơng cần phải đến tận nơi Ngồi với phát triển cơng nghệ thơng tin khoảng cách không gian thời gian rút ngắn, cho phép người vận hành điều khiển hệ thống từ khoảng cách hàng ngàn kilomet với máy tính điện thoại Nhận thấy nhu cầu trồng rau gia đình ngày tăng cao, để có không gian đủ để làm hệ thống vườn tự động để trồng rau phục vụ cho gia đình người khơng dễ Do ý tưởng khu vườn tự động mini đời Không phải tốn không gian lớn làm vườn trồng rau, biến trở thành sản phẩm trang trí nhà Đem mơ hình đến với nhiều gia đình bối cảnh nơng nghiệp nước ta cịn q phụ thuộc vào khí hậu tự nhiên với phương pháp canh tác truyền thống Vậy nên, cần có hỗ trợ thiết bị kỹ thuật có khả đo đạc, điều khiển thông số môi trường như: nhiệt độ, độ ẩm, chất dinh dưỡng cung cấp phù hợp giai đoạn phát triển trồng, xuất phát từ vấn đề chúng em nghiên cứu tiến hành thiết kế mơ hình vườn rau tự động ứng dụng IoT Vì thời gian kiến thức cịn hạn hẹp nên khơng tránh khỏi thiếu sót mong q Thầy Cơ thơng cảm Chúng em mong nhận ý kiến từ quý Thầy Cô bạn để hồn thiện phát triển đề tài Vườn Tự Động Ứng Dụng IoT CHƯƠNG GIỚI THIỆU 1.1 Đặt vấn đề Hiện giới, việc ứng dụng công nghệ điều khiển vào sản xuất nhiều cần thiết ngành nghề kể nông nghiệp Trong nông nghiệp, nhờ ứng dụng công nghệ điều khiển đại mà suất chất lượng trồng tăng lên đáng kể Với công nghệ trồng rau nhà có hỗ trợ thiết bị điều khiển cho kết mong đợi suất cao, chất lượng tốt sạch, an toàn mà cịn trồng loại mà từ trước truyền thống vùng miền Trong bối cảnh thực phẩm bẩn lan tràn ngõ ngách, rau phun thuốc trừ sâu buổi sáng buổi chiều hái đem chợ khiến nhiều người dân lúc cảm thấy nơm nớp chuyện khoảng cách từ mâm cơm đến nghĩa địa gần Nhiều người với tiêu chí tin vào chuyển hướng sang vườn rau tự trồng để phần đảm bảo an ninh lương thực cho gia đình Tuy nhiên sống đô thị với thời gian eo hẹp không gian chật chội khiến khu vườn mái trở thành gánh nặng ngày phải cặm cụi tưới bón Có gia đình từ trồng vườn mái khơng dám chơi xa sợ rau cỏ chết ngày xa nhà Trong điều kiện vườn, phát sinh, phát triển lây lan dịch bệnh nhiều yếu tố ngoại như: độ ẩm khơng khí vườn ln cao, mật độ vườn dày đặc giai đoạn trồng dễ bị vi sinh vật gây bệnh cơng thơng qua phận mầm Vì giai đoạn giai đoạn yêu cầu cần có chế độ tưới đặc biệt Khơng cung cấp độ ẩm cho mà cần kết hợp hệ thống cung cấp dinh dưỡng, hệ thống phun thuốc bảo vệ thực vật đặt biệt kích thích hạt nước tưới phun phải nhỏ để tránh làm rách, nát mầm thân non Từ đánh giá trên, em định làm hệ thống quản lý vườn thơng minh với tính đáp ứng nhu cầu người sử dụng Vườn Tự Động Ứng Dụng IoT CHƯƠNG THI CÔNG 5.1 Quy trình thi cơng: ➢ Bước 1: Lên ý tưởng ➢ Bước 2: Tìm hiểu thiết bị phần cứng ➢ Bước 3: Tìm hiểu app, trình lập trình code ➢ Bước 4: Thi công phần cứng ➢ Bước 5: Lập trình ➢ Bước 6: Thực nghiệp kết 5.2 Chạy thử sản phẩm, mơ hình thực tế: Hình 5.1 Chạy thử sản phẩm 42 Vườn Tự Động Ứng Dụng IoT Hình 5.2 mơ hình thực tế 43 Vườn Tự Động Ứng Dụng IoT CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết luận ➢ Xây dựng mô hình hệ thống ➢ Vận hành thử nghiệm thành cơng với mơ hình hệ thống điều khiển thơng minh chăm sóc khu vườn ➢ Tìm hiểu Nodemcu Esp 8266 ➢ Thiết lập hệ thống điều khiển giám sát hệ thống qua mạng wifi 6.2 Hướng phát triển ➢ Xây dựng nguồn dự phòng cho vườn phịng tránh điện ➢ Thiết kế thơng báo sms cho người vận hành có cố ➢ Có camera để quan sát hình ảnh thực tế từ xa ➢ Hệ thống bón phân phun thuốc trừ sâu tự động ➢ Hệ thống cần có phận nhận biết lượng CO2 để điều chỉnh lượng CO2theo yêu cầu để quang hợp tốt 44 Vườn Tự Động Ứng Dụng IoT PHỤ LỤC #define BLYNK_PRINT Serial #include #include #include #include #include #include #define bt_tb1 25 #define bt_tb2 33 #define bt_tb3 32 #define bt_mode 26 #define CBM 18 #define out_tb1 13 #define out_tb2 27 #define M1 //PWM #define M2 #define CBD 36 #define CBAS 19 #define DHTPIN #define DHTTYPE DHT11 char auth[] = "O7lxyg8McYJnKU-rAvklWIvrYRiJZ-AI"; char ssid[] = "hihi"; char pass[] = "12345678"; char server[] = "blynk-cloud.com"; // URL for Blynk Cloud Server int port = 8080; 45 Vườn Tự Động Ứng Dụng IoT int st_bt_tb1 = HIGH; int st_bt_tb2 = HIGH; int st_bt_tb3 = HIGH; int st_bt_tb4 = HIGH; int st_out_tb1 = HIGH; int st_out_tb2 = HIGH; int st_out_tb3 = HIGH; int ModeState = 0; int mkn = 0; byte ktdegree[8] = {0B01110, 0B01010, 0B01110, 0B00000, 0B00000, 0B00000, 0B00000, 0B00000}; float h , t, doamdat, tcai = 30.0, doamdatcai = 50.0; int DeviceLED = 2; int ReCnctFlag; // Reconnection Flag int ReCnctCount = 0; int mua=0; Servo servo1; DHT dht(DHTPIN, DHTTYPE); BlynkTimer timer; LiquidCrystal_I2C lcd(0x27, 16, 2); WidgetLED ledman(V10); WidgetLED ledau(V11); void setup() { Serial.begin(9600); pinMode(bt_tb1, INPUT_PULLUP); pinMode(bt_tb2, INPUT_PULLUP); pinMode(bt_tb3, INPUT_PULLUP); 46 Vườn Tự Động Ứng Dụng IoT pinMode(bt_mode, INPUT_PULLUP); pinMode(CBAS, INPUT_PULLUP); pinMode(out_tb1, OUTPUT); pinMode(out_tb2, OUTPUT); digitalWrite(M2, LOW); analogWrite(M1, 250); pinMode(CBM, INPUT); ESP32PWM::allocateTimer(0); ESP32PWM::allocateTimer(1); ESP32PWM::allocateTimer(2); ESP32PWM::allocateTimer(3); servo1.setPeriodHertz(50); // standard 50 hz servo servo1.attach(15, 500, 2400); dht.begin(); lcd.begin (); lcd.backlight(); lcd.createChar(1, ktdegree); lcd.setCursor(0, 0); lcd.print("Vuon IOT"); timer.setInterval(500L, sendSensor); timer.setInterval(100L, checkPhysicalButton); timer.setInterval(5000L, xoalcd); delay(1000); lcd.clear(); mkn = 1; } void loop() { 47 Vườn Tự Động Ứng Dụng IoT if (mkn == 1) { WiFi.begin(ssid, pass); analogWrite(M1, 250); while (WiFi.status() != WL_CONNECTED) { tcai = 30.0; doamdatcai = 50.0; delay(50); Serial.print("."); timer.run(); LCD_HT(); Chay_CD(); KTMUA(); } Blynk.config(auth, server, port); Blynk.connect(); mkn = 0; } if (WiFi.status() != WL_CONNECTED) { mkn = 1; } Blynk.run(); timer.run(); Chay_CD(); LCD_HT(); KTMUA(); } /////////////////////////////// void KTMUA() { 48 Vườn Tự Động Ứng Dụng IoT if (digitalRead(CBM) == LOW&& mua == 0) { servo1.writeMicroseconds(2000); delay(7000); servo1.writeMicroseconds(1500); delay(500); mua=1; } if (digitalRead(CBM) == HIGH && mua == 1){ servo1.writeMicroseconds(1000); delay(7000); servo1.writeMicroseconds(1500); delay(500); mua=0; } } /////////////////////////////////////////////////////////////// void xoalcd(){ lcd.clear(); } ////////////////////////////////////////////////////////////// void Chay_CD(){ if (ModeState == 1) { AutoMode(); lcd.setCursor(14, 1); lcd.print("Au"); ledman.off(); ledau.on(); } else { 49 Vườn Tự Động Ứng Dụng IoT lcd.setCursor(14, 1); lcd.print("Ma"); ledman.on(); ledau.off(); } } ////////////////////////////////////////////////////////////// void LCD_HT() { lcd.setCursor(0, 0); lcd.print("Temp: "); lcd.print(t); lcd.write(1); lcd.print("C"); lcd.setCursor(0, 1); lcd.print("HumG: "); lcd.print(doamdat); lcd.print("%"); } ///////////////////////////////////////////////////////////// void AutoMode() { if ( doamdat > doamdatcai) { st_out_tb3 = HIGH; analogWrite(M1, 250); Blynk.virtualWrite(V2, HIGH); } else { st_out_tb3 = LOW; analogWrite(M1, 0); 50 Vườn Tự Động Ứng Dụng IoT Blynk.virtualWrite(V2,LOW); Serial.println("tatbom"); } if ( t > tcai) st_out_tb2 = LOW; else st_out_tb2 = HIGH; if (digitalRead(CBAS) == HIGH) st_out_tb1 = LOW; else st_out_tb1 = HIGH; digitalWrite(out_tb1, st_out_tb1); Blynk.virtualWrite(V0, st_out_tb1); digitalWrite(out_tb2, st_out_tb2); Blynk.virtualWrite(V1, st_out_tb2); } void sendSensor() { h = dht.readHumidity(); t = dht.readTemperature(); int CBD_value = analogRead(CBD); doamdat = map( CBD_value, 0, 4095, 100, 0); Blynk.virtualWrite(V5, h); Blynk.virtualWrite(V6, t); Blynk.virtualWrite(V7, doamdat); } /////////////////////////////////////////////////////////////// 51 Vườn Tự Động Ứng Dụng IoT void checkPhysicalButton() { if (ModeState == 0) { if (digitalRead(bt_tb1) == LOW) { if (st_bt_tb1 != LOW) { st_out_tb1 = !st_out_tb1; digitalWrite(out_tb1, st_out_tb1); Blynk.virtualWrite(V0, st_out_tb1); } st_bt_tb1 = LOW; } else { st_bt_tb1 = HIGH; } if (digitalRead(bt_tb2) == LOW) { if (st_bt_tb2 != LOW) { st_out_tb2 = !st_out_tb2; digitalWrite(out_tb2, st_out_tb2); Blynk.virtualWrite(V1, st_out_tb2); } st_bt_tb2 = LOW; } else { st_bt_tb2 = HIGH; } if (digitalRead(bt_tb3) == LOW) { if (st_bt_tb3 != LOW) { st_out_tb3 = !st_out_tb3; if ( st_out_tb3 == 0) 52 Vườn Tự Động Ứng Dụng IoT analogWrite(M1, 0); else analogWrite(M1, 250); Blynk.virtualWrite(V2, st_out_tb3); } st_bt_tb3 = LOW; } else { st_bt_tb3 = HIGH; } } if (digitalRead(bt_mode) == LOW) { if (st_bt_tb4 != LOW) { ModeState = !ModeState; } st_bt_tb4 = LOW; } else { st_bt_tb4 = HIGH; } } //////////////////////////////////////////////////////////////// BLYNK_CONNECTED() { Blynk.syncVirtual(V0); Blynk.syncVirtual(V1); Blynk.syncVirtual(V2); Blynk.syncVirtual(V3); } //////////////////////////////////////////////////////////////// BLYNK_WRITE(V0) { 53 Vườn Tự Động Ứng Dụng IoT if (ModeState == 0) { st_out_tb1 = param.asInt(); digitalWrite(out_tb1, st_out_tb1); } } BLYNK_WRITE(V1) { if (ModeState == 0) { st_out_tb2 = param.asInt(); digitalWrite(out_tb2, st_out_tb2); } } BLYNK_WRITE(V2) { if (ModeState == 0) { st_out_tb3 = param.asInt(); if ( st_out_tb3 == 1) analogWrite(M1, 255); else analogWrite(M1, 0); } } BLYNK_WRITE(V3) { if (param.asInt() != 0) { ModeState = !ModeState; } } 54 Vườn Tự Động Ứng Dụng IoT BLYNK_WRITE(V8) { tcai = param.asInt(); } BLYNK_WRITE(V9) { doamdatcai = param.asInt(); } 55 Vườn Tự Động Ứng Dụng IoT TÀI LIỆU THAM KHẢO TS Lê Mỹ Hà, KS Lê Quang Huy Lập trình với Arduino Nhà xuất niên, xuất năm 2015 Sở giáo dục đào tạo Hà Nội, Giáo trình chồng trọt Nhà xuất Hà Nội, xuất năm 2012 Mai Long Dự án vườn thông minh sử dụng công nghệ Internet: baophapluat.vn/du-an-vuon-thong-minh-cua-nhom-sinh-vien-me-congnghe Ngày truy cập 20/08/2021 Nguyễn Công Hiền Các cảm biến kỹ thuật đo lường điều khiển Nhà xuất khoa học kỹ thuật, xuất 2015 56 Vườn Tự Động Ứng Dụng IoT ... install 27 Vườn Tự Động Ứng Dụng IoT Hình 3.13 Tải thư viện Blynk Kết giao diện sau điều chỉnh Hình 3.14 28 Vườn Tự Động Ứng Dụng IoT Hình 3.14 Giao diện hồn chỉnh 29 Vườn Tự Động Ứng Dụng IoT CHƯƠNG... làm tạo project Hình 3.7, hiểu ứng dụng 21 Vườn Tự Động Ứng Dụng IoT Hình 3.7 Tạo project Sau điền tên project chọn Board phần cứng Hình 3.8 22 Vườn Tự Động Ứng Dụng IoT Hình 3.8 Chọn Board Mỗi... 42] Vườn Tự Động Ứng Dụng IoT 2.4 Ứng dụng IoT nông nghiệp 2.4.1 Giới thiệu Từ lần đầu giới thiệu cách 20 năm, ứng dụng IoT mãng công nghệ phát triển cách mạng cơng nghiệp 4.0, xuất tác động