教师工具箱 - 本活动的目的
在上一页中,学生正在使用 Brain Up 按钮对手臂进行编程以使其旋转。 此页面将建立在上一个项目的基础上,还可以使用 Brain Down 按钮对手臂进行编程以使其旋转。
本活动将向学生介绍如何使用 [If then else] 块进行编程,以及使用传感和操作块让机器人检查是否按下了 Brain Up 或 Down 按钮。 如果按下 Brain Up 按钮,Clawbot 的手臂就会抬起。 如果按下 Brain Down 按钮,Clawbot 的手臂就会降低。 这是之前活动的基础,也将为重新思考部分中的用户界面挑战奠定基础。
对于用户界面挑战,学生需要使用 IQ 机器人大脑上的按钮对 Clawbot 进行编程,以抬起手臂、放下手臂、打开爪子和关闭爪子。
有关 [If then], [If then else], <Brain 按钮按下>, 或 [Spin] 块的更多信息,请访问 VEXcode IQ 中的帮助信息。 有关此内置帮助工具的更多信息,请单击 此处。
以下是您的学生将在此活动中进行的操作的概述:
-
使用现有的 ArmUp2 构建提供的 ArmUpDown 项目并预测该项目将做什么。
-
查看流程图以帮助解释项目中块的流程。
-
完善他们对 ArmUpDown 项目用途的解释。
-
观看 If then Else 块 教程视频。
-
使用 [If then else] 块编辑他们的项目。
-
停下来讨论:学生将与他们的实际观察结果相比,反思他们对 Clawbot 项目将做什么的预测。
-
使用与手臂编程相同的项目轮廓对爪进行编程。
数量 | 所需材料 |
---|---|
1 |
VEX IQ 超级套件 |
1 |
VEXcode IQ |
1 |
工程笔记本 |
1 |
Clawbot(传动系统)模板 |
老师提示
如果这是学生第一次使用VEXcode IQ,他们还可以看到工具栏中的教程来学习其他基本技能。
步骤 1: 编程以向下移动手臂。
在上一页中,您对 Clawbot 的手臂进行了编程,使其在按下 Brain Up 按钮时旋转。 但是,如果同时放下手臂呢? 我们先回顾一下之前的ArmUp2项目。
是否可以使用相同的 [If then] 块来向上旋转手臂并向下旋转手臂? 我们来试试吧! 通过编辑现有的 ArmUp2 项目来构建以下项目。
-
将项目另存为 ArmUpDown。 如果学生需要帮助保存项目,请参阅命名和保存教程。
-
检查并确保项目名称 ArmUpDown 现在位于工具栏中央的窗口中。
-
在您的工程笔记本中预测该项目将让 Clawbot 做什么。 解释用户和 Clawbot 的行为。
-
测试一下您对 Clawbot 项目功能的预测是否正确。
-
将项目下载到 Clawbot 上的 Slot 3 ,然后运行它。
-
如需下载和运行项目的帮助,请参阅 VEXcode IQ 中解释如何下载和运行项目的教程。
-
-
检查您对项目的解释并添加注释以根据需要进行更正。
教师工具箱
学生们在上面构建的项目将会起作用。 当按下 Brain Up 按钮时,手臂将向上旋转;当按下 Brain Down 按钮时,手臂将向下旋转。 尽管该项目按原样运行,但它的编写方式并不是最佳的。 可能存在两个条件同时成立的情况。 另外,请注意,由于“Brain Up”按钮开始按下的条件是首先按下的,因此如果按住“Brain Up”按钮,然后再按下“Brain Down”,手臂将继续向上旋转。 在松开 Brain Up 按钮之前,该动作不会停止。 因此,该项目将在下一步中重新编写,以包含 [If then else] 块,以避免这些潜在问题。
教师工具箱 - 停下来讨论
现在学生已经测试了该项目,询问他们的预测与观察结果有何不同。 通过提出以下问题来促进讨论:
-
你的预测和你的观察结果一样吗?
-
该项目似乎发生了什么?
-
向上和向下按钮被按下的条件是否只检查一次?
-
您认为该项目可以重新组织以更有效地运行吗?
步骤 2: 了解项目流程。
在上一步中,该项目确实升高和降低了手臂。 然而,由于“Brain Up”按钮开始按下的条件是先按下,因此如果按住“Brain Up”按钮,然后再按下“Brain Down”,则手臂将继续向上旋转,因为该动作直到“Brain Up”按钮才会停止。发行了。 查看解释项目流程的以下流程图。
因此,项目可以将 [If then] 块替换为 [If then else] 块,以便任何时候只有一个实例为 true。
请观看以下有关 [If then else] 块的教程视频:
首先观看 VEXcode IQ 中的 If-Then-Else 教程视频。
使用 [If then else] 块也将不再需要 [等到] 块,因为手臂将继续旋转,直到释放 Brain Up 按钮。 发生这种情况是因为 [If then else] 的“else”部分永远不会达到,直到 Brain Up 按钮条件为 false(释放)为止。
[Forever] 块允许连续检查第一个条件。
让我们探索通过添加 [If then else] 块来更改项目。 手臂电机现在将继续旋转,直到不再按下(释放)“Brain Up”按钮。 由于[Forever] 块,这个条件将继续被检查,直到它为假。
一旦 Brain Up 按钮的条件为假,项目将继续进行下一个块,即检查 Brain Down 按钮是否被按下的条件。 如果按下 Brain Down 按钮的条件为真,那么手臂就会向上旋转。 同样,由于 [Forever] 块,这个条件将继续被检查,直到它为假。
一旦 Brain Up 按钮的条件为假,项目将继续到下一个块,即 [Stop motor] 块。 因此,只有当两个条件都为假(两个按钮均未按下)时,臂电机才会停止。
激发讨论
问: 如果按下 Brain Up 按钮的条件为 FALSE(释放),项目流程的进展如何?
A: 如果条件为假,项目流程将继续检查按下 Brain Down 按钮的条件。
问: 上述项目中的 [If then else] 块的用途是什么?
A: 使用 [If then else] 块一次只能允许一个实例为 true。 因此,使用 [If then else] 块时,Brain Up 按钮和 Brain Down 按钮不能同时为真,因为按下 Brain Down 按钮的第二个条件甚至不是一个选项,除非Brain Up 按钮被按下是错误的。 另一个目的是提高编程效率。
问: 如果按下向上和向下按钮的条件均为假,则项目流程的进展如何?
A: 如果两个条件都为假,项目流程将继续到 [停止电机] 块,然后返回到堆栈顶部,永远重复。
步骤 3: 使用 [If then else] 块进行编程。
让我们使用 [If then else] 块:
-
将 [If then else] 块添加到您的 ArmUpDown 项目中,使您的项目如下所示:
-
将项目另存为 ArmUpDown2。 如果学生需要帮助保存项目,请参阅命名和保存教程。
-
将项目下载到Clawbot上的 Slot 4 ,然后运行它。
-
如需下载和运行项目的帮助,请参阅 VEXcode IQ 中的教程,其中解释了 下载和运行项目。
-
测试一下,当按下 Brain Up 按钮时,手臂是否会向上旋转;当按下 Brain Down 按钮时,手臂是否会向下旋转。
-
验证当 Brain Up 和 Down 按钮未被按下(释放)时,手臂电机会停止。
-
在工程笔记本中写下您对 Clawbot 在将 if then else 块添加到项目之前和之后的行为的观察结果。
教师工具箱 - 停下来讨论
在学生测试了添加 [If then else] 块之前和之后的项目后,与学生讨论这如何允许手臂继续旋转,直到释放 Brain Up 按钮。 让学生分享他们在工程笔记本中的观察结果。 通过提出以下问题来促进讨论:
-
您是否发现 Clawbot 在使用 [If then else] 块与仅使用 [If then] 块之间的行为有所不同?
-
为什么您认为程序效率很重要?
-
Brain Up 按钮条件在项目中只检查一次吗?
学生的工程笔记本可以单独维护和评分 (Google / .docx / .pdf) 或作为团队 (Google / .docx / .pdf)。 前面的链接为每种方法提供了不同的标题。 每当教育计划中包含某个细则时,最好在活动开始之前解释该细则或至少向学生提供副本。
教师工具箱
与使用 [If then] 块相比,学生可能看不出使用 [If then else] 块和 Clawbot 的行为有多大差异。 如果学生在物理上看不到太大的差异,请促进有关编程效率以及简化项目如何导致使用更少块的讨论。 在项目中使用较少的块可以减少潜在错误的数量。
第 4 步: 对爪子进行编程。
在上一步中,通过使用 [If then else] 块对项目进行了优化,以更高效地运行。 在前面的示例中,使用 Brain Up 和 Down 按钮操纵手臂。
使用完全相同的项目轮廓,也可以操纵爪子。
-
查看 ArmUpDown2 项目,并使用下拉菜单将 [Spin] 块更改为 ClawMotor 而不是 ArmMotor。
通过使用下拉菜单,确保“Brain Up”按钮使爪子旋转“打开”,“Brain Down”按钮使爪子旋转“关闭”。
-
将项目另存为 ClawUpDown。 如果学生需要帮助保存项目,请参阅命名和保存教程。
-
将项目下载到 Clawbot 上的 Slot 1 ,然后运行它。
-
如需下载和运行项目的帮助,请参阅 VEXcode IQ 中的教程,其中解释了 下载和运行项目。
-
测试一下,当按下“大脑向上”按钮时,爪子现在是否会旋转打开,而当按下“大脑向下”按钮时,爪子是否会旋转关闭。
-
验证当 Brain Up 和 Down 按钮未被按下(释放)时,爪电机会停止。
-
在工程笔记本中写下您对 Clawbot 在将 if then else 块添加到项目之前和之后的行为的观察结果。
教师工具箱
现在学生已经掌握了使用按钮操纵手臂和爪子的技能,请学生集思广益,讨论如何在同一项目中执行所有四个动作(手臂向上、手臂向下、爪子张开和爪子闭合)。
学生将在重新思考部分使用另一个 [if then else] 块来允许他们的机器人执行所有四个动作。
扩展您的学习 - 组电机止动块
如果学生对机器人进行编程以升高和降低手臂,则爪的重量可能会导致手臂向下漂移。
在这种情况下,可以使用[设置电机停止] 块,以使手臂不会因重力和爪的重量而掉落。 该块可以在项目开始时使用,并将应用于项目其余部分的所有未来电机块。
设置电机停止块有三种设置:
-
制动器 导致电机立即停止。
-
Coast 让电机逐渐旋转直至停止。
-
保持 使电机立即停止,如果移动则将其返回到停止位置。