Mixly开源项目设计29:植物心情检测仪
2018-12-19裘炯涛
裘炯涛
创意想法
办公桌边陪伴我们工作的多肉、阳台上沐浴着阳光的绿萝、花坛里注视着同学们走过的迎春花……你是否曾想过,这些植物跟我们人类一样,也有喜怒哀乐的情绪?如果植物有心情的话,你觉得它们的心情会受什么因素影响呢?
我们知道,植物的生长状况主要受光照、水分、养分、温度等多种因素的綜合影响。我们可以认为,当这些条件都正好适合时,最有利于植物的生长,植物的心情就会达到最优的状态。如果其中的某一个条件变差了,那么植物的心情就会变差。
我们希望利用土壤湿度传感器检测土壤湿度,从土壤湿度的角度来分析植物的心情。对于不同的植物,它们的最适宜湿度并不相同,有些植物会喜欢偏干一点的土壤,而有些植物会喜欢偏湿一点的。我们可以利用一个旋钮传感器来输入植物最适宜的湿度,通过比较最适宜湿度和实际测得的湿度,计算出湿度差值,从而推算出植物心情。根据分析,我们可以得出植物的最适宜湿度和实际测得湿度差值越大,植物心情越差,从而就可以分析出植物的心情,如图1所示。
电路连接
在这个作品设计过程中,使用Arduino作为主控,利用Mixly编写程序。为了测出土壤湿度,需要用到土壤湿度传感器,而显示植物的心情可以使用8×8点阵屏幕,旋钮传感器用于输入植物最适宜的湿度,当植物处于不开心时用蜂鸣器发出求救声。
制作思路
首先需要用户通过旋钮传感器设置植物的最适宜的湿度A,然后利用土壤湿度传感器检测花盆中土壤的实际湿度B。如果B与A比较接近,就说明植物的心情较好,点阵屏显示开心的表情;如果B与A有一定差距,就说明植物的心情不好,点阵屏显示不开心的表情;如果B与A的差距很大,则说明植物的心情很糟糕,点阵屏显示很难过的表情,同时蜂鸣器发出“滴滴”的报警声,提醒主人及时料理。
将植物的心情从最开心到最伤心划分为5个等级,并用8×8LED点阵制作5个表情,具体表情及含义如下表所示。
最适宜湿度和实际湿度的最大差值为1023,而植物一共有5种心情,因此得出植物最适宜湿度(A)、土壤实际湿度(B)、植物心情指数(M)之间的关系,其公式如下:
根据前面的分析,连接电路,将蜂鸣器连接在D9,将8×8点阵屏的SDA连接在D2、SCL连接在D3,将土壤湿度传感器连接在A0,将旋钮传感器连接在A1,连线如图2所示。
情境呈现
一个精致好看的外观设计是非常重要的,外观设计简单来说就是作品的颜值。在实际制作过程中,外观制作可以有多种途径。例如,使用纸盒作为作品框架,可以轻松实现挖孔、涂鸦等操作,也更适合低段学生操作。根据电路连接图搭建硬件和结构,如图3所示。
原理揭秘
首先根据土壤湿度传感器测到的数据和旋钮传感器输入的植物适宜湿度计算出植物的心情指数M;再用“如果……否则……”模块搭建分支结构,对M值属于哪一范围进行判断和处理,程序如图4所示。
搭建好显示表情的程序结构后,就可以往里面填写不同的表情程序了。当然,在编辑表情之前,还需要对点阵屏进行初始化,程序如下页图5所示。
根据表情设计,依次完成M值属于不同范围时的点阵表情。其中特别要注意的是,不同的表情需要用不同的数组变量命名,否则会无法正确显示。
当植物的心情是最差的时候,也就是当M大于4时,需要用蜂鸣器发出“滴滴滴”的报警声,以此提醒主人要注意多照顾植物,程序如下页图6所示。
完成整个作品的程序编写之后,就可以上传到Arduino UNO中,经过调试即可实现检测植物心情。
成果拓展
完成这个作品后,我们发现,其实植物是否真的有心情已经不再重要了。在制作过程中,我们利用控制变量法来研究土壤湿度与植物心情的关系,利用传感器和点阵屏测出并显示植物的心情,让学生体验到了创造的乐趣。
从这个作品出发,学生也想出了更多的作品,如给植物心情检测仪增加自动浇水功能,当植物心情不好时能自动浇水。甚至有学生希望通过物联网技术将植物的心情实时发送到主人手机端,这样主人不管走到哪里就都可以关注到植物的心情了。