控制器#

介紹#

V5 控制器包含按鈕、兩個搖桿、一個震動馬達和一個螢幕。控制器模組可用於偵測按鈕按下、讀取搖桿移動、使控制器震動、啟用或停用已配置的控制器操作、在控制器事件發生時運行模組,或在控制器螢幕上顯示文字。

已配置的控制器操作是指在「設備」選單中設定的控制器行為。使用控制器啟用/停用模組可以在專案進行期間暫時啟用或停用這些已配置的操作。

以下是可用模組列表:

數值 — 檢查控制器按鈕狀態或讀取搖桿位置。

操作-震動控制器、啟用/停用已設定的控制器操作,或在控制器輸入發生變化時執行程式碼區塊。

螢幕-在控制器螢幕上顯示文字和數字。

價值觀#

控制器被按下?#

控制器是否被按下?布林塊返回所選控制器按鈕是否被按下。

V5 控制器的正面和背面,按鈕以黃色高亮顯示。控制器正面左側有上、下、左、右方向鍵,右側從 12 點鐘方向順時針方向依序為 X、A、B、Y 鍵。控制器背面左側和右側分別是 L1、L2、R1 和 R2 鍵。

控制器被按下?布爾塊#
<[Controller1 v] [▲ v] 按下?>

範圍

描述

裝置

若要使用的控制器,在「設備」視窗中進行設定。

按鈕

要检查的按钮:

  • ▲
  • ▼
  • ◀
  • ▶
  • X
  • B
  • Y
  • A
  • L1
  • L2
  • R1
  • R2

例子

啟動時,按住 X 按鈕即可向前行駛。#
當開始時
[Drive forward while X is pressed.]
永遠
如果 <[Controller1 v] [X v] 按下?> 則
行駛 [前方 v]
否則
停止行駛
結束
結束

控制器位置#

控制器位置報告器模組傳回沿著選定軸的操縱桿位置,數值範圍為-100到100。

一個 VEX V5 控制器,搖臂周圍的軸已標註。軸 1 和軸 2 位於右側搖桿周圍,軸 3 和軸 4 位於左側搖桿周圍。

控制器位置報告區塊#
([Controller1 v] [1 v] position :: sensing)

範圍

描述

裝置

若要使用的控制器,在「設備」視窗中進行設定。

軸

要報告的操縱桿軸:

  • 1 — 右操縱桿水平軸
  • 2 — 右操縱桿垂直軸
  • 3 — 左操縱桿垂直軸
  • 4 — 左操縱桿水平軸

例子

啟動時,向上推左側操縱桿即可向前行駛。#
當開始時
[Drive forward while the left joystick is pushed up.]
永遠
如果 <([Controller1 v] [3 v] position :: sensing) [math_greater_than v] [0]> 則
行駛 [前方 v]
否則
停止行駛
結束
結束

行動#

在控制器上玩震動模式#

在控制器上播放震動效果 堆疊塊會在控制器上播放震動模式。

在控制器堆疊塊上玩震動#
在 [Controller1 v] 上播放震動 [長 v]

範圍

描述

圖案

控制器震動模式:

  • 長震動 — 一次長震動
  • 短震動 — 一次短震動
  • 脈衝震動 — 間歇性震動

裝置

若要使用的控制器,在「設備」視窗中進行設定。

例子

按下 R1 按鈕時,控制器會發出短暫的震動。#
當[Controller1 v] 按鈕 [R1 v] [按下 v] 時 :: hat events
在 [Controller1 v] 上播放震動 [短 v]

控制器啟用/停用#

控制器啟用/停用堆疊區塊啟用或停用從「裝置」功能表對所有已連接控制器配置的操作。

控制器啟用/停用堆疊區塊#
控制器 [停用 v]

範圍

描述

狀態

控制器配置的操作狀態:停用或啟用。

例子

啟動後,在機器人向前行駛時會停用已設定的控制器操作。#
當開始時
[Disable Controller configured actions until the drive movement is done.]
控制器 [停用 v]
行駛 [前方 v] (6) [英吋 v] ▶
控制器 [啟用 v]

按下控制器按鈕#

當按下控制器按鈕時,當控制器按鈕被按下時 Hat 模組會執行附加的堆疊。

V5 控制器的正面和背面,按鈕以黃色高亮顯示。控制器正面左側有上、下、左、右方向鍵,右側從 12 點鐘方向順時針方向依序為 X、A、B、Y 鍵。控制器背面左側和右側分別是 L1、L2、R1 和 R2 鍵。

當按下控制器按鈕時,帽子方塊#
當[Controller1 v] 按鈕 [▲ v] [按下 v] 時 :: hat events

範圍

描述

裝置

若要使用的控制器,在「設備」視窗中進行設定。

按鈕

要检查的按钮:

  • ▲
  • ▼
  • ◀
  • ▶
  • X
  • B
  • Y
  • A
  • L1
  • L2
  • R1
  • R2

按鈕狀態

觸發附加堆疊的按鈕事件:按下或釋放。

例子

按下 R1 按鈕時,向前行駛 200 毫米。#
當[Controller1 v] 按鈕 [R1 v] [按下 v] 時 :: hat events
[Drive forward when R1 is pressed.]
行駛 [前方 v] (200) [mm v] ▶

當控制器軸發生變化時#

當控制器軸發生變化時,當控制器軸發生變化時 Hat 模組會運行附加的堆疊,此時操縱桿的位置會沿著選定的軸變化。

一個 VEX V5 控制器,搖臂周圍的軸已標註。軸 1 和軸 2 位於右側搖桿周圍,軸 3 和軸 4 位於左側搖桿周圍。

當控制器軸改變時,帽子塊#
when [Controller1 v] axis [1 v] is changed :: hat events

範圍

描述

裝置

若要使用的控制器,在「設備」視窗中進行設定。

軸

需要檢查的搖桿軸:

  • 1 — 右搖桿水平軸
  • 2 — 右搖桿垂直軸
  • 3 — 左搖桿垂直軸
  • 4 — 左搖桿水平軸

例子

當操縱桿沿著控制器軸 3 的位置變化時,向前行駛 200 毫米。#
when [Controller1 v] axis [3 v] is changed :: hat events
[Drive forward when the joystick's position changes along axis 3.]
行駛 [前方 v] (200) [mm v] ▶

螢幕#

將遊標設定到控制器上的行列#

「將遊標設定到控制器螢幕上的行列」堆疊區塊會將遊標移到控制器螢幕上的指定行和列。下一個列印值將顯示在該位置。

將遊標設定到控制器堆疊區塊的行列。#
將游標設定到 [Controller1 v] 第 [1] 列第 [1] 欄 :: custom-controller-inertial-timer

範圍

描述

排

在控制器螢幕上,遊標要移動到的行。

柱子

在控制器螢幕上,遊標要移動到的列。

裝置

若要使用的控制器,在「設備」視窗中進行設定。

例子

啟動時,在控制器畫面的第 2 行第 1 列列印文字。#
當開始時
[Display a message on row 2.]
將游標設定到 [Controller1 v] 第 [2] 列第 [1] 欄 :: custom-controller-inertial-timer
在 [Controller1 v] 上列印 [Ready] ▶ :: custom-controller-inertial-timer

將遊標設定到控制器上的下一行#

「將遊標設定到控制器螢幕的下一行」堆疊區塊會將遊標移到控制器螢幕下一行的第 1 列。下一個列印值將顯示在該行。

將遊標設定到控制器堆疊區塊的下一行#
將游標移至 [Controller1 v] 下一列 :: custom-controller-inertial-timer

範圍

描述

裝置

若要使用的控制器,在「設備」視窗中進行設定。

例子

啟動時,在控制器螢幕上列印兩行。#
當開始時
[Display two rows of text.]
在 [Controller1 v] 上列印 [Row 1] ▶ :: custom-controller-inertial-timer
將游標移至 [Controller1 v] 下一列 :: custom-controller-inertial-timer
在 [Controller1 v] 上列印 [Row 2] ▶ :: custom-controller-inertial-timer

在控制器上設定列印精度#

設定控制器列印精確度堆疊區塊用於設定控制器螢幕上列印數字時顯示的小數位數。此設定適用於使用此堆疊區塊之後列印的數字。

設定控制器堆疊塊的列印精度#
在 [Controller1 v] 上設定列印精度為 [0.1 v] :: custom-controller-inertial-timer

範圍

描述

精確

打印精度:

  • 1 — 无小数位
  • 0.1 — 1 位小数
  • 0.01 — 2 位小数
  • 0.001 — 3 位小数
  • 所有数字 — 所有可用小数位

裝置

若要使用的控制器,在「設備」視窗中進行設定。

例子

啟動時,控制器螢幕上顯示 1/3,保留兩位小數。#
當開始時
[Display 1/3 with two decimals.]
在 [Controller1 v] 上設定列印精度為 [0.01 v] :: custom-controller-inertial-timer
在 [Controller1 v] 上列印 ([1] [math_division v] [3]) ▶ :: custom-controller-inertial-timer

清晰控制器#

清除控制器堆疊區塊清除控制器螢幕上的所有行,並將遊標移回第一行。

清除控制器堆疊塊#
清除 [Controller1 v] :: custom-controller-inertial-timer

範圍

描述

裝置

若要使用的控制器,在「設備」視窗中進行設定。

例子

啟動時,列印文本,等待片刻,然後清除控制器螢幕。#
當開始時
[Clear the Controller screen after printing.]
在 [Controller1 v] 上列印 [This will disappear...] ▶ :: custom-controller-inertial-timer
等待 [2] 秒
清除 [Controller1 v] :: custom-controller-inertial-timer

清除控制器上的行#

清除控制器上的行堆疊區塊清除控制器螢幕上的一行。

清除控制器堆疊區塊上的行#
清除 [Controller1 v] 第 [1] 列 :: custom-controller-inertial-timer

範圍

描述

排

控制器螢幕上要清除的行。

裝置

若要使用的控制器,在「設備」視窗中進行設定。

例子

啟動時,清除控制器螢幕上的第 1 行。#
當開始時
[Clear one row on the Controller screen.]
在 [Controller1 v] 上列印 [Row 1] ▶ :: custom-controller-inertial-timer
將游標移至 [Controller1 v] 下一列 :: custom-controller-inertial-timer
在 [Controller1 v] 上列印 [Row 2] ▶ :: custom-controller-inertial-timer
等待 [2] 秒
清除 [Controller1 v] 第 [1] 列 :: custom-controller-inertial-timer