教师工具箱 - 本活动的目的
使用条件编程可以通过在项目中使用 [If then] 块来完成。
此活动将向学生介绍如何使用 [If then] 模块进行编程,以及使用传感和操作员模块让机器人检查是否按下了 Brain Up 按钮。 如果按下它,爪机器人的手臂就会抬起。 第一篇介绍将为将机器人反应添加到大脑上的其他按钮奠定基础。
有关 [如果那么]、[大脑按钮按下]、[等待] 或 <not> 块的更多信息,请访问 VEXcode IQ 中的帮助信息。 有关此内置帮助工具的更多信息,请单击 此处。
以下是您的学生将在此活动中进行的操作的概述:
-
观看 使用循环 和 If-Then-Else 块 教程视频。
-
使用 Clawbot(传动系统)模板构建提供的 ArmUp 项目并预测该项目的功能。
-
查看流程图以帮助解释项目中块的流程。
-
完善他们对 ArmUp 项目用途的解释。
-
通过添加 [等到] 块来编辑他们的项目。
-
停下来讨论:学生将与他们的实际观察结果相比,反思他们对 Clawbot 项目将做什么的预测。
数量 | 所需材料 |
---|---|
1 |
VEX IQ 超级套件 |
1 |
VEXcode IQ |
1 |
工程笔记本 |
1 |
Clawbot(传动系统)模板 |
爪机器人已准备好做出决定!
此活动将为您提供使用条件行为对机器人进行编程的工具。
[If then] 块是活动中的主要焦点,但也使用其他传感、控制和操作员块。
您可以使用 VEXcode IQ 内部的帮助信息来了解这些块。 有关使用 帮助 功能的指导,请参阅使用帮助教程。
老师提示
如果这是学生第一次使用VEXcode IQ,他们还可以看到工具栏中的教程来学习其他基本技能。
步骤 1: 让我们首先了解循环和条件语句。
在开始使用条件进行编程之前,请首先观看 VEXcode IQ 中的使用循环和 If-Then-Else 教程视频。
首先观看 VEXcode IQ 中的 使用循环 教程视频。
然后在 VEXcode IQ 中观看 If-Then-Else 教程视频。
步骤 2: 使用条件进行编程。
我们想要构建一个项目,如果按下 Brain Up 按钮的条件成立,该项目将举起手臂。
如果条件不成立,臂电机将停止。 让我们探索构建一个使用 [Forever] 块和 [If then] 条件块来对手臂进行编程的项目。
- 打开 Clawbot(传动系统)模板。 如需帮助,请观看使用示例项目和模板教程视频。
- 构建下面的项目。
- 将项目另存为 ArmUp。 如果学生在保存项目时需要帮助,请参阅 VEXcode IQ 中的命名和保存教程视频。
- 检查并确保项目名称 ArmUp 现在位于工具栏中央的窗口中。
- 在您的工程笔记本中预测该项目将让 Clawbot 做什么。 解释用户和 Clawbot 的行为。
- 测试一下您对 Clawbot 项目功能的预测是否正确。
- 将项目下载到Clawbot上的 Slot 1 ,然后运行它。
- 如需下载和运行项目的帮助,请参阅 VEXcode IQ 中解释如何下载和运行项目的教程。
- 检查您对项目的解释并添加注释以根据需要进行更正。
教师工具箱
学生在上面构建的项目将无法按原样运行。 由于项目流程的速度,[等待] 块是必要的。 如果不存在,该项目将在 Arm 电机有时间响应之前移动到下一个块。 因此,块将向下流动到 [Stop motor] 块,然后从堆栈顶部开始返回,因为 [Forever] 块会重复其中包含的所有块。 我们将对此进行探索,然后在下一步中向学生解释。
教师工具箱 - 停下来讨论
现在学生已经测试了该项目,询问他们的预测与观察结果有何不同。 通过提出以下问题来促进讨论:
-
你的预测和你的观察结果一样吗?
-
该项目中似乎发生了什么?
-
向上按钮被按下的情况是否只检查一次?
-
您认为需要在项目中添加什么才能使其正常运行?
步骤 3: 了解 [等到] 块。
在上一步中,该项目没有成功举起手臂。 查看解释项目流程的以下流程图。 请注意,如果按下 Brain Up 按钮,项目流程移动得非常快,以至于项目将移动到下一个块,即 [Stop motor] 块。
因此,该项目需要一个 [等到] 块来告诉 Arm 电机继续旋转,直到释放 Brain Up 按钮。
由于项目流程的速度,[等待] 块是必要的。 如果不存在,该项目将在 Arm Motor 有时间做出响应之前转移到下一个区块。 因此,这些块将向下流动到 [Stop motor] 块,然后从堆栈顶部开始返回,因为 [Forever] 块会重复其中包含的所有块。
让我们探索通过添加 [等到] 块来更改项目。 手臂电机现在将继续旋转,直到释放 Brain Up 按钮。 释放 Brain Up 按钮后,项目将继续到下一个块,即 [Stop motor] 块。
该项目现在将首先检查 Brain Up 按钮是否被按下的情况。 如果按下 Brain Up 按钮 (TRUE),则手臂将向上旋转,直到释放 Brain Up 按钮。 一旦释放 Brain Up 按钮,项目将移动到 [停止电机] 块,然后由于 [永远] 块返回到堆栈顶部重新开始。
如果未按下 Brain Up 按钮(FALSE),则由于 [Forever] 块,项目将移动到 [停止电机] 块,然后返回到堆栈顶部重新开始,并且手臂永远不会旋转。
激发讨论
问: 当不使用等待块时,按下 Brain Up 按钮后会发生什么?
A: 由于项目流的速度,项目从 [Spin] 块移动到 [Stop motor] 块的速度快于臂电机的响应速度。 因此,手臂不会移动。
问: 上面项目中的等待块的用途是什么?
A: 等待块允许手臂继续向上旋转,直到释放 Brain Up 按钮。
问: 如果按下 Brain Up 按钮的条件为 FALSE(释放),项目流程的进展如何?
A: 如果条件为假,项目流程将继续到 [停止电机] 块,然后返回到堆栈顶部,永远重复。
步骤 4: 添加 [等到] 块。
让我们添加 [等到] 块:
-
将 [等到] 块添加到您的 ArmUp 项目中,以便您的项目如下所示:
-
将项目另存为 ArmUp2。 如果学生在保存项目时需要帮助,请参阅命名和保存教程。
-
将项目下载到 Clawbot 上的 Slot 2 ,然后运行它。
- 如需下载和运行项目的帮助,请参阅 VEXcode IQ 中的教程,该教程解释了如何 下载和运行项目。
-
测试一下按下 Brain Up 按钮时手臂是否会旋转。
-
验证当 Brain Up 按钮未被按下(释放)时,手臂电机会停止。
-
在工程笔记本中写下您对 Clawbot 在将 [等到] 块添加到项目之前和之后的行为的观察结果。
教师工具箱 - 停下来讨论