自动感知水龙头的设计与实现
2023-05-30吴仪朱泳瑛谈潘攀
吴仪 朱泳瑛 谈潘攀
摘要:基于物联网的自动感应水龙头系统,利用红外漫反射原理和超声波测距原理,由红外发射与接收电路、超声波传感器、控制电路、电磁阀、电源等组成。当人或物体靠近水龙头时,红外发射光电管发出的红外经人和物体反射到红外接收光电管,接收光电管接收到的反射光信号自动转换为电信号,控制电磁阀动作打开水源[1];反之自动关闭水源。通过声波的传播距离来衡量水器是否盛满,如果盛满则关闭水源,相比传统手动水龙头,能够减少因为生活节奏的加快而造成的水资源浪费现象。为生活提供便利,也满足人们对高品质和智能化生活的向往。系统整体设计较为简单实用,主要针对有老人和小孩的家庭,也可适用于商场、学校、办公大楼等人员密集流动场所。系统的主要功能包括:远程控制水龙头、定时关闭、自动感应、自动蓄水,自动提醒、反馈信息等功能。
关键词:自动感应水龙头;物联网;智慧城市;节约用水;远程控制
中图分类号:TP302.1 文献标识码:A
文章编号:1009-3044(2023)01-0118-03
1 引言
随着时代的进步,水龙头已成为人们日常生活中必不可少的必需品。在公共场所,由于人员流动性比较大,公共设施的卫生情况普遍比较恶劣,传统水龙头必须通过人手操作,很容易造成病菌的大规模传播[2]。
日常生活中人们也会时常会忘记关家里的水电,尤其是水龙头。又或是匆匆忙忙地离开家水龙头的旋钮没有拧紧,造成水资源的浪费。现在大多数的家庭不仅仅有忙碌的年轻人,还有健忘的老人和调皮的孩子,老人会因为出门忘记关上水龙头,小孩会因为好奇或者好玩将水一直放着,甚至被其他的事情吸引不管是否关好了水龙头就去玩耍,又或是停水后忘记关水龙头等情况。为了满足人们对高品质和智能化生活的向往,为了给人们提供便利和节约水资源。因此,研究智能自动感应水龙头及其应用,有着非常重要的意义。本设计就是基于超声波和红外线的智能感知水龙头。具有智能开关、定时关闭、自动感应、自动蓄水,自动提醒、反馈提醒等功能。
2 系统开发环境
2.1 系统开发环境
本系统使用Android Studio作为App开发软件,使用Keil为STM32开发板编写程序。在通信方面使用WiFi模块,将串口或TTL电平转为符合WiFi无线网络通信标准的嵌入式模块,内置无线网络协议IEEE802.11协议栈以及TCP/IP协议栈[3]。将设备连接到WiFi无线网络上,进行互联网或局域网通信,实现联网功能。硬件底层采用C语言实现传感器对数据的接收和监测功能以及平衡调节系统的功能实现,终端使用C#语言完成管理和接口功能,将接收到的数据显示在手机端应用程序上,并通过写有接口的开关进行对系统的控制。面向.NetFramework的语言编译器提供了生成中间语言代码的机制,这种机制使得不同语言之间相互操作成为可能。而后台在.NetFarmework 框架的基础上与数据库相连。就可以使用MySQL来对用户数据进行存储和各方面的操作。
2.1.1 硬件开发环境
开发板:STM32开发板。
传感器:E3JK红外线传感器、HC-SR04超声波传感器、DS18B20温度传感器、DHT11温湿度传感器、TS-300B浊度传感器。
WIFI模块:ATK-ESP8266透传模块。
其他硬件:电磁阀、电源。
2.1.2 软件开发环境
操作系统:Windows10。
数据库:MySQL。
开发语言:C、Java。
开发平台:Android studio、KEIL。
3 系统设计
3.1 总体功能设计
基于物联网的自动感应水龙头系统的主要功能设计便是感应出水、智能蓄水,实时监测水温的变化及水龙头所在室内的环境变化情况以及水质的好坏。本系统整体分为五大模块。
红外自动感应模块:利用红外漫反射原理,当人或物体靠近感应水龙头时,反射红外光,光敏元件接收到光信号,从而进行光电转换,控制电磁阀打开水龙头,当人手或物体离开感应水龙头时,接收光电管接收不到反射光信号,驱动电路断开电磁阀电源,从而关闭水龙头。
自动蓄水模块:使用超声波传感器,利用超声波测距原理,当自动感应到水龙头下方放置的存水容器时,自动感应水龙头感应出水,容器盛满水后,水龙头自动关闭。主要是通过超声波的传播长度来测量水是否盛满容器,进而控制水龙头的水流。
定时关闭模块:规定一个阀值,当超时洗涤时,水龙头自动关闭。
环境监测模块:采用数字温度传感器、浊度传感器和温湿度传感器,监控环境的实时数据变化情况。
用户提醒模块:将温湿度及水质,及盛水容器是否水满等的信息通过手机App反馈给客户。
由Stm32单片机作为主要控制开发板,首先利用不同的传感器采集传输数据到Stm32单片机,单片机进行数据处理后,ESP8266模块通过无线网络将数据发送到移动设备。WiFi模块的主要功能是与串口通信,将其转至WiFi,Stm32单片机将数据进行处理后发送到ESP8266模块,对单片机来说,仅通信即可,不需知晓此协议;另一个功能是用来充当WiFi 热点,手机搜索使用ESP8266模块建的WiFi名称就能进行连接。具体信息传输系统框架圖(如图1所示)。
3.2 数据库设计
本系统采用关系型数据库MySQL,录入并存储用户信息、水温信息、室内湿度信息、水质浊度等历史数据,方便前端用户通过响应的接口从数据库中调取数据。
用户表用来存放记录本系统所有用户的基本信息,包括id,username,password,同时也含有各种数据的类型及属性等基础信息。用户表(如表1所示)。
data表用来存放本系统中所有传感器及显示出来的环境监测数据的信息,包括id,wendu(温度),shidu(湿度),zhuodu(浊度),同时也含有各种数据的类型及属性等基础信息。data表(如表2所示)。
4 系统实现
自动感知水龙头首先采用了反射式红外传感器。红外线的发射和接收一般使用红外发光二极管和红外接收管来完成。当有物体靠近时,一部分红外光被反射到接收管。红外线控制自动水龙头的控制过程是:当人或物体靠近自动水龙头时,红外发射光电管发出的红外经人和物体反射到红外接收光电管。接收光电管接收到的反射光信号自动转换为电信号,经过后续电路进一步放大、整形、译码,最后驱动电路控制电磁阀动作打开水源[4]。当人手或物体离开自动水龙头时,接收光电管接收不到反射光信号,驱动电路断开电磁阀电源,从而关闭水源。
本水龙头采用了超声波测距原理,发射器发出的超声波以速度v在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t,由s=vt/2即可算出被测物体的距离[5]。即通过声波的传播距离来衡量水是否盛满容器,进而控制水龙头的水流。再加之水温实时监测功能,环境实时监测功能,水质浑浊程度检测功能等分析确定了系统的架构。
4.1 水龙头自动感应
使用红外线传感器控制电磁阀从而控制水龙头的打开和关闭,当手或物体放在红外线传感器附近时,电磁阀打开,当手或物体离开时,电磁阀关闭。以下为自动感应实现图(如图2所示)。
4.2 水龙头自动蓄水
使用超声波测距原理,利用超声波传感器,设定距离为10厘米,当容器放在水龙头下方时,水龙头自动出水,容器内水面距离水龙头10厘米时,水龙头会自动关闭。
4.3 水满智能提醒
根据需求设计水满智能提醒功能,使用WiFi模块进行串口通信,将数据发送给手机App。当感应水龙头下的容器盛满水时,感应水龙头自动关闭并提醒用户水已盛满。App中水满智能提醒如图3所示。
4.4 定时关闭
定时关闭功能,设置一个时间阀值,若超时洗涤,感应水龙头将自动关水。图4为App中超时关闭图。
4.5 环境实时监测
环境监测功能,用来显示串口信息,可以查看部分实时环境监测到的数据,在数据显示的时候同时也将数据存入数据库中进行保存。可以根据不同季节设置阀值,来控制不同条件的正常范围。可以在此控制部分环境监测功能硬件的开关,调节系统环境使其达到平衡稳定状态。以下为App中湿度显示测图(如图5所示)。
4.6 水质浊度检测
水质浊度检测功能,使用浊度传感器测量水的浑浊程度,可以在此看到自动感应水龙头流出自来水的水质浑浊程度。水质浊度检测图(如图6所示)。
5 总结
自动感知水龙头是为了解决老人小孩及上班族忘记关闭水龙头而造成巨大的浪费来设计的一款水龙头,已经基本完成了水龙头的温湿度检测、浊度检测、定时关闭,自动蓄水,水满提醒等功能,是一款软硬件结合的设计产品,但是由于开发能力有限,对于系统的封装及远程控制水龙头的开关还没有实现,水质检测过于简单,很多功能有待进一步的研究和开发。
参考文献:
[1] 长沙鲁维湘机电科技有限公司.一种感应水龙头:中国,201711146231.3[P].2017-11-15 [2019-05-24].
[2] 哈尔滨网腾科技开发有限公司.一种红外传感技术:中国,201210529246.9[P]. 2012-12-08.
[3] 郦丽华.浅谈如何引导学生剖析电路[J].素质教育论坛(上半月),2010,3969(10):1002-7661.
[4] 程爽.四輪机器人的设计及其编队研究[D].武汉:华中科技大学,2016.
[5] 呼延俊希,盛旺,王文杰,等.基于超声测速技术的数字大气环境因素测量仪[J].电子科技,2011,24(10):42-47.
【通联编辑:梁书】