水杯智能管家系统设计与分析
2020-06-23李鹏飞李国强高勇信息工程大学教研保障中心
李鹏飞 李国强 高勇 信息工程大学教研保障中心
随着人们生活水平的提高,人们越来越注重自身健康,科学研究指出,成年人一天的饮水量应不低于1200ml,因此,人体每天应当补充充足的水分来维持人体正常的生理功能。随着信息技术的高速发展,智能化产品开始进入社会和家庭,让人们的生活更加便捷、更加舒适。水杯作为一种人们日常生活中不可缺少的生活日用品,经常伴随在人们的身边,但是传统的水杯已不能足现今人们对美好生活的需求,人们希望每天伴随我们生活的水杯是一个智能化的产品,具有如及时提醒用户饮水、告知人们杯中水的温度、以及记录人们每日的饮水量等功能,因此,研制一款能够体现人性化的智能水杯产品,对于实现当代人健康的生活方式便具有重要意义。
笔者开发设计了一款智能水杯系统,该系统能够让用户实时获取水温并且能实时了解水量情况,系统通过判断水温和水量情况,能够在屏幕上给予合适的提醒,并且具有定时功能,通过按键开启定时功能,当设置时间到时,蜂鸣器发出报警,同时GSM 通信模块向用户手机发送饮水提醒短信。通过水杯智能管家的开发,进一步促进用户的健康饮水和Arduino 与智能水杯的结合。通过设计使之在保留基本功能的基础上,更加突出人性化,以此为用户带来更深层、更贴近切身感受的产品体验,使之成为用户健康饮水的一大帮手,从而达到监督用户养成良好的饮水习惯,达到用户健康饮水的目的。
一、系统总体设计
本设计将系统划分为温度检测模块、水量检测模块、定时提醒模块、报警提醒模块、屏幕显示模块、以及GSM 通信模块。运用所学的传感器知识以及Arduino 程序开发,将这些模块集成并应用于传统水杯,开发一款具有温度检测、水量检测、定时提醒功能以及更具备人性化设计的智能水杯产品。本章节将通过系统总体设计图直观的介绍系统,从系统功能设计图对系统进行功能模块划分,不同的模块对应着系统不同的功能。具体模块功能描述如下。
1.系统温度检测功能模块
因为DS18B20 温度传感器测量范围在-55℃~+125℃,具有灵敏性好、测量精度高、功耗小等优点,它的工作电压在3V-5.5V,在使用中不需要任何外围元件,能够适用于冷冻仓,电力机房等较复杂环境,因此,本系统设计也采用了DS18B20 温度传感器作为系统的温度检测的硬件。首先,DS18B20 能够适用于许多方面,因为每个DS18B20都有一个独特的64 位串行代码,这也使得多个DS18B20 可以在同一总线上运行。因此,我们能够实现使用一个微处理器去控制的大范围分布的DS18B20 温度传感器。这一特性大大增加了它的应用范围,例如:应用于空调环境控制、楼宇温度监测系统、工业设备或机械生产过程监测和控制系统等,系统在获取温度时,需要进行将温度传感器进行初始化、写操作、读操作。但是DS18B20 虽然具有测温系统操作简单,但因为较小的硬件开销需要相对复杂的软件进行补偿。
图2 系统温度检测功能模块
2.系统定时提醒功能模块
水杯智能管家系统的定时功能采用了Arduino定时器中断函数,设计了一个定时器。系统中使用Arduino 开发板,它的工作电压为5V,其供电类型有3.3V 和5V 两种,在进行定时器中断设计,需要将开发板和电脑连接。
首先,中断是指计算机在运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。这就好比你在读书时听到了敲门声,即中断源向你发出了中断请求,你需要放下书本,先去开门,发现原来是外卖到了。你处理完之后,又回去继续读书,并从你刚才读到的地方继续往下阅读。如果你是一个机器人的话,你从听到敲门声到返回继续读书的过程,构成了整个的中断过程。写入你大脑中的程序即为软件处理程序,门就是中断装置。中断有很多类型,此处介绍的为定时器中断,即利用板子里的定时器来让中断定时发生,可以精确控制时间。在写程序之前,需要先在Arduino 开发环境中导入一个库,即FlexiTimer2 库函数,这个库可以在官网上下载。然后直接打开“项目—加载库—添加一个.ZIP 库”,这时,你只需要将之前下载的库在弹出来的文件查询框中点开即可。这时再点开“项目—加载库”,会在下面看到这个库,点击它,在程序中会自动出现预处理命令。
本系统设计采用了三个按键对定时功能进行时间上的设置。分别将其中的一个按键作为定时功能的开启和关闭,而中间的按键设置为减少定时时间的按钮,最后一个按键功能作为增加定时时间的按钮。
系统定时提醒功能模块框图如下。
图3 系统定时提醒功能模块
3.系统报警提醒功能模块
系统采用了无源蜂鸣器作为报警硬件。当用户对智能水杯管家的定时功能开启后,蜂鸣器发出声音,表示定时功能已经打开,并且当定时时间到时,蜂鸣器会发出报警提醒用户饮水时间到。
图4 系统报警提醒功能模块
4.系统屏幕显示提醒模块
本次系统采用了LCD 液晶屏为水杯智能管家的显示提醒模块硬件,当系统开始运行后,系统通过将温度检测模块获取的水温数据进行处理,并在显示模块上显示温馨提醒,让用户能够实时了解到水杯中水的相关数据信息。其次,屏幕显示“TIMER”字样,这是定时功能的设置时间显示,当用户开启系统定时功能时,在屏幕上会显示“ST”表示现在定时功能已经开启,正在进行定时功能设置操作,再次点击按键按钮后,屏幕出现“ON”,表示定时正在进行,当定时结束后,屏幕出现“OF”时,表示系统定时功能处于关闭状态。系统屏幕提醒模块框图如下。
图5 系统屏幕显示功能模块
二、系统创新型设计与分析
1.系统水量检测功能模块
在本次系统的基础上,又独自扩展了水量检测功能,水量检测模块采用了HX711 模块和一个3 千克的压力传感器套件,对水杯的重量进行检测,并通过水的密度,进而得到水杯内水量多少,并由三种颜色的LED 灯亮起代表水量多少。当水杯内的水量较少时,红灯发光;当水量适中时,黄灯发光;当水量超过设置阈值时,绿灯发光。系统水量检测模块框图如下。
图 6 系统水量检测功能模块
2.系统GSM 通信模块
通过与其他同类型的产品比较,该系统创新的采用了通信功能,当用户开启定时功能后,定时时间到时,GSM 通信模块将向用户手机发送饮水提醒短信。达到用户注意饮水健康的目的。
图 7 系统通信功能模块
本文主要研究了对水杯智能管家的开发和设计。笔者根据学者对智能水杯产品目前的用户需求,以及对同类型智能水杯产品的调研,结合Arduino 程序设计和感知模块的应用,开发了一个具有测温、检测水量、定时报警以及能与用户手机建立通信的智能水杯系统设计。这一研究以Arduino 控制传感器等感知硬件,与同类型的智能水杯产品进行比较,取长补短,不仅能够满足大众需求,而且成本大大的降低。