Skip to main content

教师工具箱图标 教师工具箱 - 本活动的目的

在上一页中,学生正在使用 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(传动系统)模板

教师工具箱图标 教师工具箱

有关本部分教学策略的建议,请查看待办事项或不待办事项节奏指南的交付栏 (Google / .docx / .pdf)。

爪机器人手臂已准备好上下移动!

此活动将为您提供使用条件行为对机器人进行编程的工具。
[If then else] 块是活动中的主要焦点,但也使用其他传感、控制和操作员块。

您可以使用 VEXcode IQ 内部的帮助信息来了解这些块。 有关使用帮助  功能的指导,请参阅使用帮助教程。

教师提示图标 老师提示

如果这是学生第一次使用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 教程

使用 [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 让电机逐渐旋转直至停止。

  • 保持 使电机立即停止,如果移动则将其返回到停止位置。