16210| 2
|
[M10教程] 【行空板图形化Python入门教程】第10课:肺活量测量仪 |
第10课 肺活量测量仪 肺活量测量是用来检测心肺功能的项目,测量的时候通常要求人深吸一口气然后对着呼气口吹气,通过检测呼出气体的体积反应心肺功能。今天我们就用行空板来模拟一个肺活量测量仪,一起来看看如何制作吧。 任务目标 按下A键,开始测量,通过对着行空板呼气模拟肺活量的检测过程,同时进度条实时显示你的肺活量达标情况;多次测量肺活量后,会显示最后三个测量数据。 注意:肺活量测量仪只是对肺活量测量过程和效果的简单模拟,并不能真的用于测量肺活量。 知识点 1. 掌握程序中的列表的基础使用 2. 认识程序中的条件循环语句 3. 认识程序中的多分支条件语句 4. 掌握行空板上绘制线段的方法 5. 掌握行空板获取声音强度的方法 材料清单 1. 硬件清单 行空板x1 Type-C&Micro二合一USB线x1 2. 软件使用 Mind+编程软件x1,下载地址:https://www.mindplus.cc 动手实践 肺活量测量仪的主要功能是通过统计呼气时长来显示肺活量情况,自动记录测量数据。接下来我们就分两个任务来制作吧。 任务一:获得肺活量数据 在此任务中,我们将学习利用行空板麦克风,模拟肺活量的测量,同时通过进度条显示肺活量达标情况。 任务二:自动记录测量数据 基于已统计的肺活量数据,我们将学习列表的基本操作,记录并显示多次测量数据。 任务一:获得肺活量数据 1. 硬件搭建 使用USB连接线将行空板连接到计算机。 2. 软件准备 打开Mind+,按照下面图示完成软件准备过程。 3. 编写程序 肺活量测试的过程中需要手持测量仪并吹气,那么用行空板如何检测吹气,并获得肺活量数据呢,接下来我们一起看看吧。 (1) 获得肺活量数据 (a)判断吹气 我们是通过获取声音强度来判断人是否在吹气的,获取麦克风响度数值指令为 读取麦克风声音强度 ,你可以在指令区“行空板”分类下的“板载传感器”里寻找该指令。 注意:行空板正对你时,麦克风位于行空板上方左侧(如下图)。关于行空板麦克风知识,参见“知识园地”。 找到后,可以直接在行空板屏幕上实时显示麦克风声音强度数值,观察吹气与否的数值变化。 注意:你可以使用远程桌面连接行空板,方便观察数据变化。 数据方面,在没有吹气时,你看到的是当前环境声音强度;接着,你可以对着行空板上方有话筒图标的地方吹气,观察声音强度数值,基本上都在40以上。 没有吹气,环境声音强度 吹气,声音强度明显增加 因此,我们可以通过声音强度数值来判断现在是否有人吹气。 (b)获得肺活量数据 肺活量数据是通过人持续吹气获得,于是需要使用变量来记录持续吹气的状态,它的实现过程就变成了开始吹气后,变量持续增加,直到吹气停止。也就是说,可以通过 重复执行直到 控制 肺活量数据变量 ,持续增加,直到声音强度小于40停止收集数据。 注意: 重复执行直到 是条件循环语句,它位于指令区的“控制”分类下。关于该指令的介绍,详见“知识园地”。 至于按下A键开始测量,本节课我们要使用到的是 按钮A被按下 ,它在指令区“行空板”分类下的“板载传感器”里,如果 按钮A被按下,那么开始测量肺活量。 (2) 显示达标情况 在实际测量肺活量过程中,根据不同的年龄对应着不同的及格标准。本课项目中使用进度条来显示肺活量情况,并加入“达标线”提示测试者是否达标,下图展示了进度条的组成情况。 达标线要使用行空板“显示线段”指令 对象名 显示线段起点X0Y0终点X240Y320线宽1颜色蓝 ,在“显示矩形”指令上方,你也可以通过“线段”关键字找到它。 然后,通过进度条的组成和位置计算矩形相关参数和线段起终点坐标。需要说明的是,达标线可以根据比例来设置位置,比如表示60%的刻度,参考下图即可完成计算。 现在你就可以根据肺活量数据和进度条宽度,调整进度条的变化,当然也可以适当加入一些提示内容,完整参考代码如下: 4. 程序运行 点击运行,显示“肺活量数据”和0;按下A键,提示音响起,开始对着行空板麦克风吹气,观察进度条变化。 5. 试一试 我们现在已知进度条外框宽度为200,假设对应的肺活量数据为2000,请你动手设置当肺活量数据超过2000时,进度条不要超出外框。 任务二:自动记录测量数据 1. 编写程序 在任务一中,你已经可以测量肺活量数据,那如何把测量过的数据记录并显示出来呢?一起来学习吧。 (1) 记录测量数据 记录测试过的数据,可以使用“列表”变量来完成,你可以把“列表”理解成程序中的“表格”,相关操作指令在指令区“列表”分类下。 注意:关于“列表”知识的介绍,参见“知识园地”。 把历史数据记录进“列表”,需要先建立一个空的“列表”变量,即建立 数据表变量 并赋值为 初始化列表[] ,记得删去指令中的内容。 然后,在肺活量数据测量完成之后,将肺活量数据加入到列表。向列表加入数据的指令为 列表[]将0添加到末尾 ,使用时,将 变量数据表 和 变量肺活量数据分别填入即可。 (2) 显示测量数据 首先先建立好三个显示测试数据的对象。 接下来显示的数据内容,其实就是把列表里的数据取出来,要使用指令 列表[]索引0的值 来完成,需要说明的是,列表的索引就是列表的第几个元素,其中第一个的索引是0。 显示测量数据,一共有三种情况,第一次测量只显示第一个数据,索引为0;第二次测量显示前两个数据,索引分别为0和1;三次及以上的测量则显示最后三个数据。 具体实现上,需要使用 列表[]的长度 指令,帮助判断当前列表有几个数据,并对应更新列表数据内容。 对于第三种情况,显示列表的最后三个数据,这三个数据的索引是 列表长度 分别减1,减2,减3,你可以使用 列表[]的长度 指令获取并更新数据显示对象。 三种情况的判断需要使用可变分支条件语句 如果那么执行(带“+”号),点击两次加号,即可完成多条件语句的设置。 注意:关于多分支条件语句介绍,参见“知识园地”。 最后,完善三种情况的数据显示并给对应数据加上提示信息,本节课的案例就完成啦。完整参考代码如下: 2. 程序运行 按下A键测量肺活量,多次测量后显示最后的三个测量数据。 知识园地 1. 程序中的列表知识 列表(List)是用来存储多个数据的数据类型,其中每个数据都有一个“索引”来表示它在列表中的位置。你可以类比生活中的表格,对列表进行读取、添加、删除、修改等操作,但不同于表格的是,对于有元素的列表,通常第一个数据元素索引为0。 在Python中,列表是由“[]”构成,里面什么都没有,叫做“空列表”;若有两个或以上的数据元素,元素与元素之间需要用英文“,”间隔起来,如[0,”Mind+”,12.5,”行空板”]。 另外,列表和数字都是Python中基础的数据类型,关于Python的其它基础数据类型,如字符串、字典等,我们将在后面的课程中继续介绍。 在图形化指令中,你可以在指令区“列表”分类下找到 操作列表的指令 。比如,创建列表指令 初始化列表[] ,向后添加元素指令 列表[]将0添加到末尾 等等,你可以自己尝试或者上网查询这些指令的含义和用法。 2. 程序中的条件循环语句 条件循环语句是指 重复执行直到 ,它是循环结构语句中的一个,它的执行过程是,先判断“直到”后面的条件是否满足,如果满足就停止执行“重复执行”里的语句,它的代码执行流程可以被描述成下面右边的图片。 3. 程序中的多分支条件语句 多分支条件语句是 如果 那么执行 否则如果 那么执行 否则 语句,是条件判断语句中的一种。它通常被用来做两个以上可能性的判断,你可以点击“+”号增加判断情况,也可以点击“-”号减少判断情况。 以三种情况的判断为例,下图左边的执行过程是:判断条件1是否成立,成立就执行代码语句1,否则判断条件2是否成立,成立就执行代码语句2,否则执行代码语句3,它的代码执行流程可以被描述成下面右边的图片。 4. 行空板板载麦克风 当行空板正对你的时候,行空板板载麦克风位于行空板上方左侧。它是电容硅麦克风,小巧且灵敏度较高,可以用来获取环境中的声音。 行空板板载麦克风和加速度传感器、光线强度传感器一样,都属于板载传感器,所以你可以在“行空板”“板载传感器”分类中找到 读取麦克风声音强度 指令,获取环境音量数值。 麦克风强度数值是一个百分比值,范围为0-100。这个数值和电脑麦克风音量值一样,根据麦克风灵敏度,录入的音频响度会有一个范围,最小的可录入音量对应0,最大对应100,如果超过最大音量依然会按最大音量录入。需要说明的是,行空板板载麦克风,只可以通过百分比定性的分析音量的大小。 5. 指令学习 本项目主要使用了学习了行空板麦克风声音强度、列表操作等指令,接下来我们就详细学习一下。 该指令用于获取板载麦克风接收的声音强度数值。 该指令用于判断行空板A/B键是否被按下。 该指令用于在行空板屏幕显示线段对象,在指令中可以设置对象名、线段起终点坐标、线宽以及颜色。 该指令用于建立并初始化一个列表。 该指令用于获取列表的长度。 该指令用于在列表的尾部添加元素数据。 该指令用于获取列表第“索引”个数据。使用时需要写明列表和索引内容,其中索引0为第一个数据,索引不能超过列表长度。 该指令用于设置条件语句,点击“+”号,可增加判断的情况;出现多种情况后,点击“-”号,可减少判断情况。 06 挑战自我 在本项目中你已经完成了肺活量测量和历史数据显示,但在班级场景下的肺活量测量通常需要记录每个同学的测量数据,现在请你自己动手丰富你的肺活量测量仪,完成以下任务: (1) 为你的肺活量测量仪设计一个开始页面,此页面包括选择学号部分,点击“+”“-”按钮选择学号,以及操作文字说明,你可以参考下图设计; (2) 多次测量任务,按下A键,开始测量,进入测量页面,包含进度条和学号及对应历史数据;按下B键,屏幕返回学号选择页面,重新开始选定测量学生; 按下A提示音响起,开始测量页面显示进度条和历史数据 按下B上传数据,返回学号选择页 附件下载 第十课 肺活量测量仪.zip |
1.肺活量用声音传感器准确吗?为什么不是用压力传感器 2.肺活量的值是循环里面每次加1 而不是加当前声音值 这样我测试的结果偏小 我每次只有300-400 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed