HỆ THỐNG TƯỚI TIÊU TỰ ĐỘNG ĐIỀU KHIỂN BẰNG SÓNG RF (có code và sơ đồ mạch)

46 780 4
HỆ THỐNG TƯỚI TIÊU TỰ ĐỘNG ĐIỀU KHIỂN BẰNG SÓNG RF (có code và sơ đồ mạch)

Đ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

HỆ THỐNG TƯỚI TIÊU TỰ ĐỘNG ĐIỀU KHIỂN BẰNG SÓNG RF (có code và sơ đồ mạch) HỆ THỐNG TƯỚI TIÊU TỰ ĐỘNG ĐIỀU KHIỂN BẰNG SÓNG RF (có code và sơ đồ mạch) HỆ THỐNG TƯỚI TIÊU TỰ ĐỘNG ĐIỀU KHIỂN BẰNG SÓNG RF (có code và sơ đồ mạch) HỆ THỐNG TƯỚI TIÊU TỰ ĐỘNG ĐIỀU KHIỂN BẰNG SÓNG RF (có code và sơ đồ mạch)

HỆ THỐNG TƯỚI TIÊU TỰ ĐỘNG ĐIỀU KHIỂN BẰNG SÓNG RF MỤC LỤC DANH MỤC CÁC HÌNH VẼ DANH MỤC CÁC TỪ VIẾT TẮT I2C Inter-Integrated Circuit UART Universal Asynchronous Receiver RF Radio Frequency LCD Liquid Crystal Display LED Light Emitting Diode IoT Internet of Things Trang 5/43 CHƯƠNG GIỚI THIỆU ĐỀ TÀI 1.1 Giới thiệu chung Thật rõ ràng để thấy số phát triển ứng dụng điều khiển cảm biến nông nghiệp, bước thay đổi từ kết nối liệu thông qua dây cáp kết nối không dây ngày xuất rõ nét Khơng dây giảm chi phí lắp đặt, thêm nhiều tính linh hoạt, dễ triển khai khó khăn bảo trì Trong thời đại mà máy móc dần thay người, sự tự động hóa được ưu tiên người làm mọi thứ trở nên đơn giản mọi ngành nghề sẽ bị ảnh hưởng Nông nghiệp cũng được thừa hưởng sự phát triển của công nghệ mà trở Người nơng dân sẽ tăng được xuất mùa vụ, giảm chi phí chăm sóc, tưới tiêu 1.2 IoT nông nghiệp Việt Nam Trong thời đại công nghiệp 4.0, ngành nông nghiệp vốn được mọi người biết đến với việc phải phụ thuộc vào kinh nghiệm quan sát của người nông dân, họ phải đối mặt với thách thức việc tìm kiếm cách thức tốt để tăng gia sản xuất, tăng hiệu cũng chất lượng nông sản Cách việc áp dụng cơng nghệ vào nông nghiệp IoT sẽ biến nông nghiệp lạc hậu trở thành lĩnh vực sản xuất mang tính định hình, lĩnh vực sản xuất xác dựa số liệu thu thập được từ tổng hợp, phân tích thống kê 1.3 Truyền nhận không dây điều khiển thiết bị Cùng với sự phát triển của khoa học, công nghệ nhiều lĩnh vực nơng nghiệp ngày được cơng nghệ hóa Cơng nghệ không dây cũng được ứng dụng nhằm thu nhận liệu, bật tắt thiết bị, động cơ, tự động hóa nơng nghiệp 1.4 Lý thuyết tưới tiêu tự động mục đích của đề tài Sử dụng cảm biến kết hợp với vi điều khiển sẽ cho ta biết được thông số của đất cũng môi người xung quanh nhiệt độ, độ ẩm khơng khí Mọi thứ Hệ thớng tưới tiêu tự đợng điều khiển bằng sóng RF Trang 6/43 được thu thập dựa để đưa phương án thích hợp để mang lại môi trường phát triển lý tưởng cho trồng Tưới tiêu tự động hệ thống dựa thông số thu thập được mà điều khiển động máy bơm, bật đèn, bật quạt sấy Người dùng đơn giản cần khởi động hệ thống mọi thứ sẽ được tự động họ ln theo dõi được khu vườn của Với tiện ích sự thuận tiện cũng khoa học việc điều khiển, giám sát cũng theo dõi mà đề tài được thực 1.5 Lý thuyết độ ẩm đất 1.1.1 Khái niệm Độ ẩm đất lượng nước mẫu đất đã bị mẫu đất bị đốt nóng lên đến nhiệt độ 105°C Độ ẩm đất thường được biểu diễn theo % của khối lượng đất khơ 1.1.2 Cơng thức tính W = × 100 Trong đó: W: độ ẩm đất (%) mw: khối lượng nước đất (g) md: khối lượng đất khơ đất (g) CHƯƠNG SƠ ĐỜ KHỚI VÀ MẠCH NGUYÊN LY 1.1 Sơ đồ của hệ thống Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 7/43 Hình 2-1: Sơ đờ toàn mạch Giải thích sơ đờ: - Khối slave mạch thu nhận liệu có chức thu thập thơng số cảm biến, xử lý sau tổng hợp gửi tổng master - Khối master xử lý mọi thông tin từ nhận liệu từ slave, điều khiển động cơ, thiết bị cũng đưa liệu lên server - Khối control ở mạch điều khiển bao gồm relay để bật tắt bơm đèn báo hiệu - Khối cloud, app bao gồm gửi liệu lên internet điện thoại 1.1.3 Sơ đồ khối slave Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 8/43 Hình 2-2: Sơ đờ khới mạch slave Giải thích sơ đờ: - Khối ng̀n đơn giản cấp ng̀n cho tồn hệ thống hoạt động - Khối cảm biến ở sử dụng cảm biến độ ẩm đất cảm biến đo nhiệt độ, độ ẩm của môi trường - Khối thu phát RF sử dụng mạch thu phát RF cho phép truyền liệu không dây, tiện lợi dễ sử dụng - Khối xử lý dùng vi điều khiển PIC 16F877A đọc liệu mà cảm biến thu nhận được cũng giúp khối thu phát RF gửi liệu cho tổng 1.1.4 Sơ đồ khối master Hệ thống tưới tiêu tự đợng điều khiển bằng sóng RF Trang 9/43 Hình 2-3: Sơ đờ khới mạch master Giải thích sơ đờ: − Khối ng̀n cung cấp ng̀n cho tồn mạch − Khối cảm hiển thị, điều khiển dùng hình hiển thị phép người dùng dễ dàng theo dõi điều khiển − Khối phát RF sử dụng module RF C1101 giao tiếp UART với vi điều khiển để truyền nhận liệu − Khối xử lí dùng kit WiFi ESP8266 NodeMcu xử lý liệu, gửi lên internet, điện thoại, đảm nhận nhiệm vụ nhận liệu, so sánh, điều khiển động cơ, gửi lên server để theo dõi, thống kê, quan sát − Khối cloud giúp hiển thị, thống kê theo dõi hệ thống − Khối mobile hiển thị thông số, điều khiển thiết bị 1.6 Sơ đồ nguyên lý Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 10/43 1.1.5 Mạch slave Sơ đờ khối ng̀n cảm biến: Hình 2-4: Sơ đồ nguyên lý mạch slave Dựa theo sơ đồ khối ở ta xây dựng được sơ đồ nguyên lý Sơ đồ nguyên lý kết nối cảm biến độ ẩm đất, cảm biến DHT11 với vi điều khiển PIC 16F877A, giao tiếp UART với module RF C1101 giúp truyền phát liệu Module cảm biến độ ẩm đất thu thập liệu độ ẩm đất, kết nối với chân RA0 của PIC để đọc liệu cảm biến Module cảm biến nhiệt độ, độ ẩm DHT11 sẽ đọc nhiệt độ độ ẩm của môi trường xung quanh nó, được kết nối với chân RB0 của vi điều khiển Module RF C1101 wireless to TTL Serial 433MHz module thu phát sóng khơng dây chuyển tín hiệu Serial sóng mang 433MHz Module có 128 kênh sóng cũng 256 địa chỉ, tất liệu truyền qua UART vào module sẽ được truyền sang module khác có cùng địa kênh sóng truyền UART 1.1.6 Mạch master Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 32/43 TÀI LIỆU THAM KHAO Tiếng việt: [1] Giáo trình Vi xử lý PIC16F887 – Nguyễn Đình Phú Tiếng Anh: [2] Digital Signal Processing - Ercan E Kuruoglu [3] C Programmer's Guide to Serial Communications – Joe Campbell [4] Nodemcu dev kit using Arduino IDE: Get started with ESP8266 – Magesh Jayakumar Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 33/43 PHỤ LỤC A Code slave #include #device ADC=10 #define doam input(PIN_C0) //nhut nhan #include #fuses HS, NOPUT #fuses WDT #use delay(clock=20M) #use rs232(uart, baud=9600, parity=n,BITS=8, STOP=1,timeout=500) unsigned int8 nhan=0; #int_RDA void ngat_rda(void) { nhan=getc(); } void doamADC(void); void main() { Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 34/43 ENABLE_INTERRUPTS(GLOBAL); ENABLE_INTERRUPTS(int_RDA); unsigned int16 ADC,DoAmDat; doamADC(); unsigned int8 dh_nhiet_do,dh_nhiet_do2,dh_do_am,dh_do_am2; unsigned int8 str[20]; unsigned int8 str1[20]; setup_wdt(WDT_2304MS); printf("Da reset \n"); while(true) { //printf("%u\n",nhan); //printf("Online"); if(DHT_GetTemHumi(dh_nhiet_do,dh_nhiet_do2,dh_do_am,dh_do_am2)) { sprintf(str,"%u.%u",dh_do_am,dh_do_am2); //lcd_gotoxy(1,1); //printf(lcd_putc,"%s",str); //lcd_putc('%'); Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 35/43 //printf("%s",str); sprintf(str1,"%u.%u",dh_nhiet_do,dh_nhiet_do2); //lcd_gotoxy(1,2); //printf(lcd_putc,"%s",str); //lcd_putc(223); } delay_ms(100); /*ADC=read_adc(); DoAmDat=(ADC*100)/1023; printf("DoAmDat=%03lu,%s,%s\n",DoAmDat,str,str1); printf("ADC=%03lu,%s,%s\n",ADC,str,str1); delay_ms(1000);*/ if(nhan=='1') { //printf("Nhan dc gia tri 1\n"); ADC=read_adc(); // DoAmDat=(ADC*100)/1023; //printf("ADC=%03lu\n",ADC); //printf("%s",str); Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 36/43 //printf("%s",str1); //printf("%u.%u",dh_do_am,dh_do_am2); // printf("%03lu,%s,%s\n",ADC,str,str1); printf("Node1,%04lu,%s,%s\n",ADC,str,str1); //delay_ms(500); nhan=0; } if(nhan=='3') { printf("Nhan dc gia tri \n");nhan=0; } delay_ms(500); restart_wdt(); } } void doamADC(void) { setup_adc(ADC_CLOCK_INTERNAL); Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 37/43 setup_adc_ports(AN0); set_adc_channel(0); } Code Master /* ESP */ #include WiFiClient client; /* LCD */ #include #include LiquidCrystal_I2C lcd(0x27, 16, 2); /* Blynk */ #define BLYNK_PRINT Serial // Comment this out to disable prints and save space #include char auth[] = "cc174be0f7a041778d4a3e670da538f9"; char ssid[] = "Dien_tu_TTQ"; char pass[] = "dientuTTQ.com"; Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 38/43 /* Thinkspeak*/ const char* server = "api.thingspeak.com"; String apiKey ="QKQ3JTKPE3BRSSGN"; /* TIMER */ #include SimpleTimer timer; String input = ""; String value1, value2, value3, pass1; volatile int dad, dad1, dad2, dad_2, gtbientro,gtbientro1; volatile float temp, humi, temp2, humi2; int motor1 = 16; //D0 int motor2 = 0; //D3 int bientro = A0; unsigned long thoigian; String stringOne, stringTwo; unsigned long dem = 0; bool enable = false; Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 39/43 #define ledPin 13 //D7 #define LAMP_PIN D7 //Den void setup() { Serial.begin(9600); thoigian = millis(); stringOne = String("Node1"); stringTwo = String("Node2"); Blynk.begin(auth, ssid, pass); WiFi.begin(ssid, pass); timer.setInterval(9000L, sendUptime); timer.setInterval(41000L, sendDataTS); pinMode(motor1, OUTPUT); pinMode(motor2, OUTPUT); pinMode(ledPin, OUTPUT); Wire.begin(D2, D1); //SCL_D1 lcd.begin(); lcd.home(); _start(); Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 40/43 lcd.clear(); } void loop() { timer.run(); // Initiates SimpleTimer Blynk.run(); nhan(); nguong(); sendUptime; sendDataTS; dieukhien(); input = ""; pass1 =""; hienthi(); Serial.flush(); } void dieukhien(void) { if (dad>gtbientro) { digitalWrite(motor1,HIGH); } else { digitalWrite(motor1,LOW); } if (dad2>gtbientro) { digitalWrite(motor2,HIGH); } Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 41/43 else { digitalWrite(motor1,LOW); } } void hienthi() { //(0,3) : cot, hang lcd.setCursor(0,0); lcd.print("BT"); lcd.setCursor(3,0); lcd.print(gtbientro1); lcd.setCursor(7,0); lcd.print("DAD"); lcd.setCursor(11,0); lcd.print(dad1); lcd.setCursor(0,1); lcd.print("TEM"); lcd.setCursor(4,1); lcd.print(temp); lcd.setCursor(5,1); lcd.print("HUMI"); lcd.setCursor(10,1); lcd.print(humi); } void nguong(void) { gtbientro = analogRead(bientro); gtbientro1 = map(gtbientro,1023,0,0,100); //Ít nước:0% ==> Nhiều nước 100% Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 42/43 // Serial.print("BTro la: "); Serial.print(gtbientro1); } void nhan(void) { if ( (unsigned long) (millis() - thoigian) > 5000) { dem++; thoigian = millis(); enable = true; } if (dem % == && enable) { Serial.write('1'); enable = false; } else if (dem % == && enable) { Serial.write('2'); enable = false; } input = Serial.readString(); Serial.print(input); Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Serial.println("%"); Trang 43/43 for (int i = 0; i < input.length(); i++) { if (input.substring(i, i+1) == ",") //Node1,0789,85.0,30.0 { pass1 = input.substring(0, 5); value1 = input.substring(6,10); value2 = input.substring(11,15); value3 = input.substring(16,21); // Serial.print("GT i la: ");Serial.print(i);Serial.print(",");Serial.println(i+1); // Serial.print("Value: ");Serial.print(value1);Serial.print(",");Serial.print(value2);Serial.print(",");Serial.pr int(value3); } } if (stringOne.equals(pass1)) { // Serial.println(stringOne + " equals " + pass1); // Serial.print("Cac gia tri thu nhan duoc: "); // Serial.print(value1); Serial.print(" "); Serial.print(value2); Serial.print(" ");Serial.print(value3); dad = value1.toInt(); dad1 = map(dad,1023,0,0,100); //Ít nước:0% ==> Nhiều nước 100% Hệ thớng tưới tiêu tự động điều khiển bằng sóng RF Trang 44/43 humi = value2.toFloat(); temp = value3.toFloat(); } else if (stringTwo.equals(pass1)) { // Serial.print(value1); Serial.print(" "); Serial.print(value2); Serial.print(" ");Serial.print(value3); dad2 = value1.toInt(); dad_2 = map(dad,1023,0,0,100); //Ít nước:0% ==> Nhiều nước 100% humi2 = value2.toFloat(); temp2 = value3.toFloat(); } delay(500); } void sendUptime() { // You can send any value at any time // Please don't send more that 10 values per second Blynk.virtualWrite(0, temp); //virtual pin V10 Blynk.virtualWrite(1, humi); // virtual pin V11 Blynk.virtualWrite(2, dad1); // virtual pin V12 Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 45/43 Blynk.virtualWrite(3, gtbientro1); // virtual pin V12 Blynk.virtualWrite(4, dad1); // virtual pin V12 Blynk.virtualWrite(5, dad_2); // virtual pin V12 } void sendDataTS(void) { if (client.connect(server, 80)) { String postStr = apiKey; postStr += "&field1="; postStr += String(temp); postStr += "&field2="; postStr += String(humi); postStr += "&field3="; postStr += String(dad1); postStr += "&field4="; postStr += String(gtbientro1); postStr += "&field5="; postStr += String(dad_2); postStr += "\r\n\r\n\r\n\r\n"; client.print("POST /update HTTP/1.1\n"); client.print("Host: api.thingspeak.com\n"); client.print("Connection: close\n"); client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n"); client.print("Content-Type: application/x-www-form-urlencoded\n"); Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 46/43 client.print("Content-Length: "); client.print(postStr.length()); client.print("\n\n"); client.print(postStr); // delay(1000); } client.stop(); } void _start() { lcd.setCursor(6,0); lcd.print("DATN"); lcd.setCursor(0,1); lcd.print("Nguyen Dinh The"); delay(3000); } Hệ thống tưới tiêu tự động điều khiển bằng sóng RF ... thống tưới tiêu tự động điều khiển bằng sóng RF Trang 28/43 Hình 3-6: Mơ hình Hình 3-7: Mơ hình CHƯƠNG ĐÁNH GIÁ KẾT QUA Hệ thớng tưới tiêu tự động điều khiển bằng sóng RF Trang... 1.6 Sơ đồ nguyên lý Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 10/43 1.1.5 Mạch slave Sơ đờ khối ng̀n cảm biến: Hình 2-4: Sơ đồ nguyên lý mạch slave Dựa theo sơ đồ... (g) CHƯƠNG SƠ ĐỜ KHỚI VÀ MẠCH NGUYÊN LY 1.1 Sơ đồ của hệ thống Hệ thống tưới tiêu tự động điều khiển bằng sóng RF Trang 7/43 Hình 2-1: Sơ đờ toàn mạch Giải thích sơ đồ: - Khối

Ngày đăng: 23/02/2018, 19:45

Từ khóa liên quan

Mục lục

  • DANH MỤC CÁC HÌNH VẼ

  • DANH MỤC CÁC TỪ VIẾT TẮT

  • CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI

    • 1.1 Giới thiệu chung

    • 1.2 IoT trong nông nghiệp tại Việt Nam

    • 1.3 Truyền nhận không dây điều khiển thiết bị

    • 1.4 Lý thuyết về tưới tiêu tự động và mục đích của đề tài

    • 1.5 Lý thuyết về độ ẩm đất

      • 1.1.1 Khái niệm

      • 1.1.2 Công thức tính

      • CHƯƠNG 2. SƠ ĐỒ KHỐI VÀ MẠCH NGUYÊN LÝ

        • 1.1 Sơ đồ của hệ thống

          • 1.1.3 Sơ đồ khối slave

          • 1.1.4 Sơ đồ khối master

          • 1.6 Sơ đồ nguyên lý

            • 1.1.5 Mạch slave

            • 1.1.6 Mạch master

            • 1.7 Sơ đồ giải thuật

              • 1.1.7 Khối slave

              • 1.1.8 Khối master

              • 1.8 Một số ví dụ về cây trồng và độ ẩm cần thiết

                • 1.1.9 Khoai lang

                • 1.1.10 Cải bắp

                • 1.9 Một số linh kiện chính được sử dụng trong mạch

                  • 1.1.11 Giới thiệu về PIC 16F877A

                  • 1.1.12 Cảm biến độ ẩm đất

                  • 1.1.13 Cảm biến nhiệt độ, độ ẩm

                  • 1.1.14 Module RF C1101 443MHz

Tài liệu cùng người dùng

Tài liệu liên quan