单元二
第5课 简易相机-拍照并保存文件

一、任务目标
按一下把照片存成文件,屏上留下照片和文件名。
二、我们要学什么
- 学习要点:拍照存文件|按一下把画面写成 jpg
- 本课过关:能完成:说出拍照存文件就是按一下把当前画面写成 jpg,屏上留下照片和文件名;载入编程体验,指出按 B1 依次存 0.jpg、1.jpg…,彩屏先显示这张照片再叠上文件名;再运行完整程序,指出按 B2 可切出 jpg 文件名列表,回到预览后仍能按 B1 拍照。
- 示例对齐:编程体验对应 「2-1-1 简易相机-拍照并保存文件」;完整程序对应 「2-1-2 简易相机-显示图片文件名」。
三、本节要点
本课要认识拍照存文件:把摄像头画面写成带序号的 jpg。重难点是分清两套——编程体验只按 B1 拍并显示;完整程序还能按 B2 列出已有 jpg 文件名。要点对齐「拍照存文件|按一下把画面写成 jpg」。
四、解题思路
任务:利用摄像头,用两套程序认识拍照存文件——按 B1 把画面存成 jpg,屏上留下照片和文件名。完整程序再按 B2 列出文件名。请对照彩屏。
本课主要用到:摄像头;按键 B1、B2;彩屏 TFT。
- 1利用摄像头,按 B1 后,屏上有没有留下照片和文件名。
- 2创建 240×240 摄像头,循环里把画面送到彩屏。
- 3按 B1:把当前画面存成「序号.jpg」,再把照片和文件名显示约 1 秒。
- 4完整程序按 B2 清屏,把目录里带 jpg 的文件名逐行列出。
- 5完成补全与从头编写,并对照现象。
流程示意
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 板载智能 | 快速打开摄像头。 | 创建 240×240 摄像头。两套预览和拍照都用它。 |
![]() | 变量 | 给变量写入新值。 | 编程体验把「序号」写成 0。完整程序「序号」先写成 -1,「显示摄像头」先写成真。 |
![]() | 显示 | 预览摄像头取景。 | 把当前帧送到彩屏。体验一直同步预览;完整按「显示摄像头」决定同不同步。 |
![]() | 板载智能 | 获取识别细节数据。 | 取出当前一帧,送给彩屏预览。 |
![]() | 板载智能 | 拍摄一张照片保存。 | 按 B1 把当前画面存成「序号.jpg」。 |
![]() | 文本 | 把多段文字连成一句。 | 把序号和「.jpg」拼成文件名,拍照、显示都用这个名字。 |
![]() | 文本 | 把数字变成可显示的字符串。 | 把序号转成文字,才能和「.jpg」拼在一起。 |
![]() | 变量 | 读取变量当前值。 | 读取序号去拼文件名;完整再读取「显示摄像头」决定预览还是列表。 |
![]() | 显示 | 把图像显示到屏幕。 | 把刚存的 jpg 显示到彩屏,确认拍到了什么。 |
![]() | 显示 | 按设定时间显示图案或字符串。 | 在照片上居中叠写文件名,例如 0.jpg。 |
![]() | 显示 | 查询显示设备是否就绪。 | 调用 write,把刚写好的照片和文字真正送到彩屏。 |
![]() | 控制 | 暂停指定时间,常用于动画节奏或等待。 | 显示照片和文件名后停约 1 秒,再回到预览。 |
![]() | 数学 | 本课程序中用到的积木,载入后可在工具箱中对照名称查看。 | 每拍一张把序号加 1。体验拍完再加;完整先加再拍。 |
![]() | 显示 | 清空当前显示内容。 | 完整按 B2 后先把彩屏清空,再写文件名列表。 |
![]() | 列表 | 对列表排序。 | 完整把目录文件按文字排序,再筛选 jpg。 |
![]() | 文件 | 列出目录中的文件名。 | 完整按 B2 时取出当前目录里的全部文件名。 |
![]() | 控制 | 依次取出列表中每一项并执行循环体。 | 完整逐个查看排序后的文件名。 |
![]() | 控制 | 生成一段整数范围,常配合 for 循环。 | 完整用 0 到列表长度,按行号往下写。 |
![]() | 列表 | 对列表做三角运算相关处理。 | 完整取出文件列表长度,决定要列多少行。 |
![]() | 逻辑 | 比较两个值(大于/等于/小于等),得到真或假。 | 完整判断文件名里能不能找到 jpg,找到才列到屏上。 |
![]() | 文本 | 在字符串中查找子串位置。 | 在文件名里找「jpg」,用来筛出照片。 |
![]() | 列表 | 按位置取出元素。 | 按当前行号取出一个文件名,写到彩屏上。 |
![]() | 显示 | 在彩屏显示内置表情或文字并停留。 | 完整把 jpg 文件名写在 y=行号×40 的位置,白色、字号 2。 |
![]() | 数学 | 加、减、乘、除等运算。 | 完整用行号乘 40,得到这一行文字的纵坐标。 |
![]() | 显示 | 为彩灯/屏幕指定颜色值。 | 完整列表文字颜色设为白色。 |
![]() | 逻辑 | 组合多个条件。 | 完整:刚按 B1 并且正在预览,才拍照存文件。 |
六、知识点讲解
先弄清:按 B1 才存文件;完整还能列出文件名。再进编程练习对照彩屏。
七、编程练习
点「载入」打开 MixVM(board=sant_design)。默认图形化积木;起步程序与积木均来自 MixGo SANT 十学期兴趣课程/学期5。若题目带外设 design,载入时会自动导入接线。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
十学期兴趣课程:2-1-1 简易相机-拍照并保存文件.mix。载入后运行。
正在载入编程环境
正在载入 MixGo SANT 仿真编程环境…
八、课堂练习
先完成两道正误判断,再做其余题目;选出后点「检查」。
判断:编程体验按 B1 会把画面存成 jpg,并在彩屏上留下照片和文件名。
判断:完整程序按 B2 会列出目录里的 jpg 文件名。
本课说的「拍照存文件」指的是?
编程体验和完整程序的主要差别是?
运行完整程序,在预览时按 B2 应看到?
九、本节小结
本课认识拍照存文件:按 B1 把画面写成 jpg,屏上留下照片和文件名。完整程序再按 B2,可以列出目录里的 jpg 文件名。

























