当前位置:首页 期刊杂志

智能宠物喂养系统设计

时间:2024-05-04

王彤华,李郁,刘煜,刘小军,王杰

(西安明德理工学院,陕西西安,710124)

0 引言

近年来,随着人们生活水平的不断提高,生活和工作压力的不断增大,越来越多的人也更加注重自己的精神生活[1]。为了缓解压力丰富生活,宠物已成为我国休闲娱乐的新生力量,饲养宠物的潮流越来越高涨,人们对于宠物喂养的需求也愈来愈高。然而,喂养者工作繁忙无法及时照顾宠物,容易导致宠物生病及死亡[2]。同时,喂养者的专业知识水平相对滞后,缺乏科学喂养的经验。随着科学技术的不断发展,人工智能时代的来临,实现自动化管理的智能化产品已成为一种趋势。因此开发一款智能宠物喂养系统成为一种迫切的需求。该系统可以较好地去解决以上问题,让宠物可以在主人不方便照顾的情况下,能够被规律且科学地喂养,这样不仅可以给饲养者带来便利,也能让宠物的身体健康得到保障。该智能宠物喂养系统适用范围广,不管是老人还是小朋友在操作系统上都容易上手,并且设计简单方便,实用价值高。

1 系统整体设计方案

1.1 系统的整体结构

智能宠物喂养系统主要由单片机最小系统、重量检测模块、键盘模块、时钟采集模块、电机控制模块、声光提示模块和显示模块构成。系统的总体设计框图如图1 所示。

图1 系统总体设计框图

1.2 系统的功能

该系统主要实现自动喂养和手动喂养两种功能。

(1)自动喂养模式:主要是系统按指定食物重量进行自动投喂,当达到指定重量后自动关闭。与此同时,系统按照提前设置的时间进行宠物喂养,到达喂养时间后,蜂鸣器及发光二极管提醒宠物进行进食,并在显示屏上显示进食的剩余时间及喂养食物重量。

(2)手动喂养模式:主要是设置了手动喂养按键,喂养者使用键盘模块来设置投喂重量和定时间隔,之后喂养者直接按下按键模块的手动喂养按键,电机开始转动释放设置好重量的食物。到达指定重量之后,蜂鸣器发出声音,二极管发出红色光亮提示宠物过来进食,流程结束之后蜂鸣器和二极管恢复正常状态,喂食结束。

2 系统设计与测试

2.1 系统硬件设计

2.1.1 主控芯片的选择

该设计是以AT89C52 单片机作为主控芯片,AT89C52是一款基于8 位CMOS 微控制器的芯片[3]。它拥有中断系统、低功耗空闲和掉电模式、软件设置睡眠和唤醒功能,适用于各种嵌入式应用领域。因此本研究选用了AT89C52 作为主控芯片。

2.1.2 重量测量模块

该系统在重量测量模块中采用电位器和转换器ADC0832 构成重量检测电路。ADC0832 为8 位分辨率A/D转换芯片,其芯片有8 个引脚。

2.1.3 时钟采集模块

该系统的时钟采集模块选择了DS1302 芯片,DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录[4]。该模块主要对进食的时间进行实时记录,然后通过屏幕进行显示。

2.1.4 显示模块

该系统的液晶显示模块采用LCD1602 液晶显示器,它采用 HD44780 控制器[5]。对该模块电路设计时还需加入了一个上拉电阻,上拉电阻通过电阻将不确定信号钳入高电平,同时电阻起到限流作用。

2.1.5 声光提示模块

该系统的声光提示模块中的发声模块主要采用了一个蜂鸣器,由蜂鸣器发出声音来吸引宠物过来进食。发光模块电路用的是LED-RED 来进行指示灯提示,由于它的颜色鲜亮更能被宠物发现和识别。

2.1.6 电机控制模块

该系统的电机驱动模块主要采用直流电机、三极管与电阻构成,该模块连接在主控芯片的P1.7 口。该模块主要实现宠物的食物投喂功能。

2.1.7 键盘模块

该系统的键盘模块主要对喂食的重量、定时时间和手动喂养模式进行控制。为了能够简洁且方便地控制系统的喂养方式,因此该系统将采用独立式键盘,即各按键相互独立,互不影响,且连接便捷[6]。本次设计只需要5 个独立按键,其中5 个按键分别为:K1 键为投喂重量增加;K2 键为投喂重量减少;K3 键为定时时间增加;K4 键为定时时间减少;K5 键为手动喂养。它们分别与单片机的管脚P1.0、P1.1、P1.2、P1.3、P1.4 相连接。通过按键可以随时增减数值完成对系统投喂模式的实时控制与设置。

综上所述,系统整体硬件电路图设计如图2 所示。

图2 系统整体硬件电路设计图

2.2 系统软件设计

系统的软件部分采用Keil 软件进行了设计,主要包括主程序和子程序设计,其中子程序包括LCD 显示、时钟、延时、重量检测等。主程序的设计首先需要对系统和外部芯片进行初始化,初始化主要对所有的数据进行复位。接下来是键盘的读取过程,一旦有按键被按下,将自动转入到相应的处理子程序,对其按键所代表模块的固定参考值进行重新赋值,并且该系统设置了数值增加与减少的按键,可以随时调整投喂食物重量及定时时间数值的大小。当按下K1 键时,将转入投喂重量增加设置状态;当按下K2 键时,将转入投喂重量减少设置状态;当按下K3 键时,将转入定时时间增加设置状态;当按下K4 时,将转入定时时间减少设置状态;当按下K5 键时,将转入手动喂养模式。喂养者即可通过液晶显示屏对设置好投喂重量和时间间隔进行实时显示,通过时钟采集模块记录剩余时间,等剩余时间为零则电机启动,投喂定量食物,声光提示模块开始工作,吸引宠物进食。系统主程序的流程图如图3 所示。

图3 系统主程序流程图

2.3 系统性能测试

对系统进行自动喂养模式的性能测试,其主要分为两大类分别为投喂重量和定时时间的设置。设置投喂重量增加和减少的按键如图3 所示的第一个和第二个按键,第一个按键K1 表示投喂重量增加,第二个按键K2 表示投喂重量减少。设置时间间隔时需要点击按键模块的第三个和第四个,第三个按键K3 表示时间间隔增加,第四个按键K4表示时间间隔减少。测试步骤如下:(1)按复位按键,让整个系统恢复初始化;(2)设置投喂重量的值;(3)按下第一个按键,投喂重量的数值逐渐增加,宠物每次进食的量就会随之增加,例如将其增加到100g,如图4 所示;(4)按下第二个按键,投喂重量的数值就会逐渐减少,宠物每次进食的量随之减少,例如将其减少到99g,如图5 所示;(5)按下第三个按键,时间间隔的数值就会按照喂养者的操作逐渐增加,宠物每次等待的时间就会加长,例如将其增加到70s,如图6 所示;(6)按下第四个按键,时间间隔的数值就会逐渐减小,宠物每次等待的时间就会变短,例如将其减小到10s,如图7 所示。由图4、5、6、7 可知系统性能测试正确。

图4 投喂重量增加

图5 投喂重量减少

图6 定时间隔增加

图7 定时间隔减小

手动喂养功能的测试步骤如下:(1)喂养者按下手动喂养按键;(2)系统接收指令,判断电机是否正常转动;(3)判断发光二极管、蜂鸣器是否正常工作。其最终的测试结果如图8 所示。电机、发光二极管及蜂鸣器均运行正常。

图8 手动喂养模式

3 结论

本文设计的智能宠物喂养系统适用范围广,并且能定时定量地对宠物进行自动喂养,可以提供及时、高效且灵活地喂食服务。智能宠物喂养系统能够实现自动喂养和手动喂养两种模式。其自动喂养模式设计了时间间隔、投喂重量的自主化设置,主要是通过使用键盘模块来控制,同时可以根据实际情况对宠物进行更加适合宠物身体状况的喂养。该系统还配备了声光提示模块,当到达喂养时间,发光二极管发出红色光亮,蜂鸣器发出声音,提示宠物来指定的位置进食。同时,本系统还增加了一个手动喂养模式,该模式十分灵活且方便。手动喂养模式可以在特殊时刻方便喂养者临时为宠物提供食物。喂养者如果希望自己的宠物能够在自己不方便喂养的情况下,可以自己去使用喂食系统进行进食,就可以将此按键位置设置的明显一些,并在日常生活中进行人为的引导宠物去学习如何使用这个按键进行进食;如果喂养者不希望宠物自己去使用这个按键进行投喂,便可以将此按键的位置设置的隐蔽一些,防止宠物触碰到。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!