766游戏网官网毕业论文系列的因WiFi的智能农业大棚管控系统规划代码

#include
<dht11.h>//dht11库

#include
<MsTimer2.h>               //定时器库的 头文件

#include
<Wire.h>   

#include
<LiquidCrystal_I2C.h> //引用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<14;i++)   //步进电机

  {

   pinMode(i,OUTPUT);
  //设定步进电机输出引脚

   }

   }

void
loop(){    

   DHT11.read(DHT11PIN);//读取空气中的温湿度

   int
n =DHT11.temperature;

   int
dht11temp = DHT11.temperature;

   int
l = DHT11.humidity;

   int
dht11hum = DHT11.humidity;

   DHT11.read(DHT11PIN1);

   int c
=DHT11.temperature;//负责打印

   int
dht11temp1 = DHT11.temperature;

   int
y= DHT11.humidity;

   int
dht11hum1 = DHT11.humidity;

   lcd.setCursor(0,0);
 

   lcd.print(“tem:”);
    

   lcd.print(dht11temp);

   lcd.print(“tem1:”);
    

   lcd.print(dht11temp1);

   lcd.setCursor(0,1);

   lcd.print(“hum:”);

   lcd.print(dht11hum);

   lcd.print(“hum1:”)
;

   lcd.print(dht11hum1);

   Serial.println(“自动控制:B   手机控制:A”);

 

   Serial.print(“温度达限值:”);

   Serial.print(h);

   Serial.println(“度”);

   Serial.print(“温度一示数读数:”);

   Serial.print(n);

   Serial.println(“度”);

   Serial.print(“湿度一示数读数:”);

   Serial.print(l);

   Serial.println(“%”);

   Serial.print(“温度二示数读数:”);

   Serial.print(c);

   Serial.println(“度”);

   Serial.print(“湿度二示数读数:”);

   Serial.print(y);

   Serial.println(“%”);

   Serial.print(“土壤湿度一参数:”);

   int
m=analogRead(turang);//读取读数

   if(m>500){

   Serial.println(“干旱,请浇水”);

   }

   if(m<500){

   Serial.println(“湿润”);

   }
 

   int
r=analogRead(A3);//读取雨滴传感器的读数

   Serial.print(“是否下雨啦:”);

   if(r<500){

   Serial.println(“是”);

   }

   if(r>1000){

   Serial.println(“否”);

   }

   Serial.print(“光照:”);

   if(val1>500){

   Serial.println(“没有光照”);

   }

   if(val1<200){

   Serial.println(“有光照”);

   }

   int f=0;//定义串口接收数据初始值

   while(Serial.available())//串口接收到数

   {

   ss[f++]=Serial.read();

   delay(2);

   }

   if(f>=0){

   if(ss[0]==65){//当接到至之数码也A时,为机关控制

   o=0;

   }

   if(ss[0]==66){//当收到至之多少也B时,为按键控制

   o=1;

   }

   if(ss[0]==67){//当接受至的数量为B时,为按键控制

   p=1-p;

   if(p==1){

   h=h+1;

   delay(100);

   return;

   p=0;

   }

   }

   if(ss[0]==68){//当接到至之数码为B时,为按键控制

   k=1-k;

   if(k==1){

   h=h-1;

   delay(100);

   return;

   k=0;

   }

   }

   else
if(ss[0]==48){

   digitalWrite(fen,HIGH);
 //开启LED灯

   }

   else
if(ss[0]==49){

   digitalWrite(fen,LOW);
 //开启LED灯

   }

   else
if(ss[0]==50){

   digitalWrite(shuiben,HIGH);
 //开启LED灯

   }

   else
if(ss[0]==51){

   digitalWrite(shuiben,LOW);
 //开启LED灯

   }

   else
if(ss[0]==52){

   digitalWrite(ledPin,HIGH);
 //开启LED灯

   }

   else
if(ss[0]==53){

 digitalWrite(ledPin,LOW);
 //开启LED灯

   }
 

   else
if(ss[0]==54){

  

   }
 

    else
if(ss[0]==55){

  

   }

   else
if(ss[0]==56){

 

   }

   else
if(ss[0]==57){

   }

   }

   if
(o==1){//自动控制  

      MsTimer2::start();
               //开始计时

   if(n>h){
     

  digitalWrite(fen,HIGH);
 

  }

  else{

  digitalWrite(fen,LOW);
 

  }

  if(m>500){

  digitalWrite(shuiben,HIGH);
 //开启LED灯

  }

  else{

  digitalWrite(shuiben,LOW);
 

  }
    

  if(
r<500){    

  int
a;

  a=128;//

  while(a++)

  {

  for(int
i=13;i>9;i–)

  {

  digitalWrite(i,1);

  delay(10);

  digitalWrite(i,0);

  }

  if(a==512)

  {

  delay(1000);

  return;

  }

  }

  }

  if(
r>1000){

  }
      

  

  }

  else if
(o==0){//手机控制

  MsTimer2::stop();

  }

 

  int
w=analogRead(PIRpin);//读取读数

  Serial.print(“是否有人闯入:”);

  if(w>400){

  Serial.println(“有人闯入!!!”);

  }

  else{

  Serial.println(“正常”);

  }

  if(w>200){

  for(int
i=201;i<=800;i++)                    //用循环的计拿频率从200HZ 添及800HZ

  {

  tone(6,i);
                           //在四如泣如诉端口输出频率

  delay(5);
  //该频率维持5毫秒    

  }

  delay(4000);
                           //最高频率下保持4秒钟

  for(int
i=800;i>=200;i–)

  {

  tone(6,i);

  delay(10);

  }

  if(int
i=200){

  noTone(6);

  delay(1000);

  }

  else{

  }

  }
        

  delay(2000);

  }

void
falsh()   {

  val1 =
analogRead(photocellPin);    // 读取光敏电阻的价值

  if(val1>=112){

  digitalWrite(ledPin,
HIGH);

  }else{

  digitalWrite(ledPin,
LOW);

  }
       

  }

目     录

 

 

摘要
……………………………………………………………………………………Ⅰ

第一章 绪论……………………………………………………………………………()

1.1
引言………………………………………………………………………………()

1.2
 研究背景…………………………………………………………………………()

亚章节智能农业控管系统总体设计方案……………………………………………()

2.1智能农业控管系统概述…………………………………………………………()

2.1.1意义要求………………………………………………………………………()

2.2智能农业控管系统硬件设计方案…………………………………………………()

2.2.1多少处理器…………………………………………………………………………()

2.2.2传感器……………………………………………………………………………()

2.2.3微计算机…………………………………………………………………………()

2.2.4数展示…………………………………………………………………………()

2.3智能农业控管系统的软件设计方案………………………………………………()

其三段  智能农业大棚控管系统的硬件设计与促成………………………………()

3.1有些处理器的挑选……………………………………………………………………()

3.2
Arduino简介………………………………………………………………………()

3.3 Arduino
UNO开发原理图…………………………………………………………()

3.4Arduino
UNO主要功用介绍………………………………………………………()

季段  智能农业大棚控管系统的软件设计………………………………………()

4.1主次设计框架………………………………………………………………………()

4.1.1主程序流程图……………………………………………………………………()

4.2每模块程序设计……………………………………………………………………()

4.2.1数额搜集模块设计………………………………………………………………()

(1)DHT11模块………………………………………………………………………()

(2)土壤湿度模块……………………………………………………………………()

(3)光敏传感器………………………………………………………………………()

(4)热释电红外感应…………………………………………………………………()

(5)LCD1602著模块程序设计……………………………………………………()

(6)手机显示与控制模块设计……………………………………………………()

4.3推行模块和报警装置设计………………………………………………………()

4.3.1实施模块流程…………………………………………………………………()

4.3.2报警模块流程图…………………………………………………………………()

第五段  系统调试……………………………………………………………………()

5.1硬件调试……………………………………………………………………………()

5.2软件调试……………………………………………………………………………()

5.3手机远程操控调试…………………………………………………………………()

第六章  结 论…………………………………………………………………………()

参考文献 XXXXXXXXXXXX
……………………………………………………………() 

附表XXXXXXXXXXXXXXXX
 …………………………………………………………()

 

 

 

 

 

 

 

 

 

 

 

 

 

据悉WiFi的智能农业大棚管控系统规划

 

 [摘要]遵课题就是怎么着好实用地对温室环境开展监测以及操纵,如何提高农业生产信息化水平,通过对大棚环境之督察之钻研现状及发展趋向,运用Aduino开发板,并经该动DHT11熬湿度传感器模块、Risym土壤湿度传感器控制器模块、HC-SR501人体红外感应模块、Risym光敏电阻传感器模块、Risym高灵敏雨滴雨水控制器模块、A\D转换器、LCD液晶显示器,由水泵、排风扇、蜂鸣器、LED灯等构成的电器控制体系,在元器件者使继电器模块,并用类C语言写起程序代码组成整系统,以贯彻智能控管。

第一章  绪论

1.1引言

物联网是经各种信息传播设备以及传感器系统、射频识别、红外感应器、条码与二维码、全球定位系统、激光扫描器等和任何根据物物通信模式的短途无线传感器网络,通过这无异于大网可以进行信息相互、传递、通信,从而实现对体的智能化识别、定位、跟踪、监控及治本。在物联网时代,通过在千头万绪的物体中镶嵌一栽短距离收发器,人类在信与通信世界里拿获取一个初的牵连维度。从另外时刻别地点的人数与人口中间的维系连接扩展及人及物与物与物之间的联络连接。

1.2切磋背景

用作世界上最好关键的农业大国之一,使用智慧是的管理模式就着重。传统的农业因大量底人工,手工工具和部分相对简单的机械设备,农民基本靠经验来种,导致农业所吃的水资源、化肥、农药等都以迅速增长,数据一定惊人,但农业产量相对较逊色,依靠在落后的产技术、劳动工具来保障简单的养为毫无意义。传统农业的技术落后,使得农业产量增长过于缓慢,而以浪费大量之人力物力,从而致使生产效率没有升迁空间。综合上述,在现代化的农业遭遇引入物联网技术,通过传感器实时收集农田的环境温湿度数据、土壤温湿度、光照强度、二氧化碳浓度、PH值、土壤有机含量值等消息,并透过无线的方式传输至中央决定体系,使用户能够随时随地的支配土地的实时状态,并经过电脑还是手机远程控制配备,以实现现代农业的自动化、信息化与智能化。

其次章节  智能农业控管系统总体设计方案

2.1智能农业控管系统概述

2.1.1意义要求

(1)系统会落实对大棚大棚外之空气被的温湿度、土壤被之湿度、光照强度、是否有人随意闯入达到实时督查。

(2)当温室大棚内某起条件指标上预设值时系统如发生相应的反映控制信息。

(3)温室大棚外被监测的氛围中的温湿度数据以LCD屏上显得出来,用户还能透过手机上展示的实时的通俗易懂的数以机关和手机控制两种植艺术以促成对大棚内有关设施的决定。

(4)本网硬件设计来WiFi上传数,能够落实对网的长距离管控。

技术指标

Arduino规格指标参数

工作电压:5V

输入电压:接上USB时无需外部供电或外部7V~12V DC输入

输出电压:5V DC输入和3.3V DC输有和表面电源输入

微机:ATmega328

钟表频率:16 MHZ

检测参数和范围值见表

所选择传感器

检测参数

检测范围

检测精度

DHT11 

温度

0~50℃

±2℃

湿度

20%~90%RH

±5%RH

土壤湿度

湿度

245~1023

±1

HC-SR501

感应

5~7米

\

TSL2561

光照

0~70000勒克斯(Lx)

±50Lx

雨滴

雨滴

0~1023

\

2.2智能农业控管系统硬件设计方案

智能农业控管系统有一个计算机作为主控,在该微处理器的外展开配备扩展如ESP-8266作为系统总是网络的WiFi、传感器作为检测装备、LCD1602作为液晶显示屏、蜂鸣器作为报警装置、下图表示智能农业控管系统的硬件结构原理图。

 

智能农业控管系统硬件原理图

2.2.1略处理器

电脑又如MCU,它是出于同切片或者个别几乎片大规模集成电路组成,具有电路执行控制能力与算数逻辑运算功能,在小型电脑被负责“大脑”一位置。本智能农业控管系统的硬件配备就是一定给同一部微型电脑,其中“大脑”一职Arduino当。

2.2.2传感器

传感器(英文名称:transducer/sensor)是同一栽检测装置,能感受及吃测量的音信,并能将感受及之音讯,按自然规律变换成为电信号或其他所用形式之信息输出,以满足信息的导、处理、存储、显示、记录以及决定相当要求。通常由感应元件和转换元件组成。本智能农业大棚大棚用到的传感器来DHT11热湿度传感器模块、Risym土壤湿度传感器控制器模块、HC-SR501人体红外感应模块、Risym光敏电阻传感器模块、Risym高灵敏雨滴雨水控制器模块作为本管控系统的监测模块,他们各自承担温室大棚中的氛围中的温度、土壤的湿度、光照的强度等作物生长得的环境因素和暖棚外是否有人闯入。

2.2.3数展示

数据显示是为重新好之兑现人机交互,方便用户的用户操作,使用户还直观的询问及温室大棚内各环境指标的实时变化。本智能农业控管系统所选取的示模块为LCD1602显示屏以及经过手机APP显示,通过APP,用户可以在其他地方任何时刻了解大棚外之实时数据并展开手机控制或选择自行控制。

2.2.4报警装置

   为了防不法分子进入大棚外进行破坏,本系统增加啦报警装置,当有人进来大棚外经常,蜂鸣器会拉响警报,手机上会见显得有人闯入。

2.3智能农业控管系统的软件设计方案

智能农业控管系统的硬件电路确定后,软件负责整个系统的基本点职能实现。由软件来兑现硬件电路的运转,其中包数据搜集、数码显示、环境调节、报警等。本系统的软件设计需要发出一个细致到的进程。首先要了解的排列有智能农业监测体系受列系统部件和软件设计的连带特点,并拓展定义和认证,作为软件设计的根据。在这个基础及描绘起软件设计的为主框架图、主程序流程图。再以程序流程图中罗列的平等文山会海操作用类C语言编写出来,然后经Arduino IDE编译调试,调试好后下充斥至Arduino内,至此软件设计基本形成。

其三节 智能农业大棚控管系统的硬件设计与促成

3.1有点处理器的挑

遵循智能农业大棚大棚控管系统挑选的微机为Arduino
UNO。

3.2
Arduino简介

Arduino是同等磨蹭便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(Arduino
IDE)。它适用于爱好者、艺术家、设计师以及对此”互动”有趣味的情人等。

3.3
Arduino UNO开发原理图

 

3.4
Arduino UNO主要功能介绍

支撑USB接口协议及供电(不需要外接电源)

支持ISP下充斥功能

14路程数字输入输出口:工作电压为5V,每一起能出口以及通最酷电流为40mA。

(1)串口信号RX(0号)、TX(1如泣如诉):与中ATmega8U2
USB-to-TTL芯片相连,提供TTL电压水平的串口接收信号。

(2)外部中断(2如泣如诉以及3号):触发中断引脚,可如果成达升沿、下降沿或以触发。

(3)脉冲宽度调制PWM(3、5、6、9、10、11):提供6里程8号PWM输出。

(4)SPI(10(SS),11(MOS1),12(MOS0),13(SCK));SPI通信接口。

(5)LED(13哀号):Arduino专门用于测试LED的保存接口,输出为大时接触来得LED,输出为低时LED熄灭。

6路学输入A0到A5,每一起持有10个分辨率(即输入有1024单不同值),默认输入信号范围吗0~5V。

AREF:模拟输入信号的参考电压。

Reset:信号呢低时复位单片机芯片。

直流电流:40mA
 (I/O端口)

直流电流:50mA
 (3.3V端口)

Flash内存:32KB(ATmega328中间0.5KB用于引导程序)

季章 智能农业大棚控管系统的软件设计

仍智能农业监测体系运转过程被要包括AD采集,数码显示,反馈控制,检测报警四好模块,其主干框架如图所示:

4.1程序设计框架

4.1.1主程序流程图:

程序主流程图

主程序是一个LOOP循环,其重点流程是:系统上电首先对主控各个IO口进行布局,设置各个环境变量,并针对环境变量阈值进行赋值,以及调用各个模块的初始化函数,然后于LOOP循环中调用各个模块的数码搜集函数,LCD屏显示函数,然后针对各个环境数据开展判定,看是否接触中断进行调控,或者进行报警。

4.2每模块程序设计

4.2.1数据收集模块设计

(1)DHT11模块

程序设计流程图如图所示:

(2)土壤湿度模块

次设计流程图如图所示:

(3)光敏传感器

次第设计流程图如图所示:

(3)雨滴传感器

程序设计流程图如图所示:

(4)热释电红外感应

先后设计流程图如图所示:

(5)LCD1602展示模块程序设计

程序设计流程图如图所示:

(6)手机显示与控制模块设计

次第设计流程图如图所示:

4.3执模块和报警装置设计

实行模块和报警模块主要是本着LED灯、水泵、风扇、雨棚、蜂鸣器进行初始化及控制,当本控管系统监测及有起环境指标超标时,做出相关调控。报警模块是依据是否有人上来控制是否报警。

4.3.1执模块流程

4.3.2报警模块流程图

第五章节 系统调试

依据本智能农业控管系统的方案设计要求,调试过程要分为三大部分:硬件调试、软件调试以及手机远程操控调试。

5.1硬件调试

用各个传感器模块电路按照逻辑图连接起来,根据器件规格和极性看连接是否出无意,然后用万用表逐个检测调试,看是否发梗塞、断路现象。检查过传感器模块后再度检测电源模块有无阂现象,确保电源及电后输出电压啊专业5V电压,降压电路能出口3.3V电压。

5.2软件调试

遵照智能农业控管系统以Arduino为主控芯片,将各个传感器模块接入IO口后,利用对Arduino IDE系统软件部分进行编译和调试。根据编译结果,修改有关错误提示。

5.3手机远程操控调试

用逐一传感器模块电路按照逻辑图连接起来,并将代码下充斥及主控芯片中,按操作顺序连接上WiFi,打开手机用户端,检测是否实时上传数据,发送指令,看有关设备是否仍指令进行运行,如果为,则开展代码修改,直到本有关指令进行操作。

第六章 结 论

以计划从选题、论证、查阅有关材料、确定设计方案到统筹的贯彻内外共历时近两个月,并且基本实现了预想效果,能够健康显示监测环境遭到之温度、湿度、光照强度、以及土壤湿度。初步成功了条件指标超过阈值自动进行调控,并且当有人进入时,蜂鸣器正常报警,并且就啦远程监控及治本。本统筹尚留存一些不足之处,首先检测精度不能够说特别高,由于所选择传感器限制测量精度只能算是普通档次,但对此普通的温室大棚环境检测已经足够矣。若得再规范的检测数据要更换又美妙的传感器。

介于自己水平有限,设计被难免还起另不足之处,在是敬请大家见谅。

 

 

 

 

 

参考文献:

[1] 郑少仁,王海涛,赵志峰等.Ad hoc网络技术【M】.北京:人民邮电出版社,2005,P1-P2

[2]  杨硕.[基于无线传感器网络的温室植物生长光照强度监控体系的研究]重庆大学,2009,P13-P15

[3]
陈文智,王总辉. 嵌入式系统原理与设计. 清华大学出版社,2011

[4]
谭浩强,C程序设计【M】,于欣龙译.北京:人民邮电出版社,2012

[5]
佟长福.AVR单片机GCC程序设计【M】. 北京:北京航空航天大学出版社,2006

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

附表

智能农业控管系统全体代码:

#include
<dht11.h>//dht11库

#include
<MsTimer2.h>               //定时器库的 头文件

#include
<Wire.h>   

#include
<LiquidCrystal_I2C.h> //引用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<14;i++)   //步进电机

  {

   pinMode(i,OUTPUT);
  //设定步进电机输出引脚

   }

   }

void
loop(){    

   DHT11.read(DHT11PIN);//读取空气被之温湿度

   int
n =DHT11.temperature;

   int
dht11temp = DHT11.temperature;

   int
l = DHT11.humidity;

   int
dht11hum = DHT11.humidity;

   DHT11.read(DHT11PIN1);

   int c
=DHT11.temperature;//负责打印

   int
dht11temp1 = DHT11.temperature;

   int
y= DHT11.humidity;

   int
dht11hum1 = DHT11.humidity;

   lcd.setCursor(0,0);
 

   lcd.print(“tem:”);
    

   lcd.print(dht11temp);

   lcd.print(“tem1:”);
    

   lcd.print(dht11temp1);

   lcd.setCursor(0,1);

   lcd.print(“hum:”);

   lcd.print(dht11hum);

   lcd.print(“hum1:”)
;

   lcd.print(dht11hum1);

   Serial.println(“自动控制:B   手机控制:A”);

 

   Serial.print(“温度高达限值:”);

   Serial.print(h);

   Serial.println(“度”);

   Serial.print(“温度一示数读数:”);

   Serial.print(n);

   Serial.println(“度”);

   Serial.print(“湿度一示数读数:”);

   Serial.print(l);

   Serial.println(“%”);

   Serial.print(“温度二示数读数:”);

   Serial.print(c);

   Serial.println(“度”);

   Serial.print(“湿度二示数读数:”);

   Serial.print(y);

   Serial.println(“%”);

   Serial.print(“土壤湿度一参数:”);

   int
m=analogRead(turang);//读取读数

   if(m>500){

   Serial.println(“干旱,请浇水”);

   }

   if(m<500){

   Serial.println(“湿润”);

   }
 

   int
r=analogRead(A3);//读取雨滴传感器的读数

   Serial.print(“是否下雨啦:”);

   if(r<500){

   Serial.println(“是”);

   }

   if(r>1000){

   Serial.println(“否”);

   }

   Serial.print(“光照:”);

   if(val1>500){

   Serial.println(“没有光照”);

   }

   if(val1<200){

   Serial.println(“有光照”);

   }

   int f=0;//定义串口接收数据初始值

   while(Serial.available())//串口接收及多少

   {

   ss[f++]=Serial.read();

   delay(2);

   }

   if(f>=0){

   if(ss[0]==65){//当接受至的数额也A时,为全自动控制

   o=0;

   }

   if(ss[0]==66){//当接过至之数据为B时,为按键控制

   o=1;

   }

   if(ss[0]==67){//当收到至的数目为B时,为按键控制

   p=1-p;

   if(p==1){

   h=h+1;

   delay(100);

   return;

   p=0;

   }

   }

   if(ss[0]==68){//当接受到的多少为B时,为按键控制

   k=1-k;

   if(k==1){

   h=h-1;

   delay(100);

   return;

   k=0;

   }

   }

   else
if(ss[0]==48){

   digitalWrite(fen,HIGH);
 //开启LED灯

   }

   else
if(ss[0]==49){

   digitalWrite(fen,LOW);
 //开启LED灯

   }

   else
if(ss[0]==50){

   digitalWrite(shuiben,HIGH);
 //开启LED灯

   }

   else
if(ss[0]==51){

   digitalWrite(shuiben,LOW);
 //开启LED灯

   }

   else
if(ss[0]==52){

   digitalWrite(ledPin,HIGH);
 //开启LED灯

   }

   else
if(ss[0]==53){

 digitalWrite(ledPin,LOW);
 //开启LED灯

   }
 

   else
if(ss[0]==54){

  

   }
 

    else
if(ss[0]==55){

  

   }

   else
if(ss[0]==56){

 

   }

   else
if(ss[0]==57){

   }

   }

   if
(o==1){//自动控制  

      MsTimer2::start();
               //开始计时

   if(n>h){
     

  digitalWrite(fen,HIGH);
 

  }

  else{

  digitalWrite(fen,LOW);
 

  }

  if(m>500){

  digitalWrite(shuiben,HIGH);
 //开启LED灯

  }

  else{

  digitalWrite(shuiben,LOW);
 

  }
    

  if(
r<500){    

  int
a;

  a=128;//

  while(a++)

  {

  for(int
i=13;i>9;i–)

  {

  digitalWrite(i,1);

  delay(10);

  digitalWrite(i,0);

  }

  if(a==512)

  {

  delay(1000);

  return;

  }

  }

  }

  if(
r>1000){

  }
      

  

  }

  else if
(o==0){//手机控制

  MsTimer2::stop();

  }

 

  int
w=analogRead(PIRpin);//读取读数

  Serial.print(“是否有人闯入:”);

  if(w>400){

  Serial.println(“有人闯入!!!”);

  }

  else{

  Serial.println(“正常”);

  }

  if(w>200){

  for(int
i=201;i<=800;i++)                    //用循环的计拿频率从200HZ 加至800HZ

  {

  tone(6,i);
                           //在四号端口输出频率

  delay(5);
  //该频率维持5毫秒    

  }

  delay(4000);
                           //最高频率下维持4秒钟

  for(int
i=800;i>=200;i–)

  {

  tone(6,i);

  delay(10);

  }

  if(int
i=200){

  noTone(6);

  delay(1000);

  }

  else{

  }

  }
        

  delay(2000);

  }

void
falsh()   {

  val1 =
analogRead(photocellPin);    // 读取光敏电阻的价值

  if(val1>=112){

  digitalWrite(ledPin,
HIGH);

  }else{

  digitalWrite(ledPin,
LOW);

  }
       

  }

发表评论

电子邮件地址不会被公开。 必填项已用*标注