APP下载

宠物自动喂食控制系统设计

2022-10-15张燕屈海朋

现代信息科技 2022年15期
关键词:手动阈值按键

张燕,屈海朋

(郑州科技学院,河南 郑州 450064)

0 引 言

近年来,宠物在人们生活中扮演着越来越重要的角色,喂养宠物的家庭也日益增多,特别是空巢老人及独居青年,宠物的陪伴让他们的生活不再单调,也更加充实。但是当白天长时间无人在家或主人出差时,宠物的正常喂食无法得到保障,不能及时的补充食物和水源,宠物的喂养也成为了一个难题,因此宠物的自动喂食备受关注,很多学者也在积极研究自动化的宠物喂养系统。

杨琳等人设计了一款基于STC89C52的智能宠物定时喂食器,能够实现自动、定时、定量的喂养宠物,但需要通过按键进行手动设置喂食时间。王瑾等人设计的宠物喂食器控制系统,采用热释电传感器感应宠物位置,进而控制电磁阀完成自动供水,但可能存在误操作的情况。白亚梅设计了智能化的家养宠物喂食器,使用STM8单片机作为主控制器,能够设定喂食时间进行定时喂养,通过控制电机运行时间的长短来控制喂食量,可能会造成过量喂食或浪费,不够智能化。本文在此基础上,提出了一种基于单片机的宠物自动喂食控制系统,按照设定的时间完成自动喂食,并通过重力感应器和水位传感器智能控制喂食量和注水量,让宠物在无人看管时也能够正常饮食,弥补了传统喂养的不足。

1 系统总体设计概述

系统总体框图如图1所示,由电源模块、定时模块、语音播报模块、投食装置、注水装置、LCD显示模块、按键模块和蓝牙模块等组成。电源模块以5 V的直流电压为单片机、电机驱动电路、LCD显示模块等模块进行供电。定时模块通过专门的时钟芯片来实现,根据一日三餐的标准饮食时间来设定定时时间。语音播报模块可以在自动喂食时,播放录制好的主人声音来引导宠物自主进食。水位检测模块采用水位检测传感器来监测当前水位,当低于设定的水位时,触发继电器控制水泵向水槽注水;当水位高于设定的水位时,通过主控制器关闭继电器停止注水。重力感应模块采用重力传感器来监测当前食物重量,当低于当前设定阈值时,电机驱动电路会驱动步进电机进行投食。此外,系统中还增加了蓝牙模块,能够使用手机以无线的方式实现按键模块的功能,设定定时时间,并可以用手机控制开启和关闭手动喂食。

2 硬件设计

2.1 核心控制器

本设计选用宏晶公司所研发的单片机STC89C52作为核心控制器,STC89C52是一种低功耗、高性能CMOS8位微控制器,内置有8 k的flash、512字节RAM、32个I/O口、3个16位定时器/计数器以及全双工串行口,具有成本低、功能完善的优势,内置的闪存空间既能够满足数据存储的需求,在掉电时也可以保障数据不丢失,能够较好的满足本系统的设计要求。核心控制器STC89C52的最小系统由STC89C52芯片、晶振电路、复位电路、电源电路等组成,如图2所示。核心控制器可以获取时钟芯片的时间,通过显示电路显示当前时间,且当达到定时时间时,驱动投食装置和注水装置工作。

图1 系统总体架构

图2 STC89C52最小系统

2.2 时钟模块

本设计选用DS1302芯片作为时钟模块的核心,该芯片能够自动调整时分秒,具有断电保护措施,在电源关闭后再次打开时也能够准确计时。通过向单片机提供一定频率的脉冲进行有效计时,核心控制器以DS1302提供的时间为参数,设定宠物的用餐基准时钟,经过处理后在LCD显示器上显示出当前时间。时钟电路如图3所示。

图3 时钟电路

2.3 语音播报模块

用户可以根据宠物日常进食的时间来自主设定自动喂食时间,比如仿照人类的一日三餐来设定,当喂食结束,采用WT588D语音芯片来实现语音播报的功能,其中WT588D芯片的VDD和VCC引脚连接电源,PWM+引脚和PWM-引脚分别接入扬声器的正负极,从而驱动扬声器来播报声音,具体电路如图4所示。此语音芯片编程实现比较简单,并且能够反复擦写,内嵌高速音频处理器,处理速度非常快,可以将预先设定的语音烧录到语音芯片中,当达到喂食时间或手动开启喂食操作时,语音芯片接收到单片机输出的高电平信号,通过扬声器播放预设的语音内容吸引宠物进食。

图4 语音播报接口电路

2.4 按键模块

本设计采用5个独立按键,按键K1用来调整当前时间和喂食时间的设定,按键K2、K3用来控制数值的加减,按键K4用来控制手动喂食的开启,按键K5用来控制手动喂食关闭,按键电路如图5所示。首次使用本系统时,在接通电源并进行初始化后,要先通过按键来设定喂食的时间,可以采用一日三餐的频次进行设定,设置完成后,距离当前时间最近的一次喂食时间会在液晶显示器中进行显示。此外,水位传感器的水位阈值及重力传感器的重量阈值也是通过按键电路来实现。

图5 按键电路

2.5 LCD显示模块

采用LCD1602显示屏来显示当前的时间和定时时间,LCD1602耗电少,能够显示多种数据类型,由点阵字符位组成,且软件设计更容易实现。本设计中的时间采用24小时制进行显示,液晶显示模块会显示两部分内容,第一行显示当前时钟时间,第二行显示下一次喂食时间。LCD1602显示模块电路设计如图6所示。

2.6 蓝牙模块

蓝牙模块采用HC-05芯片,它在设计上是主从一体的,且HC-05芯片可以与具有蓝牙功能的设备连接并匹配,即可以与用户的智能手机或PAD配对连接,并支持4 800~1 382 400的波特率范围,且能与3.3 V或5 V的单片机兼容,非常方便且灵活,HC-05蓝牙模块接口电路如图7所示。用户可以直接打开手机蓝牙并连接HC-05模块,通过蓝牙串口APP界面上的按钮来实现按键的功能,可以设定当前时间和喂食时间,并通过手机控制手动喂食的开启和关闭操作。

图6 LCD1602显示模块接口电路

图7 HC-05蓝牙模块接口电路

2.7 注水装置与投食装置

此处采用步进电机驱动来添加食物,使用继电器控制水泵实现加水。当达到预先设定的喂食时间时,系统会自动进行喂食和加水的操作。注水装置使用水位传感器来测量当前水位,当低于设定的阈值时,会控制继电器开启,驱动水泵加水;当水位高于设定的阈值时,代表当前水量充足,无需加水,注水装置电路如图8所示。投食装置采用重力感应器监测当前食物重量,当低于阈值时,步进电机工作执行喂食;当高于阈值时,无需再添加食物,投食装置电路如图9所示。同时,语音播报模块会通过扩音器播放预先录制或设定的声音,吸引宠物前来进食。采用水位传感器和重力感应器,能够更智能的完成自动喂食和注水的操作,避免过量喂食和水满溢出的情况,也更加实用。

图8 注水装置电路

图9 投食装置电路

3 软件设计

自动喂食系统的实现还需要软件来设计,本系统采用Keil uVision5版本的开发环境,使用C语言来编写程序实现各模块的功能。

3.1 主程序设计

首先对系统各模块进行初始化,初始化的过程包括液晶显示模块的初始化、时钟电路的初始化、语音模块的初始化、步进电机初始化等,显示模块初始化后会清屏,主控制器接收到时钟芯片的时钟后会在液晶显示器中显示,然后通过按键对时间进行校正,并设定自动喂食时间。本设计中喂食有两种方式,手动喂食和自动喂食。当用户在家时,按下手动控制按键来开启喂食或通过手机蓝牙连接系统后点击APP中的手动控制按钮,按键按下后,主控制器驱动步进电机进行投食,并打开继电器启动水泵加水,然后输出高电平控制语音播报声音;当用户不在家时,通过设定的三次喂食时间进行自动喂食,即达到设定的喂食时间时,主控制器驱动步进电机和继电器工作,并控制语音模块播报声音。主程序流程图如图10所示。

3.2 喂食子程序设计

当手动喂食开启或达到设定的喂食时间时,启动喂食子程序,具体流程为先判断食槽余量是否低于设定阈值,若低于阈值则步进电机工作进行供食,若高于阈值则跳过本次供食;然后比较当前水槽的水位与设定的阈值,若低于设定值,则打开继电器启动水泵加水,若高于设定值,跳过本次注水;最后播报语音吸引宠物进食。喂食子程序流程图如图11所示。

3.3 LCD显示子程序

显示模块采用LCD1602显示屏来显示时间,系统启动后,屏幕先进行初始化并清屏,获取写入指令和写入地址,设置显示位置并显示数据。显示子程序流程图如图12所示。

4 系统测试

为了验证本设计的性能,对系统的各个模块进行了测试。首先检查硬件电路的连线和焊接是否准确;然后测试各功能模块,按键能否正确设置,显示屏中是否能准确显示出两行数据,及电机和水泵能否正常开关;最后测试系统是否能够正常工作。

图10 主程序流程图

图11 喂食子程序流程图

图12 LCD显示子程序

本系统有手动和自动两种工作方式,分别进行了测试,自动方式喂食的时间设定为10:00、14:00和20:00,手动方式采用随机时间,每天两次操作。对2022年3月1日—2022年3月15日期间的电机工作次数、水泵工作次数及语音播报次数的数据进行记录(其中2022年3月10日上午10:00—12:00停电两小时),测试结果如表1所示。

表1 测试数据

从表1可以看出,系统在设定的喂食时间及手动喂食时都能够正常投食及播报语音数据,步进电机是否工作与食槽中余量有关,当余量较多时,无需进行喂食;水泵是否工作与当前的水位有关,水位传感器实时测量当前水位,当水位较高时,无需加水;因此步进电机和水泵的工作次数相对较少,根据语音播报的次数来验证系统工作均处于正常状态。在测试过程中,由于中间停电2小时造成系统断电,无法正常工作,但在断电重启后也能正常喂食。经测试,本系统能够正常进行手动及自动喂食,且系统健壮性良好。

5 结 论

本设计的主要内容是宠物自动喂食控制系统,根据预设的时间定时对宠物进行自动喂食,减轻了用户的喂养负担,重力传感器测量当前食物的余量,避免过度喂食;水位传感器测量当前水位,水量不足时加水,水量充足时不进行操作,从而避免水的溢出,减少浪费。

经过为期一个月的重复测试,表明本设计能够实现宠物的自动喂食,方便用户对宠物进食的管理,且在喂食时能够播报用户提前录制的声音,能够吸引宠物更好的进食,解决了用户长时间不在家时的宠物喂养问题,系统运行可靠稳定,具有良好的应用前景。

猜你喜欢

手动阈值按键
非平稳声信号下的小波变换去噪方法研究
非均匀光照下文本图像分割算法研究
搞笑段子
非触勿动 秒治键盘误触
利用迭代软阈值方法抑制恒时演化类核磁共振实验中的采样截断伪峰
风行S5001.6L手动尊享型
宝骏5601.8L手动豪华型
C4世嘉 1.6L手动豪华型
未来的笔
其实真的很简单教你轻松关闭WP8.1手机按键灯