本帖最后由 二哲科技 于 2023-8-22 11:14 编辑
1、项目简介 家里有一个猫咪自动饮水机,根据自动饮水机的功能,我准备做自动猫粮机,搭配了迪文屏的水墨风界面,所以我给这次项目取名【猫粮记】。 【猫粮记】分为两部分,控制端(客户端)和显示端(服务端),控制端的主控为启明RA6M5,通过HS3003检测环境的温湿度,两个VL53L0X激光测距传感器,一个VL53L0X检测猫粮的剩余量,一个VL53L0X检测猫盆是否有猫猫在进食,猫粮的投放通过舵机进行控制。控制端使用ESP8266的TCP协议连接显示端的ESP32C3,显示端通过迪文屏显示猫粮的环境温湿度和猫粮剩余量,同时可以记录猫咪吃粮的时间,并可以设置投放猫粮的模式和矫正当前时间。
2、系统框架 控制端系统主要由以下部分组成: 启明RA6M5开发板:作为所有传感器和控制的核心。 VL53L0X_猫咪吃粮:放置在盆上方,检测物体与盆前方的距离,即检测猫咪是否吃粮。 VL53L0X_猫粮剩余:放置在储粮盖上,可以检测盖子与猫粮的距离,即检测猫粮的剩余量。 舵机:控制储粮仓和粮盆之前的通断,打开时猫粮由于重力自由落下,关闭时猫粮自由落下路径阻断。 HS3003:温湿度传感器,监测猫粮所处环境的温湿度。 ESP8266:与显示端通过TCP进行数据交互。
显示端系统主要由以下部分组成: ESP32C3:创建服务器与显示端通过TCP进行数据交互。 迪文屏:通过人机交互界面显示猫粮记情况和发送指令给控制端。
系统整体框图如下所示:
3、外壳设计
根据设计的需求,我做了3D外壳设计,让这次作品的完整度更高。3D外壳主要分为五个部分,我分别给它们命名为盆底部、盆中部、储粮仓、储粮盖和出粮板。 传感器主要安装在盆中部和储粮盖上,接下来大概介绍一个这五个部分。 盆底部主要是放置投放猫粮的,猫咪可以直接吃到,通过卡扣与盆中部相连,如下图所示。 盆中部是投放猫粮的重要部分,舵机也安装至此,同时还有猫咪吃粮检测的传感器,通过卡扣与盆底部、储粮仓部相连,如下图所示。 储粮仓主要是存储猫粮的地方,粮仓底部做了弧形处理,让粮食更好的滑落,通过卡扣与盆中部相连,如下图所示。 储粮盖上方安装了测距传感器,可以检测到猫粮与盖子的距离,从而推断猫粮的剩余粮,如下图所示。 出粮板是安装在舵机上的,位置在盆中部的缝隙中,可以阻挡猫粮的滑落,如下图所示。 下面是3D整体效果图。 下面是3D打印过程的图片,大概花了四十几个小时打印出来的。
4、软件设计 软件设计分为控制端和显示端,下面分别介绍控制端和服务端的软件设计部分。 1)控制端软件设计 控制端主要是定时将温湿度、猫粮剩余量和猫咪吃粮传感器数据通过ESP8266传输到显示端,同时还要接收显示端下发的投放猫粮的指令,根据设置的克数,设置舵机打开的时间,具体工作流程如下图所示。
2)显示端软件设计 显示端主要是接收控制端上传温湿度和激光测距传感器的数据,直接将温湿度显示在迪文屏上,同时处理猫粮剩余量的数据,让猫粮的剩余量显示在屏幕上,采用的是非数字的方式,而是一种类似古代粮仓的显示效果。手动投放猫粮,根据投放的克数,发送指令投放指令,同时还可以设计自动投放模式,自动投放模式有间隔和定时两种,间隔则是隔多久投放一次,定时为每天指定时间投放一次。显示端的页面框架入下图所示。 接收指令的工作流程如下图所示。 自动投放模式的工作流程如下图所示。
5、效果演示 下面是欢迎界面。 下面是状态界面。 下面是记录界面。 下面是设置界面。 下面是【猫粮记】的实物图。 下面是视频演示的链接,感兴趣的可以去看看~
6、总结
之前有过瑞萨的开发经验,所以开发环境已经有了,开发环境只是起始出作品才是终止,在设计过程中还是遇到了一些问题(WIFI通信,3D结构,卡粮等),最后经过不懈努力最后都解决了。在制作创意氛围赛的作品过程中,可以收获很多经验,不管是电路、软件还是结构,收获颇多,非常感谢野火举办的创意氛围赛,不仅让我巩固技术,还让我家猫咪添了一台智能设备,所以【猫粮记】也是记录猫咪智能生活的作品! 7、附件
|