基于单片机的农业大棚控制监测系统

收藏和点赞,您的关注是我创作的动力

概要

  农业的生产当中经常要用到的基本的参数有湿度以及温度,这两者对农作物的品质与产量会产生很大程度的影响。本次设计方案采用的是把单片机、计算机技术以及传感器三者结合到一起从而设计得出一套完整的现代化温室大棚所需要的温湿度数据的采集系统。
  这个设计的关键部分是要使用到单片机最小应用系统。设计里检测的部分则是用的bh1750fvi光照检测型传感器、一种有已校准数字信号输出的温湿度传感器(DHT11)以及使用1602液晶的显示设备。拥有这几种传感器,检测部分就能够同时显示出系统检查出的具体的湿度、温度以及光照的强度等项目。除此之外本次设计的系统里还包含有蜂鸣器电路、发光二极管(LED)灯电路以及键盘电路等,这些电路结合形成了此次设计里的超限报警版块。运用到上述技术设计出的整个结构功耗不高、简单而紧凑、有较强的抗干扰能力,总体上来说性能较好,是一类可以将便捷与智能结合的能完成湿度、温度加上光照在内的具体测量的一个系统。

关键词:温室大棚;温度和湿度传感器;单片机

一、研究的主要内容

2.1 设计要求

(1)对51型的单片机具体的开发环境要进行了解,同时要掌握C语言的具体运用然后对工程文件进行编写;
(2)对于设计需用单片机的内部的具体结构包括设计中要用的资源都要熟悉。除此之外还要会对软件以及硬件设备进行基本的调试;
(3)独立完成最小系统的构建并且建立与之有关的硬件的具体电路结构;
(4)对湿度、温度和光照强度进行检测的原理以及方法要熟练。

2.2 方案选择

2.2.1 温湿度传感器的选择

  方案一:选dht11作湿度和温度的检测模块。作为一种数字输出的复合型传感器,DHT11包含有NTC式温度检测和电阻式干事两种元件,能够检测20%—90%RH湿度,有±5%RH的误差,检测的温度为0到50℃,有±2℃的误差。
  方案二:选择SHT11作温度和湿度的检测模块。SHT11作为一种精度比较高的元件,湿度测量范围为0—100%RH,测量精度为0.1%RH;温度测量范围为-40-123.8℃,精度为±0.01℃。价格较高。
  本次是大棚监测,对精度要求不高,应选择方案一。

2.2.2 光照传感器的选择

  选用光照传感器用bh1750fvi作为例子,它具有极灵敏的模块与极广泛的测量范围,且其几乎不用依赖光源。传感器使用iic接口做到与单片机之间数据的传输,跳过ad转换,直接输出当前环境下的光照强度的具体结果,输出结果选用勒克斯作为其单位。

2.2.3 单片机的选择

  选择单片机作系统控制器是因为它具备许多优点,比如性价比极高、低功耗以及非常可靠等。正是因为它具有的这些优点使得它快速发展壮大。单片机有着强大的计算能力,能够完成逻辑功能的各种运算,因而在编程上非常灵活。另一方面它带有计数器和定时器,因此能被用于计数和定时。此外,单片机的体积也不大,成本又较为低廉,这些也是使其得到广泛运用的优势。单片机的选择有以下三种方案。
  方案一:选择德州仪器(TI)公司生产的STM32作主芯片,数字信号处理芯片(DSP)是一种非常专业的运算型芯片。这款芯片具有超高的运行速度以及极为稳定的性能,适合用于进行复杂的运算,但相对的这款芯片的成本比较高。
  方案二:选择STC89C51型号的单片机作主芯片。STC89C51是一款入门级的单片机,它的价格比较低,适用面广泛,可以较好的应对多种状况,而且比较容易对它进行后期的维护与升级。
  方案三:选择ATML公司的AT型号的单片机。这一款价格比较便宜,但缺点是芯片的运行速度不高且只能做简单的运算。
  经过分析,最终选择方案二,这个方案选择的单片机价格比较合适,且性能又稳定,其后期的维护和升级也比较容易进行。

二、系统硬件设计

3.1 整体方案设计

3.1.1 系统概述

  系统以stc89c2型号的单片机作核心器件,并且把电容和晶振等器件组合构建出最小系统。在最小系统的周围是其他的模块。这里面,温度和湿度采集器选择的是DHT11型号的传感器,用来把采取好的湿温度数据输送进单片机。输入设置版块选用的按键是轻触型按键。报警板块用的是发光二极管与蜂鸣器。gy-30把对光照强度采取到的结果输送至单片机。显示设备用的是1602型液晶。电源的选择则是USB 5V。

3.1.2 系统框图

在这里插入图片描述

图3-1 系统框图

三、软件设计

4.1 程序语言及开发环境

  作为一类能设计计算机程序的语言,C语言同时具备了汇编语言和高级语言带有的一部分特点。它能用来设计工作系统,也能对具体的应用程序进行编写,也可以把它用作设计应用程序的语言,用来编写对计算机硬件没有依赖性的应用程序。它有非常广的应用范围以及极强对数据进行处理的能力。现在不止是软件开发需要用到它,许多的科学研究也要用到C语言。它能够编写软件。具体的运用详见单片机及其内嵌系统的具体开发。
美国的keil software这个公司研究出的51系列的C语言系统,其和汇编进行比较在功能结构以及可维护性等方面都有着明显的优势,容易学也容易使用。这个系统还提供了囊括C语言的编译器、连接器以及库管理强大装置的一套非常成熟的研发方案。这几个部分能够组合到一起是通过开发环境实现的。

4.2 程序流程图设计

4.2.1 总体程序流程图设计

  系统具体的软件流程如图4-1。先是要初始化液晶功能和显示内容包括报警值。第一步结束之后接下来就是开始循环了。这个过程的第一步就是对具体的检测结果进行读取然后把结果输送进液晶使其得到显示。接下来的第二步,对光照的具体结果进行获取然后也是一样输送进液晶使其得到显示。第三步是对刚才所取得的温度合湿度值以及光照值做出判断,数值不在正常范围之内的话会出现鸣叫警报,同一时刻指示灯会亮起来。第四步的操作是判断按钮有无被摁下,若已被摁下,则进入设置好的报警范围。到第四步结束就是完整的一次内容。若是重新开始做任务一其实就是开始循环。

在这里插入图片描述

图4-1 程序流程图

#include <reg52.h>		   		                          
#include <intrins.h>

#define uchar unsigned char		                          
#define uint  unsigned int		                          

sfr ISP_DATA  = 0xe2;					                   
sfr ISP_ADDRH = 0xe3;					                   
sfr ISP_ADDRL = 0xe4;					                   
sfr ISP_CMD   = 0xe5;					                   
sfr ISP_TRIG  = 0xe6;					                   
sfr ISP_CONTR = 0xe7;					                   

sbit LcdRs_P   = P2^7;                                  
sbit LcdRw_P   = P2^6;                                 
sbit LcdEn_P   = P2^5;                                  
sbit DHT11_P   = P1^0;	 	                             
sbit SDA_P     = P3^5;  	                             
sbit SCL_P     = P3^6;  	                             
sbit LedTH_P   = P1^2;		                             
sbit LedTL_P   = P1^1;		                             
sbit LedHH_P   = P1^4;		                             
sbit LedHL_P   = P1^3;		                             
sbit LedLH_P   = P1^6;		                             
sbit LedLL_P   = P1^5;		                             
sbit Buzzer_P  = P2^0;                                  
sbit KeySet_P  = P3^2;		                             
sbit KeyDown_P = P3^3;	                                
sbit KeyUp_P   = P3^4;		                             

uchar temp;								                  
uchar humi;				  			                      
uint  light;							                      

uchar AlarmTL;						                      
uchar AlarmTH;						                      
uchar AlarmHL; 						                   
uchar AlarmHH;						                      
uint  AlarmLL; 						                   
uint  AlarmLH;

四、 电路图

在这里插入图片描述

在这里插入图片描述

五、 文章目录

目 录
摘 要 1
Abstract 2
1 引 言 3
1.1 研究背景及意义 3
1.2 设计思想及基本功能 4
2 系统总体设计 5
2.1 设计要求 5
2.2 方案选择 5
2.2.1 温湿度传感器的选择 5
2.2.2 光照传感器的选择 5
2.2.3 单片机的选择 5
3 系统硬件设计 7
3.1 整体方案设计 7
3.1.1 系统概述 7
3.1.2 系统框图 7
3.2 最小系统模块 7
3.2.1 STC89C52简介 7
3.2.2 最小系统电路 9
3.3 DHT11传感器电路 10
3.3.1 DHT11简介 10
3.3.2 DHT11模块电路 11
3.4 光照采集电路 12
3.4.1 光照传感器简介 12
3.4.2 bh1750fvi简介 12
3.4.3 光照传感器模块电路 13
3.5 液晶显示电路 13
3.5.1 1602液晶简介 13
3.5.2 液晶显示模块电路 14
3.6 蜂鸣器模块 15
3.7 按键输入模块 16
3.8 LED显示电路 16
4 软件设计 18
4.1 程序语言及开发环境 18
4.2 程序流程图设计 18
4.2.1 总体程序流程图设计 18
4.2.2 1602液晶程序设计 19
4.2.3 温湿度DHT11传感器程序设计 20
4.2.4 光照模块程序设计 21
5 仿 真 22
6 结 论 24
谢 辞 25
参 考 文 献 26
附录A 主程序代码 27
附录B 系统设计原理图 54
附录C 系统仿真总图 55

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值