APP下载

基于Beetle微型控制器的多功能花卉传感器

2016-05-30樊星马国祯邱雪莹毛辰

中国高新技术企业 2016年18期

樊星 马国祯 邱雪莹 毛辰

摘要:文章设计了一款多功能的花卉传感器,实现了对花卉生长环境的检测和状态反馈。系统可利用按键对花卉类型进行选择,通过多款传感器对花卉生长过程中的土壤湿度信息、温度信息和光照强度信息进行采集,并利用Beetle微型控制器进行数据处理,最后通过呼吸灯对状态进行反馈。

关键词:Beetle微型控制器;呼吸灯;昼夜平均;花卉传感器;花卉生长 文献标识码:A

中图分类号:TP212 文章编号:1009-2374(2016)18-0030-02 DOI:10.13535/j.cnki.11-4406/n.2016.18.016

伴随着生活节奏的加快,以上班族为代表的都市快节奏人群没有时间去学习如何照顾各种不同的植物,因此需要一种方便小巧的智能设备来帮助提醒或者替代人们去照顾植物。国内外目前同类型的相关研究较多,但多数集中在对土壤湿度的检测而忽略了对光照和温度信息的采集,采集信息单一。而且系统多以浇花装置为核心,土壤湿度传感器作为辅助模块。对大多数长期在家的用户而言,浇花装置不是必选项,只需准确把握植物的浇水时机即可;其次这样的系统存在体积较大的问题,使用过程中占用花卉的生长空间不利于花卉的生长。我们所设计的基于Beetle微型控制器的多功能花卉传感器系统,是以土壤湿度检测为主,光照、温度检测为辅的多功能传感器。系统实现了对于花卉环境信息的采集和处理,并利用呼吸灯指示状态。由于采用微型控制器和微型传感器,系统体积小巧,使用过程中占用花卉生长空间小。同时,系统可单独使用,也可多个系统搭配一个自动浇花装置,实现对多盆花卉的管理。

1 总体设计

该系统以Beetle微型控制器为核心,采用纽扣电池供电。系统包含有土壤湿度、温度、光照信息的数据采集模块,三色呼吸灯的状态指示模块,按键的花卉类型选择模块和用于与浇花装置连接的串口通信接口。系统开机后进行初始化,通过统计按键次数选择不同花卉类型,修改三种信息的触发阈值。初始化结束后定期采集花卉所处环境的三种状态信息,通过单片机进行修正计算后和所选花卉的标准环境状态对比。若发现其中一项或多项数据不满足花卉的最低生存标准则对应颜色LED灯通过PWM波驱动按呼吸灯方式点亮,实际数据偏离标准越远则PWM波周期越短,呼吸节奏越急促。在连接有浇花装置的情况下,若土壤湿度信息低于阈值,在点亮对应颜色呼吸灯的同时通过串口通信模块向浇花装置传递缺水信号。

2 硬件设计

2.1 Beetle微型控制器

Beetle是Arduino Leonardo的极简版本,具备和Leonardo类似的强大应用能力。该控制器体积小巧(20mm×20mm),常用于微小系统的构建。其拥有PWM接口、数字接口、模拟输入接口、串口通信接口等多种接口,可搭载多种类型的外设。Beetle的端口功能见表1:

2.2 数据采集模块

数据采集模块主要由Moisture Sensor土壤湿度传感器、LM35线性模拟温度传感器和LX1972模拟环境光线传感器三款传感器组成,分别负责采集植物的土壤湿度、温度和光照强度信息。三款传感器的结构和接口类似,包含有VCC、GND和OUT三个接口。其中三个传感器的OUT分别与Beetle的A0、A1和A2相连。传感器采集到的数据信息由OUT口以模拟量的形式输出,Beetle的模拟端口通过10位ADC将模拟信息转换为数字量进行计算。

以Moisture Sensor土壤湿度传感器为例阐述其工作原理,土壤湿度传感器是以判断土壤中水分含量的多少来判定土壤的湿度大小。使用时将土壤湿度传感器插入土壤中,两探头之间的土壤存在电阻值,电阻值大小和土壤湿度相关,土壤湿度越大则阻值越小。如图3所示,当土壤湿度传感器探头悬空时,三极管基极处于开路状态,三极管截止输出为0;当插入土壤中时由于土壤中水分含量不同,土壤的电阻值就不同,三极管的基极就提供了大小变化的导通电流,三极管从电极到发射极的导通电流受到基极控制,经过发射极的下拉电阻后转换成电压由OUT输出。Beetle控制器通过A0模拟输入端口读取电压信息,通过10位ADC转换后进行计算。

3 控制方式及优化

3.1 工作原理

系统开机以后,9、10和11口拉低熄灭LED灯。进行初始化需要对花卉的类型进行选择,同时按下SW1和SW2按钮则进入花卉类型选择状态,9、10和11口拉高点亮LED灯表示进入选择状态。SDA和SCL口统计下降沿的数量进行计数,连续5s内无下降沿信号则认为选择结束,熄灭LED灯。通过计数判断所选择的花卉类型,不同类型花卉的生长需求已提前置入,系统在判断出花卉类型后通过查表获得数据,并修改相关的触发阈值。初始化结束后,打开中断进入循环扫描状态。计时器每隔一定时间触发一次中断,中断服务程序中读取各个传感器的数据并存入保存,采集到的数据每隔24h清空一次。

例如当检测到的湿度信息不满足花卉生长需求时,根据实际值和标准值差值,向A0口输出不同周期,占空比循环增大和减小的PWM波。差值越大,PWM波的周期越短,呼吸节奏越急促。对应颜色LED灯按照一定节奏渐亮渐灭,向用户指示状态。

如果连接有自动浇花装置,则在点亮LED灯的同时通过TX和RX与浇花装置沟通,向浇花装置传递浇水信号,浇花装置在接收到缺水信号后,打开水泵对花卉进行一次少量的浇水随即关闭水泵。浇水结束后与系统沟通,系统随即再次检测土壤湿度信息,若检测到花卉依旧缺水则重复上述操作,若检测到土壤湿度满足花卉生长需求则不再向自动浇花装置发出浇水请求。该控制方式可适应不同大小花盆,避免浇水过量导致水溢出和影响花卉生长。对于光照强度的检测不同于土壤湿度和温度的检测方式。若光照强度不满足条件则指示用户,会造成夜晚的时候系统不断地提示光照不足。采取的解决方案为,储存系统一昼夜所采集的所有光照强度,每隔24小时对所采集的所有光照强度信息进行加权平均后判断花卉所处环境是否光照充足。

3.2 提高检测灵活性

如果传感器按固定周期采集数据的方式过于单一,两次采集之间存在明显的空白期,会导致数据采集的灵活性不足。通过对数据的分析灵活的调节检测的频率可以很好地解决问题,下面以搭配浇花装置时的土壤湿度检测为例解释工作原理。设置花卉生长的土壤湿度下限和预警线,预警线高于其湿度下限。土壤湿度伴随时间增长不断下降,高于的预警线时以较慢频率进行检测,达到预警线后提高检测频率,低于土壤湿度下限后继续提高检测频率并报警指示。实际过程中存在有多条不同级别的预警线,实际土壤湿度越接近湿度下限则检测频率越高。

4 结语

本设计以Beetle微型处理器为核心构建了一套集数据采集、数据处理和状态响应为一体的多功能花卉传感器系统,实现了对花卉生长环境的感知和报警。系统本身可单独工作用于提醒用户及时呵护花卉,也可搭配自动浇花装置实现对植物的无人看护。目前已经制作成实物,实物体积小巧,造型美观,具有较大的市场潜力。目前存在的主要问题是:Moisture Sensor土壤湿度传感器的探头只能插在土壤表层,仅能获得浅层土壤的湿度信息,该信息不能直观反映整体的土壤含水水平。后续的主要工作将集中在通过达西定律建立合理的数学模型,找到表层土壤湿度信息和土壤整体含水水平的关系,进一步提高检测精度。

参考文献

[1] 赵丽,张春林.基于单片机的智能浇花系统设计与实现[J].长春大学学报,2012,22(3).

[2] 张兆朋.基于AT89S52的家庭智能浇花器的设计[J].电子设计工程,2011,19(5).

[3] 程捷,何晨.基于單片机的温湿度检测系统设计与实现[J].仪表技术,2011,(6).

[4] 王守中,聂元铭.51单片机开发入门与典型实例[M].北京:人民邮电出版社,2009.

[5] 程晨.Arduino开发实战指南[M].北京:机械工业出版社,2012.

作者简介:樊星(1995-),男,宁夏固原人,西北工业大学机电学院本科学生,研究方向:机械电子工程。

(责任编辑:黄银芳)