Bộ điều khiển#

Giới thiệu#

Bộ điều khiển V5 có các nút bấm, hai cần điều khiển, một mô tơ rung và một màn hình. Các khối lệnh điều khiển có thể được sử dụng để kiểm tra các lần nhấn nút, đọc chuyển động của cần điều khiển, rung bộ điều khiển, bật hoặc tắt các hành động đã được cấu hình của bộ điều khiển, chạy các khối lệnh khi các sự kiện của bộ điều khiển xảy ra hoặc hiển thị văn bản trên màn hình bộ điều khiển.

Các hành động Bộ điều khiển đã cấu hình là các hành vi của bộ điều khiển được thiết lập trong menu Thiết bị. Sử dụng khối Bật/Tắt Bộ điều khiển để tạm thời bật hoặc tắt các hành động đã cấu hình đó trong suốt dự án.

Dưới đây là danh sách các khối có sẵn:

Giá trị — Kiểm tra trạng thái nút trên bộ điều khiển hoặc đọc vị trí cần điều khiển.

Các thao tác — Rung bộ điều khiển, bật/tắt các thao tác đã cấu hình trên bộ điều khiển hoặc chạy các khối lệnh khi đầu vào từ bộ điều khiển thay đổi.

Màn hình — Hiển thị văn bản và số trên màn hình Bộ điều khiển.

Giá trị#

Nút điều khiển bị nhấn?#

Khối Boolean Controller pressed? trả về trạng thái cho biết nút Controller đã chọn có đang được nhấn hay không.

Mặt trước và mặt sau của Bộ điều khiển V5 với các nút được tô sáng màu vàng. Trên bề mặt của bộ điều khiển có các nút mũi tên lên, xuống, trái và phải ở bên trái, và các nút X, A, B, Y theo chiều kim đồng hồ từ vị trí 12 giờ ở bên phải. Ở mặt sau của bộ điều khiển có các nút L1, L2, R1 và R2 lần lượt ở bên trái và bên phải.

Nút điều khiển được nhấn? Khối Boolean#
<[Controller1 v] nút [▲ v] được nhấn?>

Tham số

Sự miêu tả

thiết bị

Bộ điều khiển cần sử dụng, được cấu hình trong cửa sổ Thiết bị.

cái nút

Nút cần kiểm tra:

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

Ví dụ

Khi khởi động, xe sẽ tiến về phía trước trong khi nhấn giữ nút X.#
khi bắt đầu
[Drive forward while X is pressed.]
mãi mãi
nếu <[Controller1 v] nút [X v] được nhấn?> thì
lái [tiến v]
nếu không
dừng lái
fin
fin

Vị trí điều khiển#

Khối báo cáo Vị trí bộ điều khiển trả về vị trí cần điều khiển dọc theo trục đã chọn dưới dạng một số từ -100 đến 100.

Bộ điều khiển VEX V5 với các trục xung quanh cần điều khiển được dán nhãn. Trục 1 và 2 nằm xung quanh cần điều khiển bên phải, và Trục 3 và 4 nằm xung quanh cần điều khiển bên trái.

Khối báo cáo vị trí bộ điều khiển#
([Controller1 v] [1 v] position :: sensing)

Tham số

Sự miêu tả

thiết bị

Bộ điều khiển cần sử dụng, được cấu hình trong cửa sổ Thiết bị.

trục

Trục cần báo cáo của cần điều khiển:

  • 1 — trục ngang cần điều khiển bên phải
  • 2 — trục dọc cần điều khiển bên phải
  • 3 — trục dọc cần điều khiển bên trái
  • 4 — trục ngang cần điều khiển bên trái

Ví dụ

Khi khởi động, xe sẽ tiến về phía trước trong khi cần điều khiển bên trái được đẩy lên.#
khi bắt đầu
[Drive forward while the left joystick is pushed up.]
mãi mãi
nếu <([Controller1 v] [3 v] position :: sensing) [math_greater_than v] [0]> thì
lái [tiến v]
nếu không
dừng lái
fin
fin

Hành động#

Chơi chế độ rung bằng tay cầm#

Khối lệnh phát rung trên tay cầm sẽ phát ra âm thanh rung trên tay cầm.

chơi chế độ rung trên khối xếp chồng điều khiển#
phát rung [Dài v] trên [Controller1 v]

Tham số

Sự miêu tả

mẫu

Mẫu rung để phát trên tay cầm điều khiển:

  • Rung dài — một rung dài
  • Rung ngắn — một rung ngắn
  • Rung nhanh — một chuỗi rung bật và tắt

thiết bị

Bộ điều khiển cần sử dụng, được cấu hình trong cửa sổ Thiết bị.

Ví dụ

Khi nhấn nút R1, tay cầm sẽ phát ra một tiếng rung ngắn.#
khi[Controller1 v] nút [R1 v] [nhấn v] :: hat events
phát rung [Ngắn v] trên [Controller1 v]

Bật/tắt bộ điều khiển#

Khối lệnh Bật/Tắt Bộ điều khiển cho phép bật hoặc tắt các hành động được cấu hình của Bộ điều khiển từ menu Thiết bị đối với tất cả các bộ điều khiển được kết nối.

Khối ngăn xếp bật/tắt bộ điều khiển#
Tay cầm [Tắt v]

Tham số

Sự miêu tả

tình trạng

Trạng thái hành động được cấu hình của Bộ điều khiển: Vô hiệu hóa hoặc Kích hoạt.

Ví dụ

Khi khởi động, chương trình sẽ vô hiệu hóa các hành động đã được cấu hình của Bộ điều khiển trong khi robot di chuyển về phía trước.#
khi bắt đầu
[Disable Controller configured actions until the drive movement is done.]
Tay cầm [Tắt v]
lái [tiến v] trong (6) [inch v] ▶
Tay cầm [Bật v]

khi nhấn nút điều khiển#

Khối lệnh khi nút điều khiển được nhấn sẽ chạy ngăn xếp được đính kèm khi một nút điều khiển được chọn được nhấn hoặc nhả ra.

Mặt trước và mặt sau của Bộ điều khiển V5 với các nút được tô sáng màu vàng. Trên bề mặt của bộ điều khiển có các nút mũi tên lên, xuống, trái và phải ở bên trái, và các nút X, A, B, Y theo chiều kim đồng hồ từ vị trí 12 giờ ở bên phải. Ở mặt sau của bộ điều khiển có các nút L1, L2, R1 và R2 lần lượt ở bên trái và bên phải.

khi nhấn nút Điều khiển Khối mũ#
khi[Controller1 v] nút [▲ v] [nhấn v] :: hat events

Tham số

Sự miêu tả

thiết bị

Bộ điều khiển cần sử dụng, được cấu hình trong cửa sổ Thiết bị.

cái nút

Nút cần kiểm tra:

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

trạng thái nút

Sự kiện nhấn nút kích hoạt ngăn xếp đính kèm: nhấn hoặc nhả.

Ví dụ

Khi nhấn nút R1, xe sẽ tiến về phía trước 200 mm.#
khi[Controller1 v] nút [R1 v] [nhấn v] :: hat events
[Drive forward when R1 is pressed.]
lái [tiến v] trong (200) [mm v] ▶

khi trục điều khiển được thay đổi#

Khối lệnh khi trục điều khiển được thay đổi sẽ chạy ngăn xếp được đính kèm khi vị trí của cần điều khiển thay đổi dọc theo trục đã chọn.

Bộ điều khiển VEX V5 với các trục xung quanh cần điều khiển được dán nhãn. Trục 1 và 2 nằm xung quanh cần điều khiển bên phải, và Trục 3 và 4 nằm xung quanh cần điều khiển bên trái.

khi trục điều khiển được thay đổi, khối Hat#
when [Controller1 v] axis [1 v] is changed :: hat events

Tham số

Sự miêu tả

thiết bị

Bộ điều khiển cần sử dụng, được cấu hình trong cửa sổ Thiết bị.

trục

Trục cần kiểm tra của cần điều khiển:

  • 1 — trục ngang cần điều khiển bên phải
  • 2 — trục dọc cần điều khiển bên phải
  • 3 — trục dọc cần điều khiển bên trái
  • 4 — trục ngang cần điều khiển bên trái

Ví dụ

Khi vị trí của cần điều khiển thay đổi dọc theo trục điều khiển 3, xe sẽ di chuyển về phía trước 200 mm.#
when [Controller1 v] axis [3 v] is changed :: hat events
[Drive forward when the joystick's position changes along axis 3.]
lái [tiến v] trong (200) [mm v] ▶

Màn hình#

Đặt con trỏ đến hàng cột trên bộ điều khiển#

Khối lệnh Đặt con trỏ đến hàng và cột trên bộ điều khiển di chuyển con trỏ đến hàng và cột được chỉ định trên màn hình Bộ điều khiển. Giá trị được in tiếp theo sẽ xuất hiện tại vị trí đó.

đặt con trỏ đến hàng cột trên khối ngăn xếp điều khiển#
đặt con trỏ đến hàng [1] cột [1] trên [Controller1 v] :: custom-controller-inertial-timer

Tham số

Sự miêu tả

hàng ngang

Hàng cần di chuyển con trỏ đến trên màn hình Bộ điều khiển.

cột

Cột cần di chuyển con trỏ đến trên màn hình Bộ điều khiển.

thiết bị

Bộ điều khiển cần sử dụng, được cấu hình trong cửa sổ Thiết bị.

Ví dụ

Khi khởi chạy, chương trình sẽ in văn bản ở hàng 2, cột 1 trên màn hình Bộ điều khiển.#
khi bắt đầu
[Display a message on row 2.]
đặt con trỏ đến hàng [2] cột [1] trên [Controller1 v] :: custom-controller-inertial-timer
in [Ready] trên [Controller1 v] ▶ :: custom-controller-inertial-timer

Đặt con trỏ đến hàng tiếp theo trên bộ điều khiển#

Khối lệnh đặt con trỏ đến hàng tiếp theo trên bộ điều khiển di chuyển con trỏ đến cột 1 trên hàng tiếp theo của màn hình Bộ điều khiển. Giá trị được in tiếp theo sẽ xuất hiện trên hàng đó.

đặt con trỏ đến hàng tiếp theo trên khối ngăn xếp điều khiển#
đặt con trỏ xuống hàng tiếp theo trên [Controller1 v] :: custom-controller-inertial-timer

Tham số

Sự miêu tả

thiết bị

Bộ điều khiển cần sử dụng, được cấu hình trong cửa sổ Thiết bị.

Ví dụ

Khi khởi chạy, chương trình sẽ in hai dòng trên màn hình Bộ điều khiển.#
khi bắt đầu
[Display two rows of text.]
in [Row 1] trên [Controller1 v] ▶ :: custom-controller-inertial-timer
đặt con trỏ xuống hàng tiếp theo trên [Controller1 v] :: custom-controller-inertial-timer
in [Row 2] trên [Controller1 v] ▶ :: custom-controller-inertial-timer

thiết lập độ chính xác in trên bộ điều khiển#

Khối lệnh set print precision on controller thiết lập số lượng chữ số thập phân được hiển thị khi in số trên màn hình Bộ điều khiển. Cài đặt này áp dụng cho các số được in sau khi khối lệnh này được sử dụng.

đặt độ chính xác in trên khối ngăn xếp bộ điều khiển#
đặt độ chính xác in thành [0.1 v] trên [Controller1 v] :: custom-controller-inertial-timer

Tham số

Sự miêu tả

độ chính xác

Độ chính xác khi in:

  • 1 — không có chữ số thập phân
  • 0.1 — 1 chữ số thập phân
  • 0.01 — 2 chữ số thập phân
  • 0.001 — 3 chữ số thập phân
  • Tất cả các chữ số — tất cả các chữ số thập phân có sẵn

thiết bị

Bộ điều khiển cần sử dụng, được cấu hình trong cửa sổ Thiết bị.

Ví dụ

Khi khởi động, màn hình điều khiển sẽ hiển thị 1/3 với hai chữ số thập phân.#
khi bắt đầu
[Display 1/3 with two decimals.]
đặt độ chính xác in thành [0.01 v] trên [Controller1 v] :: custom-controller-inertial-timer
in ([1] [math_division v] [3]) trên [Controller1 v] ▶ :: custom-controller-inertial-timer

bộ điều khiển rõ ràng#

Khối lệnh clear controller sẽ xóa tất cả các hàng trên màn hình Controller và di chuyển con trỏ trở lại hàng đầu tiên.

xóa khối ngăn xếp bộ điều khiển#
xóa [Controller1 v] :: custom-controller-inertial-timer

Tham số

Sự miêu tả

thiết bị

Bộ điều khiển cần sử dụng, được cấu hình trong cửa sổ Thiết bị.

Ví dụ

Khi khởi động, chương trình sẽ in văn bản, chờ một lúc, sau đó xóa màn hình Bộ điều khiển.#
khi bắt đầu
[Clear the Controller screen after printing.]
in [This will disappear...] trên [Controller1 v] ▶ :: custom-controller-inertial-timer
chờ [2] giây
xóa [Controller1 v] :: custom-controller-inertial-timer

xóa hàng trên bộ điều khiển#

Khối lệnh xóa hàng trên bộ điều khiển sẽ xóa một hàng duy nhất trên màn hình Bộ điều khiển.

xóa hàng trên khối ngăn xếp bộ điều khiển#
xóa hàng [1] trên [Controller1 v] :: custom-controller-inertial-timer

Tham số

Sự miêu tả

hàng ngang

Hàng cần xóa trên màn hình Bộ điều khiển.

thiết bị

Bộ điều khiển cần sử dụng, được cấu hình trong cửa sổ Thiết bị.

Ví dụ

Khi khởi chạy, hàng 1 trên màn hình Bộ điều khiển sẽ bị xóa.#
khi bắt đầu
[Clear one row on the Controller screen.]
in [Row 1] trên [Controller1 v] ▶ :: custom-controller-inertial-timer
đặt con trỏ xuống hàng tiếp theo trên [Controller1 v] :: custom-controller-inertial-timer
in [Row 2] trên [Controller1 v] ▶ :: custom-controller-inertial-timer
chờ [2] giây
xóa hàng [1] trên [Controller1 v] :: custom-controller-inertial-timer