教師工具箱 - 本活動的目的
使用條件程式設計可以透過在專案中使用 [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] 塊,項目將移動到 [停止馬達] 塊,然後返回到堆疊頂部重新開始,並且手臂永遠不會旋轉。
激發討論
Q: 當不使用等待區塊時,按下 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 在將 [等到] 塊添加到項目之前和之後的行為的觀察結果。
教師工具箱 - 停下來討論