#include//dht11库
#include//定时器库的 头文件
#include
#include//引用I2C库
LiquidCrystal_I2C lcd(0x3F,16,2); //设置LCD1602设备地址,这里的地址是0x3F,一般是0x20,或者0x27,具体看模块手册
int PIRpin=A1;//红外传感器引脚号
int val1 = 0; //存储光敏电阻值的变量
int w=0;//设定红外初始值
int o=0;//定义手动自动开光初始值
int h=38;//设定温度初始值
int p=0;//设定温度升高暂存变量
int k=0;//设定温度降低暂存变量
int photocellPin = 2; //光敏电阻连接模拟端口【A2】
int ledPin = 7; // LED灯连接数字端口【D7】
int ss[512];
dht11 DHT11;
#define DHT11PIN 4//设定4号引脚为温度输入
#define DHT11PIN1 5//设定5号引脚为温度输入
#define turang A0//设定土壤输入为A0口
#define turangq A4//设定土壤输入为A0口
#define fen 8 //定义风扇引脚为8
#define shuiben 9 //定义水泵引脚为9
void setup(){
Serial.begin(9600);
Serial.println("AT+CIPMODE=1"); //WiFi连接服务器
delay(1000);
Serial.println("AT+CWJAP=\"TP-LINK_4226\",\"19960710\"");
delay(5000);
Serial.println("AT+CIPSTART=\"TCP\",\"115.29.109.104\",6555");
delay(5000);
Serial.println("AT+CIPSEND");
delay(3000);
MsTimer2::set(100, falsh); //中断设置函数,每100ms进入一次中断
lcd.init(); //初始化LCD
lcd.backlight(); //设置LCD背景等亮
lcd.setCursor(0,0); //设置显示指针
lcd.print("Welcome to "); //输出字符到LCD1602上
lcd.setCursor(0,1);
lcd.print("It's my system");
delay(2000);
lcd.clear();
pinMode(PIRpin,INPUT);//红外传感器输入模式
pinMode(turang,INPUT);//土壤湿度输入模式
pinMode(fen,OUTPUT); //设定LED引脚为输出状态
pinMode(6,OUTPUT);//设定蜂鸣器报警为输出
pinMode(shuiben,OUTPUT);//定义水泵为输出模式
pinMode(ledPin,OUTPUT);//定义水泵为输出模式
for(int i=10;i