Tải bản đầy đủ - 0 (trang)
3 Hạn chế của đề tài

3 Hạn chế của đề tài

Tải bản đầy đủ - 0trang

Đồ án tốt nghiệp

Hiện tại chúng em đang phát triển thêm điều khiển qua wifi nhưng do thời gian hạn

hẹp cũng như kiến thức còn thiếu chúng em chỉ mới phát triển điều khiển, giám sát qua

web server trong mạng Lan như hình dưới đây chưa đưa ra được Internet cũng như

thiết kết lên app Ardroid.



Trường Đại học Công nghiệp Hà Nội



Trang97



Đồ án tốt nghiệp

KẾT LUẬN

Như vậy, với đề tài đồ án: “Ứng dụng cơng nghệ số hóa vào thiết kế hệ thống khay

chậu trồng rau thông minh”. Chúng em đã tiếp cận được rất nhiều kiến thức mới cũng

như những kinh nghiêm khi làm thực tiễn.

Do đây là lần đầu tiên những thành viên trong nhóm làm về một đề tài thực tế, cộng

với kiến thức còn hạn hẹp, kinh nghiệm còn non trẻ, chúng em tự thấy đề tài của mình

vẫn còn nhiều sai sót, khiếm quyết. Chúng em rất mong được sự ủng hộ và giúp đỡ

của các thầy cô giáo để đề tài của chúng em được hồn thiện hơn nữa, có nhiều cải tiến

và ứng dụng tốt hơn vào thực tiễn.

Trong quá trình thực hiện đề tài: “Ứng dụng cơng nghệ số hóa vào thiết kế hệ thống

khay chậu trồng rau thông minh” dưới sự hướng dẫn và chỉ bảo tận tình của cơ giáo

Th.S Bùi Thị Khánh Hòa chúng em đã hồn thành bản đồ án này. Đồ án này đã trình

bày được cơ bản về thiết kế và xây dựng một mơ hình trồng rau tự động hóa phục vụ

đến tận tay người tiêu dùng.

Chúng em xin cảm ơn cô giáo Th.S Bùi Thị Khánh Hòa, các thầy cơ trong khoa, các

bạn học viên đã giúp đỡ chúng em hoàn thành đồ án này.

Chúng em xin chân thành cảm ơn!



Trường Đại học Công nghiệp Hà Nội



Trang98



Đồ án tốt nghiệp



Code lập trình Arduino

#define mySerial Serial

#define simSerial Serial2

#define DEBUG true

boolean fallReady= false;

//int i=0,run1time=0;

//char BossNumber[]="+841662045987";

//String Temp="";

String SmsBuff="";

String smsNum="",smsText="";

String bufferSim="";

int sttOnOff=0b00000000;

#define espSerial Serial1

int arADC[4];

String Str[4];

char x;

int tuDong1=1,tuDong2=1,tuDong3=1,tuDong4=1;

int cheDoBom=1; //(=1 bơm theo độ ẩm đất, =2 bơm theo giờ hẹn)

int denSangTu=7;

int denSangDen=21;

int anhSangDu=300;

// Gọi thư viện DHT11

#include "DHT.h"

//#include "sim800L.h"

const int DHTPIN = 3;

//Đọc dữ liệu từ DHT11 ở chân 5 trên mạch Arduino

const int DHTTYPE = DHT11; //Khai báo loại cảm biến, có 2 loại là DHT11 và DHT22

DHT dht(DHTPIN, DHTTYPE);

float doAmKhongKhi; // độ ẩm khơng khí

float nhietDo; // nhiệt độ

float doAmKhongKhiS,nhietDoS,luxS;

#define analog1 A0 // tín hiệu độ ẩm đất vào vào A0

int doAmDat ; // độ ẩm đất

int mucDuoiDoAmDat = 60;

int mucTrenDoAmDat = 80;

#include

#define LED_PIN 13

/* Địa chỉ của DS1307 */

const byte DS1307 = 0x68;

/* Số byte dữ liệu sẽ đọc từ DS1307 */

const byte NumberOfFields = 7;

/* khai báo các biến thời gian */

int second, minute, hour, day, wday, month, year;

int gio_hen = 20, phut_hen = 53, TG_hen = 2; //bao thuc luc 18:25 chuong keu trong 2 phut

int z;



Trường Đại học Công nghiệp Hà Nội



Trang99



Đồ án tốt nghiệp

//định nghĩa các chân relay

#define IN1 4 // relay 1 bom nuoc

#define IN2 5 // relay 2 led tang 1

#define IN3 6 // relay 3 led tang 2

#define IN4 7

//dinh nghia cac nut nhan

#define dkBom A4; // nut nhan dieu khien bom

#define dkLedTang1 A5; // nut nhan dieu khien led tang 1

#define dkLedTang2 A6; // nut nhan dieu khien led tang 2

#include

#include "TSL2561.h"

int lux; // cường độ ánh sáng

TSL2561 tsl(TSL2561_ADDR_FLOAT);

// hàm này để gửi lệnh AT... vào mudule sim. hiển thị lệnh đã gửi và phản hồi của mudule sim ra

Serial Monitor

String sendCommandSim(String command, long int timeOut, boolean debug)

{

String respone="";

simSerial.println(command);

mySerial.println(command);

if(debug)

{

long int time = millis();

while((time +timeOut)> millis())

{

while(simSerial.available())

{

char c=(char)simSerial.read();

respone +=c;

delayMicroseconds(1350);

}

}

mySerial.println(respone);

}

return respone;

}

// cài đặt cho sim, chỉ cần cài 1 lần thôi cũng đc

void gmsInit()

{

do

{

while(!simSerial);

mySerial.println("---START SIM---");

String s = sendCommandSim("AT\r",1000,DEBUG);// kiem tra gui lenh AT

if(s.indexOf("OK")!=-1)

{

sendCommandSim("ATZ\r",1000,DEBUG);



Trường Đại học Công nghiệp Hà Nội



Trang100



Đồ án tốt nghiệp

delay(1000);

sendCommandSim("ATE0\r",1000,DEBUG);// tat che do echo

delay(1000);

sendCommandSim("AT&W\r",1000,DEBUG);// lưu lệnh ở trên

delay(1000);

//sendCommandSim("AT+CSCS=\"GSM\"\r",1000,DEBUG);// sim tra ve dang text

//delay(1000);

sendCommandSim("AT+CMGF=1\r",1000,DEBUG);

delay(1000);

sendCommandSim("AT+CNMI=2,2,0,0,0",1000,DEBUG);//Hiển thị ngay nếu tin nhắn gửi đến

delay(1000);

sendCommandSim("AT+CLIP=1",1000,DEBUG);

delay(1000);

//endCommandSim("AT+CSCS=\"HEX\"",1000,DEBUG);

//delay(1000);

sendCommandSim("AT&W0",1000,DEBUG);

delay(1000);

//makeCall(BossNumber);

fallReady=false;

mySerial.println("Sim is Ready");

}

else

{

mySerial.println("Sim have no respone");

fallReady=true;

}

}

while(fallReady);

}

// hàm gửi tin nhắ.

void makeSMS(String phoneNumber,String Content)

{

simSerial.print("AT+CMGF=1\r");// // Set the shield to SMS mode

delay(1000);

simSerial.print("AT+CMGS=\""); // lệnh AT gửi tin nhắn

simSerial.print(phoneNumber); // số điện thoại

simSerial.write(0x22);

// chuyển đổi kiểu dữ liệu

simSerial.write(0x0D);

simSerial.write(0x0A);

simSerial.print("\r");

delay(4000);

simSerial.print(Content); // nội dung tin nhắn

simSerial.print("\r"); //the content of the message

delay(1000);

simSerial.print((char)26);// the ASCII code of the ctrl+z is 26

delay(5000);

}

// 1 hàm gửi tin nhắn khác



Trường Đại học Công nghiệp Hà Nội



Trang101



Đồ án tốt nghiệp

void SendTextMessage(String SDT)

{

simSerial.print("AT+CMGF=1\r"); // Set the shield to SMS mode

delay(1000);

//simSerial.print("AT+CMGS=\"+841662045987\"\r");

simSerial.print("AT+CMGS=\"");

simSerial.print(SDT);

simSerial.write(0x22);

simSerial.write(0x0D);

simSerial.write(0x0A);

simSerial.print("\r");

delay(200);

simSerial.print("Tin nhan tu khu vuon gui ve Boss: ");

simSerial.print("\r"); //the content of the message

simSerial.print("Nhiet do: ");

simSerial.print(nhietDo);

simSerial.print(" oC");

simSerial.print("\r");

simSerial.print("Do am khong khi: ");

simSerial.print(doAmKhongKhi);

simSerial.print(" %");

simSerial.print("\r");

simSerial.print("Do am dat: ");

simSerial.print(doAmDat);

simSerial.print(" %");

simSerial.print("\r");

simSerial.print("Anh sang: ");

simSerial.print(lux);

simSerial.print(" lux");

simSerial.print("\r");

if(digitalRead (IN1)==LOW)

simSerial.print("Bom nuoc: Bat");

else

simSerial.print("Bom nuoc: Tat");

simSerial.print("\r");

if(digitalRead(IN2)==LOW)

simSerial.print("Led tang 1: Bat");

else

simSerial.print("Led tang 1: Tat");

simSerial.print("\r"); //the content of the message

if(digitalRead(IN3)==LOW)

simSerial.print("Led tang 2: Bat");

else

simSerial.print("Led tang 2: Tat");

simSerial.print("\r"); //the content of the message

simSerial.print("(@_@)~(^o^) ");

delay(500);



Trường Đại học Công nghiệp Hà Nội



Trang102



Đồ án tốt nghiệp

simSerial.print((char)26);//the ASCII code of the ctrl+z is 26 (required according to the datasheet)

delay(100);

simSerial.println();

delay(5000);

//tempCavg = 0;

//avgcount = 0;

}

// hàm gọi

void makeCall(String phoneNumber)

{

simSerial.print("ATD"+phoneNumber+";");

simSerial.write(0x0D);

simSerial.write(0x0A);

delay(20000);

simSerial.println("ATH"); // dung cuoc goi

delay(2000);

}

void kiemTraTaiKhoan()

{

//sendCommandSim("AT+CSCS=\"HEX\"",1000,DEBUG);

// delay(1000);

simSerial.println("AT+CUSD=1.\"");

simSerial.print("*101#");

simSerial.write(0x22);

simSerial.write(0x3B);

simSerial.write(0x0D);

simSerial.write(0x0A);

delay(5000);

}

// hàm xử lý nộ dung tin nhắn đưa về

void SmsCommand(String Text, String Number)

{

if(Text=="BAOCAO")

{

//String Number2="+841662045987";

//makeSMS(Number2,"Tin nhan tu sdt: "+smsNum+"\n"+"Nhiet do hien tai: "+t+" oC"+"\n"+"Do

am hien tai: "+h+"%");

//makeSMS(Number,"Tin nhan tu sdt: "+smsNum+"\n"+"Nhiet do hien tai: "+t+" oC"+"\n"+"Do am

hien tai: "+h+"%");

SendTextMessage(Number);

delay(2000);

//kiemTraTaiKhoan();

}

else if(Text.indexOf("BATBOM")!=-1)

{

tuDong1=0;

digitalWrite(IN1, LOW);



Trường Đại học Công nghiệp Hà Nội



Trang103



Đồ án tốt nghiệp

sttOnOff=sttOnOff|0b00000001;

}

else if(Text.indexOf("TATBOM")!=-1)

{

tuDong1=0;

digitalWrite(IN1, HIGH);

sttOnOff=sttOnOff|0b11111110;

}

else if(Text.indexOf("BATLEDTANG1")!=-1)

{

tuDong2=0;

digitalWrite(IN2, LOW);

sttOnOff=sttOnOff|0b00000010;

}

else if(Text.indexOf("TATLEDTANG1")!=-1)

{

tuDong2=0;

digitalWrite(IN2, HIGH);

sttOnOff=sttOnOff|0b11111101;

}

else if(Text.indexOf("BATLEDTANG2")!=-1)

{

tuDong3=0;

digitalWrite(IN3, LOW);

sttOnOff=sttOnOff|0b00000100;

}

else if(Text.indexOf("TATLEDTANG2")!=-1)

{

tuDong3=0;

digitalWrite(IN3, HIGH);

sttOnOff=sttOnOff|0b11111011;

}

else if(Text.indexOf("TUDONG")!=-1)

{

tuDong1=1;

tuDong2=1;

tuDong3=1;

//

sttOnOff=sttOnOff|0b11111011;

}

else if(Text.indexOf("TUDONGBOM")!=-1)

{

tuDong1=1;

}

else if(Text.indexOf("TUDONGLED1")!=-1)

{

tuDong2=1;

}

else if(Text.indexOf("TUDONGLED2")!=-1)



Trường Đại học Công nghiệp Hà Nội



Trang104



Đồ án tốt nghiệp

{

tuDong3=1;



//

//

//

//

//

//

//

//

//

//

//

//

//

//

//

//

//

//

//

//

//

//

//

//

//

//

//

//

//



}

//set:80%5h30'7,1|8-21gio500lux

else if(Text.indexOf("SET")!=-1)

{

mucDuoiDoAmDat=Text.substring(Text.indexOf(":")+1,Text.indexOf("%")).toInt();

gio_hen=Text.substring(Text.indexOf("%")+1,Text.indexOf("H")).toInt();

phut_hen=Text.substring(Text.indexOf("H")+1,Text.indexOf("'")).toInt();

TG_hen=Text.substring(Text.indexOf("'")+1,Text.indexOf(",")).toInt();

cheDoBom=Text.substring(Text.indexOf(",")+1,Text.indexOf("|")).toInt();

denSangTu=Text.substring(Text.indexOf("|")+1,Text.indexOf("-")).toInt();

denSangDen=Text.substring(Text.indexOf("-")+1,Text.indexOf("GIO")).toInt();

anhSangDu=Text.substring(Text.indexOf("O")+1,Text.indexOf("LUX")).toInt();

Serial.println("SET CAI DAT TU DONG");

Serial.print("mucDuoiDoAmDat: ");

Serial.println(mucDuoiDoAmDat);

Serial.print("gio_hen: ");

Serial.println(gio_hen);

Serial.print("phut_hen: ");

Serial.println(phut_hen);

Serial.print("TG_hen: ");

Serial.println(TG_hen);

Serial.print("cheDoBom: ");

Serial.println(cheDoBom);

Serial.print("denSangTu: ");

Serial.println(denSangTu);

Serial.print("denSangDen: ");

Serial.println(denSangDen);

Serial.print("anhSangDu: ");

Serial.println(anhSangDu);

}

// SB1:60% : set bơm chế độ 1 bật theo độ ẩm đất( đất dưới 60% thì bật bơm)

else if(Text.indexOf("SB1:")!=-1)

{

mucDuoiDoAmDat=Text.substring(Text.indexOf(":")+1,Text.indexOf("%")).toInt();

tuDong1=1;

cheDoBom=1;

if(mucDuoiDoAmDat==0) mucDuoiDoAmDat=60;

Serial.println("SET CAI DAT TU DONG BOM THEO DO AM DAT");

Serial.print("mucDuoiDoAmDat: ");

Serial.println(mucDuoiDoAmDat);

}

// SB2:5:30'7 : set bơm chế độ 2 bật theo thời gian. 5h30 bật, bật trong 7 phút.

else if(Text.indexOf("SB2:")!=-1)

{

gio_hen=Text.substring(Text.indexOf(":")+1,Text.lastIndexOf(":")).toInt();



Trường Đại học Công nghiệp Hà Nội



Trang105



Đồ án tốt nghiệp

phut_hen=Text.substring(Text.lastIndexOf(":")+1,Text.indexOf("'")).toInt();

TG_hen=Text.substring(Text.indexOf("'")+1).toInt();

tuDong1=1;

cheDoBom=2;

z=phut_hen + TG_hen;

if(gio_hen==0) gio_hen=17;

if(phut_hen==0) phut_hen=30;

if(TG_hen==0) TG_hen=3;

Serial.println("SET CAI DAT TU DONG BOM THEO GIO HEN");

Serial.print("gio_hen: ");

Serial.println(gio_hen);

Serial.print("phut_hen: ");

Serial.println(phut_hen);

Serial.print("TG_hen: ");

Serial.println(TG_hen);

}

//tgled:8-21h set thời gian bật led (led bật từ 8h tới 21h)

else if(Text.indexOf("TGLED:")!=-1)

{

denSangTu=Text.substring(Text.indexOf(":")+1,Text.indexOf("-")).toInt();

denSangDen=Text.substring(Text.indexOf("-")+1,Text.indexOf("H")).toInt();

if(denSangTu==0) denSangTu=7;

if(denSangDen==0) denSangDen=21;

Serial.println("SET CAI DAT TU DONG THOI GIAN BAT DEN");

Serial.print("denSangTu: ");

Serial.println(denSangTu);

Serial.print("denSangDen: ");

Serial.println(denSangDen);

}

// asl:500lux set cường độ ánh sáng đủ cho cây, nếu ánh sáng qua 500lux tắt led( tiết kiệm điện)

else if(Text.indexOf("ASLED:")!=-1)

{

anhSangDu=Text.substring(Text.indexOf(":")+1,Text.indexOf("LUX")).toInt();

if(anhSangDu==0) anhSangDu==200;

Serial.println("SET CAI DAT TU DONG ANH SANG ");

Serial.print("anhSangDu: ");

Serial.println(anhSangDu);

}

else

{

mySerial.println("Sai cu phap");

}

}

// hàm xử lý nội dung tin nhắn : tách số, tách lấy nội dung

void xuLySMS()

{

/*bufferSim = +CMT: "+841662045987","","18/04/05,00:19:34+28"

//copu buffer vao smsbuff



Trường Đại học Công nghiệp Hà Nội



Trang106



Đồ án tốt nghiệp

if(bufferSim.indexOf("+CMT")!=-1) //Trả về vị trí đầu tiên của ký tự hoặc string cần tìm, nếu khơng

tìm thấy thì trả về -1.

{

int vtSmsrecv;

vtSmsrecv=bufferSim.lastIndexOf("+CMT");//Trả về vị trí cuối cùng của ký tự hoặc string cần tìm,

nếu khơng tìm thấy thì trả về -1.

SmsBuff=bufferSim.substring(vtSmsrecv); // Ở cú pháp string.substring(from);, String trả về được

trích từ vị trí from đến hết.

}

if(SmsBuff!="")

{

// tach lay so dien thoai tu tin nhan

smsNum=SmsBuff.substring(SmsBuff.indexOf("+84"),SmsBuff.indexOf(",")-1);

smsNum.trim();

//string.trim(); string: string gốc. Hàm này sẽ bỏ tất cả khoảng trắng ở hai bên

string.

// tach lay noi dung tin nhan

smsText=SmsBuff.substring(SmsBuff.indexOf("\r"));

smsText.trim();

smsText.toUpperCase();

mySerial.print("co noi dung tin nhan: ");

mySerial.println(smsText);

mySerial.print("tu so dien thoai: ");

mySerial.println(smsNum);

SmsCommand(smsText,smsNum);

bufferSim="";SmsBuff="";smsNum="";smsText="";

/* if(smsNum==BossNumber)

{

SmsCommand(smsText,BossNumber);

bufferSim="";SmsBuff="";smsNum="";smsText="";

}

else

{

bufferSim="";SmsBuff="";smsNum="";smsText="";

}*/

sendCommandSim("AT+CMGDA=\"DEL ALL\"\r",1000,DEBUG); // xoa het tin nhan

delay(2000);

sendCommandSim("AT+CMGD=1,4\r",1000,DEBUG); // xoa tin nhan

delay(2000);

}

}

void serialEvent2()

{

if(Serial2.available()>0)

{

bufferSim="";



Trường Đại học Công nghiệp Hà Nội



Trang107



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

3 Hạn chế của đề tài

Tải bản đầy đủ ngay(0 tr)

×