粒粒皆辛苦——我用行空板K10做了一个校园用餐情况小助手
2026-10-163
最终版视频和程序待我周一午饭时间拿到班里收集完数据就发!
一、动机
我们学校老师们午餐都有一个任务——检查学生剩饭剩菜情况,督促学生不要浪费粮食,即“光盘行动”。为此,就有一个比较让我们难受的地方:12点下课,从别的班赶到自己班,然后给学生打饭,学生都吃上了,自己再吃——但一定要赶在学生前头把饭吃完,因为要检查学生的剩饭情况……嗯……就难好好品味食物的美味。于是这个小助手便在我的脑海里冒了一个头。
二、材料准备
| 名称 | 数量 |
行空板K10 | 1 |
摄像头 | 1 |
光盘照片 | 30张(不同角度、不同状态) |
剩饭照片 | 30张(不同角度、不同状态) |
三、制作过程
1.构思
(1)思维导图

(2)流程图

2.编写程序
(1)初始化部分
①功能模块
名称 | 用途 |
WiFi | 确保设备联网 |
MQTT | 确保收集数据能正确传输 |
②全局变量
名称 | 用途 |
光盘行动 | -1-初始状态 0-无剩饭 1-1-有剩饭 |
检查人数 | 一共检查了几名学生 |
光盘人数 | 光盘的人数 |
剩饭人数 | 有剩饭的人数 |
准确率 | 模型判断置信度 |
光盘率 | 光盘人数/检查人数 |
(2)是否光盘判断部分
| 程序截图 | 说明 |
![]() | a.使用MQTT获取模型输出分类名称 b.根据输出分类判断光盘状态 |
(3)数据屏显部分
| 程序截图 | 说明 |
![]() | 一共4行(从y20开始),分别显示总人数、光盘人数、剩饭人数、光盘率 |
(4)教师操作部分(光盘行动)

下面简单分析一下
程序 | 说明 |
![]() | 获取模型置信度,为后续判断做准备 |
![]() | 只有光盘或者有剩饭,系统才会计数,否则会提示“未识别到餐盘”,解决任何情况都会开始计数的bug |
![]() | 分别对光盘和剩饭两种状态进行处理; 结果显示在行空板第一行位置 |
(5)数据播报部分
| 程序截图 | 说明 |
![]() | 使用K10自带语音播报数据处理结果 |
3.测试
| 状态 | 图片 |
| 初始状态 | ![]() |
| 有剩饭 | ![]() |
| 光盘 | ![]() |
| 屏幕特写 | ![]() |
4.改进(周末就改)
1.加入图片表示不同状态
2.加入按键音效
3.加入标题页面
四、总结与反思(周一就反思)
五、改进设想
1.加入人脸识别,人盘做到一一对应
2.加入拍照系统,对有剩菜剩饭的餐盘进行照片留存,方便进一步分析
3.加入积分系统,程序内部记录每名同学的光盘情况,可以每周进行一次排名
以上设想希望以后有时间精力了能完成!!
















