基于Kittenblock 的智慧大棚研究
2021-12-27钟宇航孙达坤杨得骥周颖怡
钟宇航 , 孙达坤 , 杨得骥 , 周颖怡
(1.岭南师范学院,广东 湛江 524048;2.中国热带农业科学院农产品加工研究所,广东 湛江 524001)
1 我国农业发展现状
我国是农业大国, 农业经济将长期在国民经济中处于重要地位。 但现今我国大部分地区还维持着传统农业粗放的管理方式,凭借经验施肥灌溉,不仅需要大量的人力物力,对环境保护以及水土保持构成严重威胁,还因无法对农业环境信息实现精细化、智能化管理,影响了农业的可持续发展。
为了克服我国农业生产的劣势, 本文旨在设计一种能够实现精细化、智能化管理的智慧大棚,这个智慧大棚提高农作物的产量和质量的同时,造价低廉,适用性广,有利于推动我国的现代化农业建设[1]。
2 智慧大棚简介
农业生产中,影响农作物生长的主要因素有温度、湿度、光照度等等,想要做到科学合理种植仅仅依靠传统的人工控制方式非常困难[2]。 本文提出的基于Kittenblock 的智慧大棚具有以下功能:
1) 大棚内温度的测定;
2) 大棚内土壤湿度的测定;
3) 大棚内光照强度的测定;
4) 大棚内的防火报警系统;
5) 把收集到的数据显示在液晶屏上;
6) 根据传感器收集的数据判定下一个执行动作。
2.1 Kittenblock 图形化编程软件介绍
Kittenblock 是由小喵科技出品的一款基于Scratch3.0青少年编程软件。 Kittenblock 支持图形化程序micro:bit、arduino 等开源硬件控制, 支持Python/c++代码等高级语言。继承了Scratch3.0 的优点,采用拖拽模块的方式进行程序的编写, 还能够利用Arduino 开发板来创作出更多更强大的互动作品。 Kittenblock 图形化编程软件功能强大,但却因为能把程序转换成图形积木的形式而变得易懂易学。
2.2 主控板的介绍
Kittenblock 图形化编程软件支持多种硬件控制,本文设计的大棚采用的微控制器是Arduino 开发板中的UNO R3 主控板,ATmega328 MCU 主控芯片是开发板正常工作的基础,UNO R3 开发板具有14 路的数字输入输出引脚(其中6 路可用于PWM 输出)、6 路模拟输入引脚、 一个16MHz 的陶瓷谐振器、 一个USB 接口、 一个适用于7V~12V 的直流电压的电源插座、 一个ICSP 接头和一个复位按钮,是本文提出的智慧大棚的硬件部分。
2.3 传感器的选择与介绍
1) 温湿度传感器模块。 本系统采用的温湿度传感器模块是DHT11 温湿度传感器模块, 该模块可以用于大棚内温湿度的测量。 它的正常工作电压是3.3V~5.5V,可以兼容UNO R3 主控板,具有长期的稳定性、可靠性、抗干扰能力强、成本低、响应快、信号传输距离长和精确校准等特点。 同时,它还有一个NTC 测温元件、电容式感湿元件以及一个高性能8 位单片机。
2) 土壤湿度传感器模块。 本文设计的智慧大棚土壤湿度测量采用的传感器是土壤湿度检测模块。 它的正常工作电压是3.3V~5V,兼容UNO R3 主控板当接数字输出端口时,可以通过顺时针调节传感器模块上的电位器来增大土壤湿度模块控制湿度的阀值,相应的,逆时针调节电位器则可以降低传感器控制湿度的阀值;在本文设计的智慧大棚当中连接土壤湿度检测模块的方式是接模拟端口。
3) 光照传感器模块。 本文设计的智慧大棚光照强度检测系统所用的传感器为光敏电阻传感器。 工作原理是利用其对光线敏感的特性来检测周围环境光线的亮度,以此来触发单片机或者继电器模块等等。 在本文设计的智慧大棚当中采用的连接方式是接模拟端口。
4) 火焰传感器模块。 本文设计的智慧大棚中的防火系统采用火焰传感器, 当火焰以及760nm~1 100nm 波长范围内的光源出现在大棚内时, 火焰传感器可以识别并且触发下一步的执行命令。
5) 继电器模块。在本文设计的智慧大棚中,继电器用于排气扇以及水泵的触发。 继电器采用的是5V 高电平触发继电器,继电器具有电源和继电器动作指示,吸合时,电路连通,绿灯亮,触发排气扇或者水泵工作;反之,电路断开时绿灯不亮。 它可以控制直流或者交流信号,也可控制220V 交流负载; 负载端口分为常开端 (NO)、 公共端(COM)、常闭端(NC)。
6) IIC LCD 1602 液晶屏。 在本文设计的智慧大棚当中,1602 液晶屏用于显示温湿度传感器、 土壤湿度检测模块、光敏电阻以及火焰传感器收集到的数据。使用IIC LCD 1602 液晶屏可以只连接4 个引脚,大大节省了引脚端。
7) L298N 电机驱动模块。 L298N 电机驱动模块在本文设计的智慧大棚中的作用是启动直流电机去开启或者关闭遮阳棚。 驱动模块采用了驱动能力强、发热量低以及抗干扰能力强的L298N 作为驱动芯片, 另外使用了大容量滤波电容,续流保护二极管,可以提高可靠性。
3 系统方案及体系结构
智慧大棚系统可以实现大棚内各种环境因素的实时监测与反馈。 该系统采用感知层、传输层和应用层三层结构。 由感知层对温室大棚的气候环境信息进行全面感知,将传感器收集的数据反馈到主控板, 传输层通过传感器收集信息传递到主控板上分析并确定下一步的执行命令, 用户通过大棚内的LCD 液晶屏或者电脑上Kittenblock 的串口通讯随时随地获取大棚的环境信息。 应用层处理反馈后确定下一步的执行命令, 最后执行器的工作使得不适合植物生长的环境因素恢复到正常。
3.1 系统硬件设计
对于系统而言,感知节点作为数据采集的关键部分,需保证采集数据的准确性和可靠性[3]。Arduino UNO R3 主控板作为感知节点的核心组成部分, 主要负责感知节点中相关设备的协调工作, 完成对大棚内环境信息的采集和发送。
传感器设计是本智慧大棚的关键点, 传感器的方案设计需要收集影响农作物生长因素的数据进行分析。 作为感知层的传感器在收集数据后, 由主控板进行分析判断是否执行下一步命令, 如果收集到的数据没有达到设定的阈值时, 主控板执行命令, 触发对应解决措施的开关,从而使传感器收集到的数据恢复正常。
3.2 系统程序的设计
智慧大棚系统程序设计与实现的最关键部分是系统程序的编写, 本系统的程序编写是在Kittenblock 图形化编程软件上进行的。 本系统的程序编写分为两部分进行,主要是各部分传感器与UNO 主控板、UNO 主控板与传感器整体连接的编程。 传感器与UNO 主控板部分的程序是本智慧大棚的程序的基础[4]。 这部分编程主要是编写传感器收集数据,设定阈值,超出或低于标定值,主控板做出判断后执行下一步操作使数据回到正常值。 另一部分就是整合各个部分的程序,融合为主程序。 总体上,本系统的程序编写要满足以下几点的要求:
1)DHT11 温湿度传感器模块的程序设计。本编程部分是测量大棚内温湿度的。
2)土壤湿度传感器模块的程序设计。这部分是测量大棚内土壤湿度的。
3)光照传感器模块的程序设计。本编程部分是测量大棚内光照强度的。
4)防火报警系统的程序设计。大棚的防火报警系统的主要功能是能够对棚内出现明火进行报警。
4 系统程序的测试及运行结果
4.1 系统程序的测试
在Kittenblock 图形化编程软件上编辑好每个传感器模块的程序之后,进行试验,检查传感器模块的工作状态,确认无误后把各个模块的程序结合在一起,把程序上传到UNO R3 主控板上,然后把各个传感器模块与主控板进行接线,最后把各个传感器模块分布在大棚模型内。
1) 温湿度模块测试。 DHT11 温湿度传感器接数字端口2,当温度高于35℃时,引脚5 的继电器开关被触发,启动排气扇工作,通过换气来达到降低大棚内温度的目的;当湿度低于40%时,引脚4 的继电器开关被触发,启动水泵工作输送水分,提高大棚内的湿度。
2) 土壤湿度模块测试。 土壤湿度传感器接模拟端口A0,通电后初始值为1 023(此时电路断开,土壤湿度状态为干旱),随着土壤湿度的增加,模拟端输出的值越小。 经实验得出,当模拟端口输出的值≥850 时,需要为土壤增加水分以达到适合植物生长的土壤湿度。
3) 光照强度模块测试。 光敏传感器接模拟端口A1,本程序光敏电阻串口的数值随亮度的增强而减小, 呈负逻辑。 经实验得出,在当输出数值大于300 时,系统打开LED 灯增加光线强度促进植物的光合作用; 当光敏传感器测到的数值低于5 时,驱动电机开启遮阳棚,降低光照强度,当降低到正常光强(即串口输出数值大于5)时收回遮阳棚。
4) 防火报警系统测试。 火焰传感器接模拟端口A2,通电后串口打印的原始数值为1 023,当出现明火时数值变小。 经实验得出,当火焰传感器测得的数值<700 时,有明火出现,需要报警。
5) 液晶屏显示模块。 IIC LCD 1602 液晶屏模块SCL接A5 引脚、SDA 接A4 引脚。 显示屏中T 代表温度(Temperature)、H 代表湿度 (Humidity)、S 代表土壤湿度(Soil)、L 代表光照亮度(Light)、F 代表火焰(Flame),除此以外,屏幕还显示传感器收集到的其他数据。
4.2 系统运行结果
本文研究基于Kittenblock 的智慧大棚, 系统运行过程中各个模块运行正常, 各个传感器模块能正常收集数据,并由主控板分析判断下一个执行动作,应用层的各个模块也能正常进行浇灌、通风降温、遮阳照明等等。
5 总结
该智慧大棚, 利用Arduino UNO R3 主控板以及各种传感器作为大棚的硬件, 用Kittenblock 图形化编程软件编辑程序,可随时修改程序,技术要求也不高。 总体而言,能较低成本有效实现农业智能化。