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 else] 塊替換 [If then] 區塊,以便在任何時候只有一個實例為 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 讓馬達逐漸轉動至停止。

  • 保持 使馬達立即停止,如果移動則將其返回到停止位置。