APP下载

基于STM32的智能宠物喂养系统的设计与实现

2024-05-02沈建强黄兴平仲崇高张彬王莹莹

电脑知识与技术 2024年5期
关键词:STM32单片机宠物

沈建强 黄兴平 仲崇高 张彬 王莹莹

摘要:当今社会,宠物是人们获得快乐、缓解压力的一个重要来源,越来越多的人选择饲养宠物,但在出差和旅游等情况下无法及时地照顾它们,尤其是在饮食方面无法及时顾及宠物,所以人们需要一个有投喂功能的宠物喂养系统能够帮助他们投喂饲养宠物。文章设计了一种基于STM32的智能宠物喂养系统,该系统在硬件方面使用STM32F103C8T6单片机作为主要控制器,由Wi-Fi模块、按键模块、投喂模块、报警模块等模块组成。该系统在软件方面可以通过手机App查看联机状态、食物重量、水位高低,以及设定远程投喂时间和投喂数量。当缺少食物或者缺少水时,手机App会提醒用户,并且在微信公众号上也会提醒用户。

关键词:宠物;投喂;STM32单片机;智慧喂养

中图分类号:TP391 文献标识码:A

文章编号:1009-3044(2024)05-0004-03

0 引言

随着现代科学技术的进步与發展,物联网技术的发展给宠物喂食器与饮水机等宠物领域带来了新的发展机会[1]。本设计基于STM32F103的智能宠物喂养系统,主要分为主控模块、Wi-Fi模块、报警模块、显示模块、投喂模块等模块。该系统能实现自动投喂功能,因此该系统的设计具有实时性和智能性。

1 系统总体设计

该智能宠物喂养系统采用基于STM32F103的设计方案,旨在实现投喂和提醒功能[2]。各个模块之间通过STM32F103单片机进行交互和通信。STM32F103 单片机通过传感器模块采集数据,对其进行处理并反馈给各模块,同时各模块通过与STM32F103单片机连接实现各模块的互联互通,从而实现智能宠物喂养系统的投喂与提醒功能[3]。系统框架图如图1所示,通过称重、水量检测等传感器采集数据,检测或者设置系统初始状态,单片机数据处理并传给投喂、显示等模块,实现系统各模块的功能。

2 系统硬件设计

系统主要由主控模块电路设计、按键模块电路设计、Wi-Fi模块电路设计、报警模块电路设计、时钟电路模块电路设计等部分组成。

2.1 主控模块电路设计

智能宠物喂养系统最为关键的设计在于主控模块。主控模块也叫主要控制器模块,其作用是通过控制其他模块,以确保整个系统功能的稳定运行。智能宠物喂养系统的主要控制器选用意法半导体公司的STM32F103RCT6超低功耗32位微处理器作为主控芯片。该模块设计的电路图如图2所示。PA8用于连接水量报警传感器,在缺水时进行报警,PA9、PA10用于连接Wi-Fi模块,PA11、PA12、PA13用于连接时钟电路模块,PA15用于连接蜂鸣器,PB0、PB1、PB2用于连接按键模块,PB5、PB4、PB3 用于连接显示模块,PB10、PB11用于连接称重模块[4],PB12、PB13、PB14、PB15用于连接投喂模块进行投喂饲料。

2.2 按键模块电路设计

在本次设计中使用三个按键来设定投喂时间、投喂数量。按键分别为S_SET 按键、S_UP 按键和S_DOWN按键,并且采用了独立按键的设计方法。将三个按键分别与STM32F103C8T6 单片机的PB0、PB1、PB2的引脚相连接,按下按键后,在代码中增加20ms的延时,保证按键操作扫描每20ms更新一次,以便确定能转到该键的功能处理程序。

2.3 Wi-Fi 模块电路设计

本系统中手机作为一个无线接入点与ESP8266Wi-Fi模块连接实现数据传输,简单来讲就是ESP8266Wi-Fi模块通过串口与STM32连接,获取当前水位、食物重量等参数信息,通过Wi-Fi热点,ESP8266将参数信息传送给云平台[5-6],手机通过云平台可以显示相应参数信息,进而实现监测水位与食量等功能,如缺少水或食物时,会在微信公众号上提醒缺水或食物。

2.4 报警模块电路设计

智能宠物喂养系统的报警模块主要是在检测到水量不足,或者食物缺少的情况下,触发蜂鸣器报警。该模块有两个传感器用于检测数据:水量报警传感器、HX711称重传感器。水量报警传感器采用上拉模式,高电平时使其导通,说明缺少水量。水量报警传感器与单片机的PA8的引脚相连接。HX711称重传感器有2个引脚,即H_DT数据引脚和H_SCK时钟引脚,分别与单片机的PB10、PB11引脚相连接。

2.5 投喂模块电路设计

本系统是关于智能喂养的设计,其中投喂模块电路设计是本系统重要的设计,该模块需要实现控制投喂饲料的数量。投喂模块也可以看作步进电机模块,通过步进电机进行驱动,可以很好地控制出食量。ULN2003驱动器的MOTOR_1、MOTOR_2、MOTOR_3、MOTOR_4引脚分别与STM32F103C8T6 单片机的PB12、PB13、PB14、PB15引脚相连,通过ULN2003驱动器控制步进电机运转,从而控制出食量,实现投喂功能。

3 终端应用设计

首先初始化各个模块,比如初始化与LCD1602连接的硬件接口、初始化各个端口、初始化称重模块等。之后再利用串口、I/O口,将采集到的数据传输给各个模块,以便进行后续的处理和控制。

3.1 按键模块设计

STM32F103单片机的PB0、PB1、PB2引脚连接了按键模块的S_SET 按键、S_UP 按键和S_DOWN按键,可以设置日期、实时时间、称重清零、自动投喂时间等参数。通过STM32F103 单片机的PB0、PB1、PB2引脚,将修改的参数传给相应模块,完成参数的实时更新。

3.2 Wi-Fi 模块设计

智能宠物喂养系统需要实现远程投喂的功能,因此本模块通过采用一个云平台作为手机App和ESP8266之间的通信渠道。为了确保硬件和手机可以进行可靠安全的数据传输,本方案选择使用点灯科技平台[7]。手机、STM32、ESP8266 Wi-Fi模块之间的通信连接如图3,本设计选择AP模式,因为工作在AP模式下的ESP8266就像是一个热点,手机可以连接到此“热点”,从而实现手机等设备与ESP8266进行局域网的无线通信。

3.3 报警模块设计

本模块需要实现在水量不足或者食物不足的情况下提醒用户。STM32F103C8T6单片机的PA8引脚连接水量报警传感器,STM32F103C8T6 单片机的PA15引脚连接蜂鸣器。在缺水或者缺少食物时,蜂鸣器会鸣叫,进行报警,STM32F103C8T6单片机在接收到缺水或缺少食物的提醒时,会通过Wi-Fi模块与点灯科技平台进行连接,点灯科技平台向手机的微信公众号发送提醒信息,手机App会显示缺少食物或缺少水。

3.4 投喂模块设计

本系统中,投喂模块部分的软件设计是本系统重要的软件设计,该模块需要实现设置投喂时间和投喂数量的功能,此功能通过步进电机的运转,模拟出将食物投喂给宠物的过程。感应到脉冲信号的输入后,步进电机会将其转换成对应的角位移。因此,每个角度的转动都需要接收到一个脉冲信号。

4 系统功能测试

本智能喂养系统如果在功能测试过程中发现异常,需要调试至正常情况。以下是本系统的硬件测试。

4.1 Wi-Fi 模块测试

打开手机→设置→个人热点→WLAN热点,点击打开WLAN热点,进行手机与硬件的连接,若连接失败,在热点配置中点击AP频段,选择2.4GHz热点频段。连接成功后,设置的个人热点界面显示硬件设备名称,且硬件设备上的数据自动发送和显示在手机上,手机点灯App的宠物喂养系统会显示聯机正常。表1为测试表,通过测试可以发现,App上的数据和LCD1602显示屏上的数据在表1所示的范围内基本一致。

4.2 按键模块测试

按键模块,设有三个按键,分别为设置、增加、减少按键,按键模块的测试主要包括设置日月、时分和投喂时间,测试按键模块的数据表结果如图4所示。设置投喂时间进行测试,通过按下设置按键,使光标移动到投喂时间,按下增加按键或者减少按键可以设置投喂时间,投喂模块测试可以观察到投喂时间设置为15:10时,摇臂转动,投喂成功。

4.3 报警模块测试

报警模块,在水量不足或者食物不足时,蜂鸣器会鸣叫,手机App会提醒水位不足或者食物不足,并且会在微信公众号上提醒。先测试食物低于100g时,报警模块的状态,如图5、图6所示。

4.4 投喂模块测试

投喂模块采用步进电机模拟投喂功能,通过舵机塑料摇臂转动的圈数模拟投喂次数,摇臂转动一圈代表一次投喂。在模拟投喂时,摇臂转动,投喂完成后,摇臂回到初始状态。投喂方式有两种,一种是通过按键设置,按键设置15:05分投喂。另一种是手机自动投喂,见测试表2,离线与在线两种状态,在线时手机设置15:10投喂,系统支持投喂功能。

5 结束语

在经过硬件和软件的测试后,验证了本设计的功能基本能够实现,硬件接上电源,Wi-Fi热点打开,使得硬件与手机能够数据传输。本系统在硬件上,可以显示具体时间,包括月日时分,也可以显示食物重量、水位高低、预定投喂时间,并且也可以修改时间、预定投喂时间,在缺少食物或者水量的时候,蜂鸣器会鸣叫,提醒食物或水量不足;本系统在软件上可以查看具体信息,比如联机状态、食物重量、水位高低,也可以设定投喂时间、投喂数量,从而实现远程投喂的功能。

参考文献:

[1] 孟艳艳,陈伟海,贾长洪,等.智能宠物喂食喂水系统研究与设计[J].中国高新科技,2020(21):137-141.

[2] 洪熠,徐婷,何睿,等.基于STM32单片机的智能宠物系统的未来发展[J].电脑知识与技术,2021,17(14):199-200.

[3] 魏忠强.智能化的家养宠物喂食器设计要点探讨[J].新型工业化,2022,12(4):18-21,26.

[4] 葛海江.基于HX711的高精度电子称重研究[J].电子测试,2019(10):31-32.

[5] 管嘉诚,李晓烽,黄志芳,等.基于ESP8266与机智云的物联网智能家居[J].物联网技术,2023,13(3):140-142.

[6] 令晓静.敏捷分布式WiFi技术研究及应用[J].中国新通信,2021,23(20):66-67.

[7] 郭佳润,宫雨梦,刘易坤,等.基于单片机的多功能背包的设计[J].科技创新与生产力,2023(1):107-109,113.

【通联编辑:梁书】

猜你喜欢

STM32单片机宠物
基于STM32芯片的移动机器人的避障研究
基于STM32的两轮自平衡遥控小车设计
基于STM32单片机的智能手环设计与实现
宠物
抬起脚来
基于STM32单片机的数码相框显示系统设计
我们的宠物
养宠物
基于STM32的中老年人跌倒监测装置研究