4787| 0
|
[K10教程] 【行空板K10基础入门教程】第9课:猫脸检测—宠物投喂机 |
本帖最后由 zoey不种土豆 于 2025-1-3 15:50 编辑 Hi,欢迎各位来到行空板K10的第九课!猫咪,是又可爱又萌的动物,现在许多人都很想要养一只自己的小萌猫。但是,朝九晚五的工作或学习,让人们没办法及时给猫咪投喂猫粮,因此,能不能用行空板K10实现自动投喂猫粮呢?今天,我们将尝试利用行空板K10,设计一个猫咪喂养机! 任务目标 利用行空板 K10 的猫脸检测功能设计一个猫咪喂养机,当猫咪靠近进食时,能自动投喂猫粮。 知识目标 1、 掌握行空板K10猫脸检测的方法 2、 掌握行空板 K10 实现猫咪喂养机的程序 材料清单 硬件清单: 软件使用: Mind+编程软件 1. 软件压缩包下载:https://www.unihiker.com.cn/wiki/k10/mindplus-ready 2. 将压缩包解压,注意解压过程中关闭杀毒软件,解压后文件夹路径不含中文,解压后文件夹路径不宜过长 3. 打开解压后的文件夹,找到Mind+.exe,双击打开 4. 若编译任何代码都报错,建议在解压时将所有后台的杀毒软件退出,将解压出的文件夹放到C盘根目录,文件夹的名字改为"win-ia32-unpacked20241012"。文件夹中的exe文件,不可直接拖到桌面,要右键-发送到桌面快捷方式。 软件基础使用 1、 打开Mind+,切换到上传模式 2、 加载行空板K10 基于前面的操作,只需要点击“扩展库”,找到“官方库”下的“行空板”模块点击完成添加,点击返回后, 就可以在“指令区”找到行空板 K10,完成行空板 K10 加载。 3、连接行空板K10 首先,你需要通过 USB 连接线将行空板 K10 连接到计算机 然后,点击连接设备后,点击 COM7-UNIHIKER K10进行连接。 注:不同行空板 K10 的设备名称可能不同,但都是以 K10 结尾。 动手实践 接下来一起动手完成今天的课程任务吧。我们将从搭建猫咪喂养机开始,逐步掌握如何利用行空板 K10 设计一个自动猫咪喂养机。 任务一:搭建猫咪喂养机 这一部分我们要先完成摄像头的初始化,添加猫盆,搭建猫咪喂养机。 任务二:猫咪靠近,自动投喂 这一部分我们要实现当猫咪靠近时,喂养机自动投喂猫粮。 任务三:设置休眠,避免重复出粮 这一部分,我们要给喂养机设置休眠状态,避免猫咪进食期间,中途抬头而重复出粮。 任务一:搭建猫咪喂养机 1、 硬件搭建 将 TF 卡插入到行空板 K10 卡槽当中,确认使用 USB 连接线将行空板 K10 连接到计算机 2、 软件准备 确认已打开 Mind+,在 Python 图形化模式下出现预设代码,成功加载行空板。接下来就可以编写项 目程序了。 3、 编写程序 STEP1:调用猫狗检测指令 我们需要先使用指令 显示摄像头画面 指令,在行空板 K10 屏幕上显示摄像头画面。 开启摄像头之后,我们找到 切换为猫狗检测模式 指令,将摄像头切换为猫狗检测的模式。 STEP2:添加猫盆 猫咪喂养机需要一个猫盆来装猫粮,这里,我们使用 缓存显示TF卡图片 指令,在行空板 K10 屏幕 添加猫盆,指令如下。 4、 程序执行 STEP1:检查并保证行空板K10已连接Mind+,即在“菜单栏”部分显示IP; STEP2:点击界面右上方的上传到设备按钮; STEP3:运行程序,K10 屏幕出现摄像头画面、空猫盆,当检测到猫脸的时候,猫脸出现绿色识别框。 任务二:猫咪靠近,自动投喂 在上一个任务,我们已经完成了猫咪喂养机的搭建,现在我们需要实现当猫咪靠近喂养机进行进食时, 喂养机能够自动投喂猫粮。 1、 编写程序 STEP1:检测猫咪靠近 我们如何判断猫咪是否靠近喂养机呢?在以前我们都学习过“近大远小”的概念,同样的,猫咪越靠近喂 养机,那猫脸的尺寸就越大,如下图所示。 在行空板K10中,可以使用 检测到猫脸/狗脸? 指令检测是否有猫咪,当检测到有猫咪时,我们需要 用 检测猫脸/狗脸的长 指令,获得猫脸的长度,设定猫脸长度的临界值 180,当猫脸大于这个值时,我们 就认为猫咪已经靠近喂养机,想要进食。 相关的程序指令如下: STEP2:设置猫粮投喂指令 首先在行空板屏幕上显示“Feeding...”,表示当前喂养机正处于喂养状态;接着,我们使用 后台播放TF 卡音频 指令,播放倒猫粮的音效声;同时,我们让猫盆从空盆到半盆再到满盆猫粮逐渐变化,模拟盆逐渐 倒满猫粮的过程,相关的程序指令如下。 2、 程序运行 STEP1:连接行空板 K10 STEP2:点击界面右上方的“上传到设备”按钮 STEP3:当猫咪靠近喂养机时,喂养机自动投喂猫粮,并在屏幕上显示当前喂养机工作状态。 在任务二中,喂养机一直处于投喂的状态。在实际生活中,当盆里装猫粮之后,猫会低头开始吃猫粮, 中途会不断抬头,为了避免重复检测到猫脸而不断出粮。我们要给喂养机设置休眠状态, 1、 编写程序 当猫低头吃猫粮时,我们设置一段休眠时间(5 秒)让猫吃猫粮,在这 5 秒内,喂养机处于休眠状态。我们使用变量“休眠时间”来记录休眠时间。当休眠时间结束后,猫咪吃完猫粮再抬起头,这时检测到猫脸, 喂养机就自动补充猫粮,流程如下。 我们需要设置“休眠时间”的初始值为 0,当喂养机出猫粮后,猫脸长度小于 100,“休眠时间”就变为 5, 开始进入休眠倒计时。 当进入休眠状态时,行空板 K10 屏幕上显示休眠时间倒计时,当休眠时间结束,我们模拟猫咪吃完猫 粮,将盆换为空盆。 完整的程序指令如下所示。 2、 运行程序 点击上传到设备, 喂养机投喂猫粮后,猫咪开始进食,喂养机进入休眠状态,避免重复出猫粮。休眠 时间结束,再识别到猫咪,自动补充猫粮。 知识园地 1、 猫狗检测指令 2、 猫狗关键点检测 本文程序和相关素材下载:第九课 猫咪喂养机.rar 延伸阅读: |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed