摘要
随着科学技术的飞速发展,农业领域也开始与互联网联系起来。借助ATmega328单片机开发设备和物联网技术,设计出一个农业监测系统。通过对Arduino设备和传感器的开发,农业监测系统可以对农作物生长所需的环境因素,如农作物生长周边环境的空气温度、空气湿度,农作物所接收到的光照的强弱,农作物生长土壤的土壤湿度等数据进行实时监测,实现对农作物的生产信息的充分认知,数据通过传感器采集之后发送到ATmega328单片机上,再进一步进行数据判断处理,然后通过相应的模块将数据反映给用户,实现农业生产智能化管理。
农业监测系统主要是由以ATmega328单片机为CPU的Arduino UNO Rev3开发板借助Arduino IDE开发平台开发的。使用DHT11温湿度传感器采集农作物周边环境实时温度、湿度数据,在1602 LCD 液晶显示屏上呈现给农业监测系统的用户。利用光敏电阻、土壤湿度传感器、雨滴检查传感器监测光照度、土壤缺水状况和天气是否下雨,这些都由RGB LED三色灯通过闪烁不同颜色的灯表达不同的环境情况。利用MQ-2烟雾气敏传感器监测空气中是否有有害气体,当空气中存在有害气体时,蜂鸣器会发出声音提醒用户。
关键词:Arduino,传感器,ATmega328
1 系统硬件设计
整个农业监测系统的硬件设计部分由Arduino UNO Rev3开发板,光敏电阻传感器,MQ-2烟雾气敏传感器,DHT11温湿度传感器,RGB三色LED模块,有源蜂鸣器,土壤湿度传感器,1602 LCD液晶显示屏,雨滴检查传感器组成。
各传感器采集到农作物周边的空气温度,光照度,空气湿度,土壤湿度等数据,以及监测空气中是否存在烟雾,是否下雨等信息,经过Arduino开发板处理之后,借助USB连接线连接到计算机,最后可以在串口监视器上看见各种数据。通过1602 LCD液晶屏、RGB三色LED和蜂鸣器等显示模块也能反映出传感器采集到的一些周边环境的数据信息。
1.1系统整体硬件设计
系统硬件部份所包含功能模块分别是:主控模块、温湿度显示模块、RGB三色LED警示灯模块、烟雾报警模块。系统整体设计框图如图3-1所示:
图 3-1 系统整体设计框图
1.2单片机主控模块
农业检测系统的主控模块是Arduino UNO Rev3开发板。Arduino UNO Rev3开发板主要由ATmaga328单片机,各输入输出接口和其他相关的电路组成。
本农业监测系统使用的Arduino UNO开发板上的模块有ATmega328单片机,单片机对传感器采集的数据处理,并且传递指令;USB接口连接计算机,既可以为开发板提供电源,也能将数据传输到计算机并在串口监视器上显示;使用模拟输入口与数字I/O接口连接各传感器,进行数据传输;使用供电接口与GND接口为各传感器供电。
农业监测系统硬件设计所使用的Arduino引脚接线为:模拟输入口A0连接土壤湿度传感器AO引脚,A1连接光照传感器的AO引脚,A4(SDA)和A5(SCL)分别连接1602 LCD液晶屏的SDA和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-2 主控模块接口示意图
图 3-3 Arduino UNO端口与ATmega328引脚对应图
2 系统软件设计
2.1总体控制流程
以Arduio UNO R3开发板(ATmega328单片机)为控制核心,编写代码控制各传感器模块接受外界数据,通过串口以及编写的程序函数将其外界数据转化成必要指令来控制各模块反映周边环境情况。
农业监测系统可分为三大模块:温湿度数据显示模块,RGB三色LED警示灯显示模块和烟雾报警模块。这三个模块之间互不影响,可同时进行数据采集和信息处理操作。系统总体控制流程框图如图4-1所示:
图 4-1 系统总体控制流程框图
图 4-2 温湿度显示模块流程图
3 系统测试
3.1 功能测试
本农业监测系统预期实现的效果是:各传感器采集环境数据,包括环境温湿度数据,土壤湿度数据,当前光照值,空气烟雾数据,雨滴检查等五个数据。主控模块CPU ATmega328单片机处理接收到的数据信息,然后分别发送不同指令给有源蜂鸣器模块,1602 LCD模块和RGB三色LED灯模块。1602 LCD模块接收到指令之后会在液晶显示屏上显示当前环境空气温湿度;有源蜂鸣器模块在烟雾气敏传感器检测到空气中的烟雾时,会收到单片机发出的低电平,触发蜂鸣器鸣叫;RGB三色LED灯在土壤缺水时显示红色,在天气下雨时显示蓝色,在光照度不足时显示绿色。同时在计算机的串口监视器上会显示采集到的环境数据,以及警示提醒。
单片机代码运行的串口监视器测试如图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 烟雾报警模块测试图示
4 测试结果分析
本章对农业监测系统的总体功能进行测试,并将各模块分别测试之后与串口监视器的数据进行比对,各传感器模块监测到的环境数据与串口监视器所显示数据一致,则农业监测系统测试成功完成,基本达到预期的效果。