《基于ATmega328的农业监测系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于ATmega328的农业监测系统设计与实现.docx(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于ATmega328的农业监测系统设计与实现摘要:随着科学技术的飞速发展,农业领域也开始与互联网联系起来。借助ATmega328单片机开发设备和物联网技术,设计出一个农业监测系统。通过对Arduino设备和传感器的开发,农业监测系统可以对农作物生长所需的环境因素,如农作物生长周边环境的空气温度、空气湿度,农作物所接收到的光照的强弱,农作物生长土壤的土壤湿度等数据进行实时监测,实现对农作物的生产信息的充分认知,数据通过传感器采集之后发送到ATmega328单片机上,再进一步进行数据判断处理,然后通过相应的模块将数据反映给用户,实现农业生产智能化管理。农业监测系统主要是由以ATmega328单片
2、机为CPU的Arduino UNO Rev3开发板借助Arduino IDE开发平台开发的。使用DHT11温湿度传感器采集农作物周边环境实时温度、湿度数据,在1602 LCD 液晶显示屏上呈现给农业监测系统的用户。利用光敏电阻、土壤湿度传感器、雨滴检查传感器监测光照度、土壤缺水状况和天气是否下雨,这些都由RGB LED三色灯通过闪烁不同颜色的灯表达不同的环境情况。利用MQ-2烟雾气敏传感器监测空气中是否有有害气体,当空气中存在有害气体时,蜂鸣器会发出声音提醒用户。关键词:Arduino,传感器,ATmega328 Design and Implementation of Agricultura
3、l Monitoring System based on ATmega328Abstract:With the rapid development of science and technology, the field of agriculture also began to connect with the Internet. With the help of ATmega328 MCU development equipment and Internet of things technology, an agricultural monitoring system is designed
4、.Through the development of Arduino equipment and sensors, the agricultural monitoring system can monitor the environmental factors needed for the growth of crops, such as the air temperature and humidity of the surrounding environment, the intensity of the light received by the crops, the soil humi
5、dity of the growing soil and other data in real time, so as to realize the full recognition of the production information of crops. The data can be transmitted After the sensor is collected, it is sent to ATmega328 single chip microcomputer, and then further data judgment processing is carried out,
6、and then the data is reflected to the user through the corresponding module to realize the intelligent management of agricultural production.The agricultural monitoring system is mainly developed by Arduino UNO Rev3 development board with ATmega328 single chip microcomputer as CPU with the aid of Ar
7、duino IDE development platform. DHT11 temperature and humidity sensor is used to collect the real-time temperature and humidity data of the surrounding environment of crops, which is presented to the users of the agricultural monitoring system on the 1602 LCD screen. Using photosensitive resistance,
8、 soil moisture sensor and raindrop inspection sensor to monitor the illuminance, soil water shortage and weather whether it rains, RGB LED three-color lights express different environmental conditions by flashing different color lights. Mq-2 smoke gas sensor is used to monitor whether there is harmf
9、ul gas in the air. When there is harmful gas in the air, the buzzer will send out a sound to remind the user.Keywords:Arduino, Sensor, ATmega328 目 录第1章 绪 论11.1农业监测系统的研究背景和意义11.1.1中国智能农业发展的背景分析11.1.2 农业监测系统的研究意义11.2课题研究方法和内容21.2.1 研究方法21.2.2 研究内容21.3主要模块的选择31.3.1单片机开发板的选择31.3.2温湿度传感器的选择31.3.3土壤湿度传感器的
10、选择31.3.4烟雾气敏传感器的选择3第2章 农业农田环境监测系统分析42.1农业环境监测系统需求分析42.1.1 国内外智能农业发展情况分析42.1.2农业环境监测系统用户需求分析42.1.3农业环境监测系统功能需求分析42.2农业环境监测系统可行性分析52.2.1农业环境监测系统经济可行性分析52.2.2农业环境监测系统技术可行性分析52.2.3农业环境监测系统社会环境可行性分析6第3章 系统硬件设计73.1系统整体硬件设计73.2单片机主控模块73.3温湿度显示模块设计93.3.1温湿度测量模块设计93.3.2显示模块设计103.4 土壤检测警示模块设计113.4.1土壤湿度测量模块设计
11、113.4.2光照强度测量模块设计123.4.3雨滴检查模块设计133.4.4 RGB三色LED灯模块设计143.5烟雾报警模块153.5.1 蜂鸣器模块设计153.5.2 烟雾气敏模块设计15第4章 系统软件设计174.1总体控制流程174.2各模块控制流程184.2.1 温湿度显示模块184.2.2 土壤监测警示模块194.2.3 烟雾警报模块19第五章 系统测试225.1 功能测试225.2测试结果分析25参考文献:26致谢28第1章 绪 论1.1农业监测系统的研究背景和意义1.1.1中国智能农业发展的背景分析中国是世界农业的发源地之一,通过广大考古学家坚持不懈的仔细研究得出的考古证据表
12、明,中国农业的悠久历史已长达8、9千年。自从进入现代社会以来,农业已经不再是中国的经济支柱,但这并不意味着农业发展就不再重要,农业是国民经济建设和发展的基础产业,农业发展稳妥不出错,才可以以农业为基础,稳定第二产业,发展第三产业。当今科学技术的发展日新月异,互联网的进步带来了各种各样的新型产业,比如智能家居业、智能农业、智能交通、智慧城市等等。习近平主席指出,在人口多、土地少、水少的国家,科技是确保农产品有效供应的根本解决办法,所以中国要大力发展智慧农业,广大农业科技工作者也要不断发明创造出新的物联网产品,让物联网更好地与生活联系在一起,促进农业发展与生产,提高人民生活品质。1.1.2 农业监
13、测系统的研究意义在大数据的推动下,传统农业已经在向现代农业进行转变,农业监测系统以现代物联网技术为核心基础,借助无线传感器技术,组成一套监测农作物生长环境的系统。农业生产环境监测是实施精准农业的基础,对农业生产进行科学的管理 2吴寒烟.精准农业归类Z.2019-06-27.,用最少或最节省的投资实现较高的产量,改善环境,有效利用各种农业资源,实现可持续发展,并获得良好的经济和环境效益 3托普云农.农业仪器在现代农业生产中的应用及作用体现Z.2019-05-20.。农业监测系统通过LCD液晶显示屏显示环境温湿度,RGB LED三色灯反映土壤的水含量、农田光照度和是否下雨,加上烟雾报警模块,及时地
14、反映了农田环境,显示方式不复杂,方便了文化知识水平不太高的用户,使得农业监测系统就是在没有网络的偏僻农村中也能推广。1.2课题研究方法和内容1.2.1 研究方法本论文在撰写过程中主要运用了以下两种研究方法:文献研究法,根据农业监测系统的研究目的,通过查阅筛选与农业监测系统相关的文献,来获得相关资料,从而客观、全面地了解掌握所要研究的问题,获得智能农业系统研究所需要的相关知识和技术。实验法,通过控制研究对象的研究方法。根据文献研究法提供的资料素材,进行实际的农业监测系统的制作和编程操作。1.2.2 研究内容本课题的研究内容为农业监测系统,目的在于实时监测农作物生长的环境信息数据,有效利用农业资源
15、,减少劳动力,提高种植效率。农业监测系统主要研究内容为:(1) 准确采集环境温湿度数据并显示;(2) 采集土壤水含量信息,并且在农作物缺水时提示土壤需要浇水;(3) 采集光照数据值;(4) 采集天气下雨信息,并提示下雨;(5) 采集空气污染物信息,并警报大气烟雾污染。结合以上信息,农业监测系统所需要使用到的模块有:一个单片机主控模块、温湿度传感器、烟雾气敏传感器、土壤湿度传感器、雨滴检查传感器、光敏电阻传感器,以及许多连接线等。农业检测系统需要使用到大量的传感器,这些传感器成本低,灵敏度达到数据采集的要求,能够给农业种植户作为种植的参考数据。该农业检测系统能够帮助农业种植户及时的监测农田环境数
16、据,传感器网络能够保证他们在较短的时间内获得整片农田的环境信息,节省了他们巡逻视察的时间,减少人力物力。并且可以利用这些采集到的环境数据作为参考,进行数据分析对比,总结出科学的种植方案,提高农业的生产力,提高农作物的产量。1.3主要模块的选择1.3.1单片机开发板的选择Arduino开发板对比其他开发工具,成本相对低,开发难度也比较低,还拥有低功耗,可扩展性强的特点,适合用来设计和实现农业监测系统。基于ATmega328单片机的Arduino UNO Rev3开发板是最基础的Arduino开发板,拥有与其他版本Arduino开发板一样的优点,价格相比也较为低廉。该ATmega328单片机拥有2
17、KB 的SRAM静态存储器,1KB 的EEPROM只读存储器以及32 KB 的 Flash,工作频率为16 MHz。1.3.2温湿度传感器的选择市面上常见的温湿度传感器有DHT11温湿度传感器、DHT22温湿度传感器、SHT20温湿度传感器等。在本农业监测系统中选用DHT11温湿度传感器来进行对农作物周边环境的温湿度测量。DHT11温湿度传感器由一个电阻式感湿元器件,一个NTC测温元器件和一个8位单片机组成。它的优点是:成本低,响应快,抗干扰能力强,功耗低。1.3.3土壤湿度传感器的选择土壤湿度传感器可以分为三类:电容型土壤湿度传感器,电阻型土壤湿度传感器和离子型土壤湿度传感器。本系统中选用的
18、是YL69土壤湿度传感器,是一种电阻型土壤湿度传感器。它的优点是相比其他土壤湿度传感器体积小巧,测量精度能达到本农业监测系统的需求,响应速度快,数据传输效率高。1.3.4烟雾气敏传感器的选择烟雾气敏传感器将空气中气体的种类和空气中气体浓度的相关信息转换成为电信号,分析这些电信号的强弱,就可以检测出空气中的气体的相关信息。本系统使用的是MQ-2烟雾气敏传感器,它可以检测空气中存在的液化气、氢气、烷、酒精、烟雾等多种气体。它的优点是:灵敏度高、响应快、稳定性好、驱动电路简单。第2章 农业农田环境监测系统分析2.1农业环境监测系统需求分析2.1.1 国内外智能农业发展情况分析在国外,智慧农业已经是非
19、常普及了。相较于农业发达国家,我国国内偏远农村地区智慧农业的发展还比较落后。一是因为部分农民没有受过高等教育,有的人在读完义务教育课程之后,就不再深造,利用旧时的经验种田;二则农村互联网发展比城市缓慢,农业智能化程度不高,也不够普及。在发达国家,如美国,它使用大型农场作为其主要的农业生产的主体,智能农业可以广泛推广,因为发达国家的互联网技术发展较早,而且农业从业人员普遍接受的教育程度比较高。在20世纪80年代,美国就利用物联网带动农业的发展,将物联网技术融合进农场的基础设施建设之中。为了解决粮食问题,以日本为代表的可耕地稀少的国家做出了巨大努力,一方面长期地将大量资源投资在农业领域,另一方面大
20、力发展智慧农业,将互联网、物联网技术融入农业技术之中。2.1.2农业环境监测系统用户需求分析对于农业环境监测系统,用户需求分析有以下几点:(1) 低成本。在农业环境监测系统网络中,系统需要控制大量的传感器节点和控制器,这种类似大型的传感网络应该使用更低成本的网络节点技术。(2) 可扩展性。科学技术的发展蒸蒸日上,农业环境监测系统应该与时俱进,这就要做到能在不改变农业环境监测系统主体结构的情况下,可以对系统进行维护和扩展,并能在必要时更新、增加新的智能农业传感器设备。(3) 时效性。农业环境监测系统应尽可能实现农作物周边环境数据的实时采集,实时整理,实时分析。 2.1.3农业环境监测系统功能需求
21、分析水、空气和阳光是生命的三大要素,对于农作物来说也是如此。农业环境监测系统的功能需求分析有以下几点:(1) 实时显示农作物周边环境温湿度。空气温湿度是影响农作物生长的一个重要指标。农作物周边环境的空气温度的过高或过低以及空气相对湿度的大小,都会对农作物的光合作用、呼吸作用、蒸腾作用等代谢过程产生不良影响。(2) 土壤缺水提醒。水涉及到农作物许多重要的生理活动,水又帮助农作物与周围环境相互联系,这说明了水对农作物的重要性,而农作物生长的土壤含水量决定了农作物的水分供应状况,所以当土壤缺水时要及时提醒农业种植户浇水。(3) 空气烟雾含量提醒。在农作物进行各种代谢活动时,会与大气进行气体交换,当大
22、气中存在污染物时,一些环境污染物就会通过这种方式进入农作物体内,从而影响和破坏农作物。(4) 下雨提醒。有些种类的植物十分娇贵,淋了太多雨水之后,土壤湿度过高导致土壤通气性恶化,植物的根系便会腐烂,致使植物死亡。(5) 农作物接收的光照提示。农作物的生长依赖于植物特有的光合作用,通过光合作用,农作物将水和二氧化碳合成有机物和生长所需的能量。当农作物光照不足的时候,农作物细胞内的叶绿素形成将会收到阻碍,接着影响农作物的光合作用。接收不到充足光照的农作物植株会变细变弱小,叶子枯黄,或者在生长过程中落叶、落花,无法结出果实。2.2农业环境监测系统可行性分析2.2.1农业环境监测系统经济可行性分析经济
23、可行性的具体标准有投入产出比、效率、效力、利润率等。农业监测系统实时监测农田环境,给用户提供农田温湿度、土壤湿度、光照强度等数据信息,节省种植户亲自检测农田环境的时间,也可以及时了解农田环境变化,做出应对措施,提高种植效率。2.2.2农业环境监测系统技术可行性分析(1) Arduino开发平台是一个硬件和软件都开源的平台。使用Arduino开发板开发农业检测系统方便灵活,在Arduino开发平台可以查询到其他开发者的代码,学习掌握并运用在自己的设计中。(2) Arduino平台使用的语言是基础C语言,所涉及的知识在大学课程所学的范围之内。2.2.3农业环境监测系统社会环境可行性分析中国作为一个
24、农业大国,人均耕地面积少,要养活14亿人口,农业专家们积极研究杂交水稻,提高农作物产量。农业检测系统能够实时收集农田温度、湿度、天气状况、土壤湿度、光照度等数据信息,监视农作物生长情况与周边环境情况。将传感器监测到的环境信息,作为农业智能管理的科学依据,总结出种植方案,科学种植,提高农产品产量,降低人力物力,节约种植成本,实现可持续发展。第3章 系统硬件设计整个农业监测系统的硬件设计部分由Arduino UNO Rev3开发板,光敏电阻传感器,MQ-2烟雾气敏传感器,DHT11温湿度传感器,RGB三色LED模块,有源蜂鸣器,土壤湿度传感器,1602 LCD液晶显示屏,雨滴检查传感器组成。各传感
25、器采集到农作物周边的空气温度,光照度,空气湿度,土壤湿度等数据,以及监测空气中是否存在烟雾,是否下雨等信息,经过Arduino开发板处理之后,借助USB连接线连接到计算机,最后可以在串口监视器上看见各种数据。通过1602 LCD液晶屏、RGB三色LED和蜂鸣器等显示模块也能反映出传感器采集到的一些周边环境的数据信息。3.1系统整体硬件设计系统硬件部份所包含功能模块分别是:主控模块、温湿度显示模块、RGB三色LED警示灯模块、烟雾报警模块。系统整体设计框图如图3-1所示:图 3-1 系统整体设计框图3.2单片机主控模块农业检测系统的主控模块是Arduino UNO Rev3开发板。Arduino
26、 UNO Rev3开发板主要由ATmaga328单片机,各输入输出接口和其他相关的电路组成。本农业监测系统使用的Arduino UNO开发板上的模块有ATmega328单片机,单片机对传感器采集的数据处理,并且传递指令;USB接口连接计算机,既可以为开发板提供电源,也能将数据传输到计算机并在串口监视器上显示;使用模拟输入口与数字I/O接口连接各传感器,进行数据传输;使用供电接口与GND接口为各传感器供电。农业监测系统硬件设计所使用的Arduino引脚接线为:模拟输入口A0连接土壤湿度传感器AO引脚,A1连接光照传感器的AO引脚,A4(SDA)和A5(SCL)分别连接1602 LCD液晶屏的SD
27、A和SCL引脚,数字I/O口的6个PWM引脚全部都使用在监测系统中,Digital 3引脚连接有源蜂鸣器的I/O接口,Digital 5连接雨滴检查传感器的DO引脚,Digital 6引脚连接烟雾气敏传感器的DO引脚,Digital 9、Digital 10、Digital 11三个引脚分别与RGB三色LED灯的B引脚、G引脚和R引脚连接,DHT11温湿度传感器的DATA端口连接Digital 4引脚。主控模块接口示意图如图3-2所示,Arduino UNO端口与ATmega328引脚对应图如图3-3所示。图 3-1 主控模块接口示意图图 3-2 Arduino UNO端口与ATmega328
28、引脚对应图3.3温湿度显示模块设计3.3.1温湿度测量模块设计在本农业监测系统中选用DHT11温湿度传感器来进行对农作物周边环境的温湿度测量。该温湿度传感采用单总线通信,传输给主控模块的数字信号是已经经过校准的,温湿度传感器能检测的温度范围为0-50摄氏度,误差为2摄氏度,相对湿度的检测范围为20-90%,减小了传输过程中产生的误差。在温湿度测量模块设计中,使用到的库文件为,温湿度传感器VCC引脚接3.3V电源,GND引脚接地,NC引脚悬空,I/O引脚接入单片机的数字I/O口Digital 4引脚。并且给温湿度传感器添加了一个5K欧的上拉电阻,将输入端口的电平拉高,变成高电平,这样可以保持温湿
29、度传感器的逻辑电平,也能确保在连接线较长时传输的数据不会出错。DHT11温湿度测量模块设计如图3-4所示:图 3-1 DHT11温湿度测量模块设计图示3.3.2显示模块设计1602 LCD液晶显示屏模块使用的是HD44780液晶芯片。该液晶芯片内置了显示数据存储RAM,字符存储ROM和用户自定义RAM。字符存储ROM存放了固化好的字符,显示模块显示的字符可以在写入时先设置地址,然后直接调用字符数据。显示模块设计将HD44780液晶芯片集成IIC I/O扩展芯片PCA8574T,通过转接芯片将16个引脚转换成四个引脚,需要使用到的库文件为和。PCF8574T芯片采用的是7位I2C地址,7位I2C
30、地址中的低3位从高到低分别为A2、A1和A0,连接HD44780芯片的E、RW和RS三个引脚,该3位为地址选择位,本次设计中设置LCD的地址为0x20。PCF8574T芯片的P4到P7四个引脚连接HD44780芯片的DB4至DB7引脚,这四位为数据传输端口,先传输命令的高四位,在传输低四位,这样减少了单片机5个I/O接口。转接完成后,便能使用数据线SDA和时钟线SCL两根双向信号线传输数据。显示模块的VCC引脚连接5V电源,GND引脚接地,SDA引脚接模拟输入口A4,SCL引脚连接模拟输入口A5。1602 LCD液晶显示屏模块引脚接线图如图3-5所示。图 3-1 1602 LCD液晶显示屏模块
31、引脚接线图示3.4 土壤检测警示模块设计3.4.1土壤湿度测量模块设计土壤湿度传感器模块主要用来测量土壤相对含水量。土壤湿度传感器使用电阻法检测土壤水分,即根据土壤含水量的关系与土壤介质的电导率测量土壤水分。土壤湿度传感器的工作原理为:将土壤作为导电的介质,测量感应板两电极之间的电阻大小可以反映土壤的湿度。当土壤相对含水量少时,土壤导电性差,感应板之间电阻值变大;土壤相对含水量多时,土壤的导电性强,感应板之间电阻值变小。在土壤湿度测量模块设计中,土壤探头的负极接地,正极接一个上拉电阻和一个电源,目的是保护电路。再从土壤探头正极连接至LM393芯片的+IN1端口,目的是为了接收到土壤探头采集到的
32、土壤湿度数据。LM393芯片作为双电压比较器,土壤湿度数据经过LM393芯片内部电路之后,OUT1口相当于传感器DO引脚,-IN1相当于传感器AO引脚。土壤湿度传感器的DO引脚悬空,AO引脚连接单片机的模拟输入A0端口。还接地时还使用了两个100nF电容,这样起到了滤波作用。土壤湿度传感器模块电路图如图3-6所示,LM393芯片内部电路如图3-7所示。图 3-1 土壤湿度传感器模块电路图示图 3-2 LM393内部电路图3.4.2光照强度测量模块设计光敏电阻传感器模块是基于半导体的光电效应的一种传感器,利用半导体的电阻值变化来检测光照强度。光敏电阻的电阻值会随着所接收到的光照的强度变强而减小,
33、当接收到的光照减弱时,光敏电阻的电阻值则会增大。光敏电阻模块是由核心元器件可见光光敏电阻器,比较器的LM393芯片和相关电路组成的。光敏电阻传感器电路设计为:光敏电阻一端接地,另一端串联10K电阻再接入电源。LM393芯片的+IN1端口连接光敏电阻的电源端,以接收光敏传感器所采集的数据。光照值数据将从LM939芯片的-IN1端口输出,通过单片机的模拟输入口A0传递给单片机,OUT1引脚即DO引脚悬空。接地端的两个100nF电容也起到了滤波作用。光敏电阻传感器电路图如图3-8所示。图 3-1光敏电阻传感器模块电路图图示图 3-2雨滴检查传感器模块引脚接线图示3.4.3雨滴检查模块设计雨滴检查传感
34、器模块是一个模拟(数字)输入模块,也叫雨水、雨量传感器,可用来测量各种天气情况,判断是否下雨并可以测量降雨量。雨滴检查传感器电路设计与土壤湿度传感器电路设计一样。雨滴传感器的感应板一端接地,一端接一个加了上拉电阻的电源VCC。同样的LM393芯片的+IN1引脚与雨滴传感器的正极相连接,传感器感应板上采集到的数据通过LM393芯片,传送至单片机数字I/O端口Digital 5。滤波电容为电路图中的C5和C6。雨滴检查传感器模块电路图如图3-9所示。3.4.4 RGB三色LED灯模块设计RGB三色LED灯模块可以调节三种基色红色、蓝色、绿色三原色的强度,借助 R引脚、G引脚和B引脚 三个引脚的PW
35、M(Pulse width modulation),也就是脉冲宽度调制技术的电压输入,从而使LED灯呈现出五彩缤纷的混色效果。RGB三色LED灯的工作电压为5V,LED 驱动模式的是共阴驱动。在RGB LED灯设计中,红绿蓝三个发光二极管并联,负极接地,正极各串联一个10K电阻,其目的是为了降低电压确保发光二极管能正常工作。红色发光二极管连接单片机数字I/O引脚Digital 11,绿色发光二极管连接单片机数字I/O引脚Digital 10,蓝色发光二极管连接单片机数字I/O引脚Digital 9。RGB LED灯接线图如图3-10所示。图 3-1 RGB LED灯接线图示3.5烟雾报警模块3
36、.5.1 蜂鸣器模块设计在蜂鸣器模块设计中,蜂鸣器的负极接地,在电路中添加一个三极管,以增加通过有源蜂鸣器的电流。蜂鸣器的正极与三极管发射极相连,三极管的集电极接入电源,基极串联一个10K的电阻之后与单片机数字I/O引脚Digital 3连接,传输单片机发送的电平信号。当蜂鸣器接收到高电平时,蜂鸣器不发出声音;当蜂鸣器接收到低电平时,蜂鸣器鸣叫。蜂鸣器模块接线图如图3-11所示。图 3-11 有源蜂鸣器模块引脚接线图示3.5.2 烟雾气敏模块设计烟雾气敏传感器的工作原理为:当MQ-2烟雾气敏传感器所处的环境中存在烟雾时,烟雾气敏传感器的电导率随着空气中烟雾浓度的变化而变化,当烟雾浓度增大时,传
37、感器的电导率随之变大,输出电阻降低;反之,传感器导电率随烟雾浓度降低而减小,则输出的电阻值变大。使用烟雾气敏传感器之前,需要将传感器加热20秒,延时等待20秒之后,传感器才能正确输出数据。烟雾气敏模块设计为:MQ-2模块的1、3、5引脚接入电源VCC,引脚2 接地,引脚4和6并联。该并联电路另一端分为两条电路,一条电路相当于MQ-2烟雾气敏传感器的AO引脚,AO悬空。另一条接入一个放大器的负极,放大器的输出端口相当于MQ-2烟雾气敏传感器的DO引脚,DO引脚接单片机的数字I/O引脚Digital 6,即MQ-2烟雾气敏传感器向单片机传输高低电平。烟雾报警模块电路图如图3-12所示。图3-12烟
38、雾气敏模块引脚接线图示第4章 系统软件设计4.1总体控制流程以Arduio UNO R3开发板(ATmega328单片机)为控制核心,编写代码控制各传感器模块接受外界数据,通过串口以及编写的程序函数将其外界数据转化成必要指令来控制各模块反映周边环境情况。农业监测系统可分为三大模块:温湿度数据显示模块,RGB三色LED警示灯显示模块和烟雾报警模块。这三个模块之间互不影响,可同时进行数据采集和信息处理操作。系统总体控制流程框图如图4-1所示:图 4-1 系统总体控制流程框图图 4-2 温湿度显示模块流程图4.2各模块控制流程4.2.1 温湿度显示模块温湿度显示模块由DHT11温湿度传感器1602
39、LCD液晶显示屏组成。温湿度显示模块的控制流程为:开启农业监测系统,Arduino UNO Rev3主控模块上电后,延时等待1秒,DHT11温湿度传感器信号变得稳定,开始采集农作物周边环境温度与环境相对湿度,并将数据信息传送给Arduino UNO Rev3主控模块,主控模块一方面将DHT11温湿度传感器采集到的数据通过USB数据线传输至计算机,借助串口显示环境温湿度;另一方面,将数据传输至1602 LCD液晶屏,1602 LCD液晶屏上也将DHT11温湿度传感器采集到的环境温湿度数据打印在液晶屏上,供用户参考。温湿度显示模块流程图如图4-2所示。图 4-3 土壤湿度传感器流程图 图 4-4
40、光照值采集流程图4.2.2 土壤监测警示模块土壤检测警示模块由光敏电阻传感器、土壤湿度传感器、雨滴检查传感器和RGB三色LED灯组成。土壤检测警示模块的控制流程为:主控模块连接电源后,各模块启动初始化,光敏电阻传感器,土壤湿度传感器,雨滴检查传感器采集农作物周边环境数据后,将数据传输至主控模块的ATmega328单片机内。土壤湿度监测流程:单片机接收到土壤湿度传感器采集的土壤湿度信息,并将土壤湿度传感器采集的土壤湿度数据转换为百分数,通过判断语句,判断土壤湿度值是否小于设定值,如果小于,则串口打印出土壤湿度及提示“请浇水”,并且RGB三色LED灯显示红色。如果不是,传感器继续采集土壤湿度信息。
41、光照强度采集流程:单片机将光照强度数据从10000-0的区间转换成为100-0区间,方便用户观看。然后判断光照亮度值是否小于设定值,如果光照值小于设定值,RGB三色LED显示蓝色,同时串口监视器打印光照值。雨滴检查流程:单片机接收雨滴检查传感器传输的数据,使用判断语句,判断雨滴检查传感器传输的信号是高电平还是低电平,如果输入低电平,则串口显示“有雨!”提示,同时RGB三色LED显示绿色;如果没有下雨,串口将会一直显示“无雨!”。以上三个判断函数是分级的判断函数,土壤湿度判断是最外层判断,当土壤湿度判断为否时,才会进入雨滴检查判断。在没有下雨时,会进入最后一个光照度大小判断,接连三次判断为否时,
42、RGB三色LED不显示颜色。土壤湿度传感器流程图如图4-3所示,光照值采集流程图如图4-4所示,雨滴检查流程图如图4-5所示。4.2.3 烟雾警报模块烟雾警报模块的控制流程为:主控模块启动之后,延时20秒等待烟雾传感器加热,20秒之后,烟雾气敏传感器开始采集农作物周边环境空气信息,并传输高电平或者低电平至ATmega328单片机。单片机判断烟雾气敏传感器所传输的数字信号,然后使用判断语句判断,如果烟雾气敏传感器传输的是低电平,那么串口监视器将显示“空气中存在有害气体!”,并且蜂鸣器鸣叫。若是烟雾气敏传感器传输了高电平,那么串口显示“安全”,蜂鸣器也不会被触发。烟雾警报模块流程图如图4-6所示:
43、图 4-5 雨滴检查流程图 图4-6 烟雾警报模块流程图第五章 系统测试5.1 功能测试本农业监测系统预期实现的效果是:各传感器采集环境数据,包括环境温湿度数据,土壤湿度数据,当前光照值,空气烟雾数据,雨滴检查等五个数据。主控模块CPU ATmega328单片机处理接收到的数据信息,然后分别发送不同指令给有源蜂鸣器模块,1602 LCD模块和RGB三色LED灯模块。1602 LCD模块接收到指令之后会在液晶显示屏上显示当前环境空气温湿度;有源蜂鸣器模块在烟雾气敏传感器检测到空气中的烟雾时,会收到单片机发出的低电平,触发蜂鸣器鸣叫;RGB三色LED灯在土壤缺水时显示红色,在天气下雨时显示蓝色,在
44、光照度不足时显示绿色。同时在计算机的串口监视器上会显示采集到的环境数据,以及警示提醒。单片机代码运行的串口监视器测试如图5-1、5-2、5-3所示,各传感器模块测试如图5-4、5-5、5-6、5-7、5-8所示。图 5-1 串口显示图示1图 5-2 串口显示图示2图 5-3 串口显示图示3图 5-4 温湿度模块测试图示图 5-5 土壤湿度传感器测试图示图 5-6 雨滴检查传感器调试图示图 5-7 光敏电阻传感器测试图示图 5-8 烟雾报警模块测试图示5.2测试结果分析本章对农业监测系统的总体功能进行测试,并将各模块分别测试之后与串口监视器的数据进行比对,各传感器模块监测到的环境数据与串口监视器
45、所显示数据一致,则农业监测系统测试成功完成,基本达到预期的效果。25参考文献:1 刘春林,刘岚,李朋刚,赵玉瑶,谭毅龙.基于Arduino和Android系统的温室智能控制系统J.湖北农机化,2019(01):124-124. 2 吴寒烟.精准农业归类Z.2019-06-27.3 托普云农.农业仪器在现代农业生产中的应用及作用体现Z.2019-05-20.4孟萌.基于Arduino的物联网数据采集器设计与实现D.北京:北京工业大学2016.06.015施连敏,陈志峰,盖之华.物联网在智慧农业中的应用J. 农机化研究, 2013(06):250-252.6赵英杰.完美图解Arduino互动设计入
46、门M. 科学出版社, 20147李明亮.Arduino项目DIYM. 清华大学出版社 , 20148毛敏.基于Arduino和Labview的远程智能农业监测系统J.微型电脑应用,2019.06.149BANZI M.Getting started with Arduino. 201110程晨.Arduino开发实战指南M. 机械工业出版社, 201211熊凤,罗谧,冉隆毅. 传感器在基于物联网的智慧实验室中的应用J. 科学咨询(科技管理). 2019(01):61-62.12Haili Liang. Design and Implementation of Agricultural Intelligent Monitoring System based on the Android Platform. 2017- Atlantis Press 10.2991/meita-16.2017.2913Tony Lewis. Evolution of farm management information systemsJ . Computers and Electronics