Điều khiển#
Giới thiệu#
Các khối điều khiển trong VEXcode AIR quản lý luồng hoạt động của dự án bằng cách xử lý các vòng lặp, điều kiện và trì hoãn việc thực thi các khối.
Vòng lặp là khi máy tính lặp đi lặp lại cùng một bước hoặc một nhóm các bước cho đến khi nhận được lệnh dừng. Điều kiện là một quy tắc mà máy tính kiểm tra để quyết định hành động tiếp theo. Ví dụ, máy bay không người lái có thể bay về phía trước khi nhấn một nút trên bộ điều khiển.
Dưới đây là danh sách các khối có sẵn:
chờ — Tạm dừng việc chạy các khối trong một khoảng thời gian cụ thể.
chờ cho đến khi — Tạm dừng việc chạy các khối cho đến khi một điều kiện được chỉ định được đáp ứng.
lặp lại — Lặp lại một tập hợp các khối một số lần cụ thể.
mãi mãi — Lặp lại một tập hợp các khối vô thời hạn.
lặp lại cho đến khi — Lặp lại một tập hợp các khối cho đến khi một điều kiện được đáp ứng.
while — Lặp lại một tập hợp các khối lệnh trong khi một điều kiện vẫn đúng.
if — Chạy một tập hợp các khối nếu một điều kiện đúng.
if / else — Chạy một nhóm khối nếu điều kiện đúng, ngược lại chạy nhóm khác.
if / else if / else — Chạy các bộ khối khác nhau tùy thuộc vào nhiều điều kiện.
break — Thoát khỏi vòng lặp ngay lập tức.
dừng dự án — Kết thúc dự án.
Chờ đợi#
Khối lệnh wait tạm dừng việc thực thi các khối lệnh khác trong một khoảng thời gian nhất định trước khi chuyển sang khối lệnh tiếp theo.
chờ (1) giây
Thông số |
Sự miêu tả |
|---|---|
thời gian |
Khoảng thời gian chờ đợi, được thể hiện dưới dạng số nguyên dương hoặc số thập phân tính bằng giây. |
Ví dụ
khi bắt đầu
[Fly for 1 second.]
cất cánh đến (500) [mm v] ▶
chờ [1] giây
hạ cánh ▶
đợi đến khi#
Khối lệnh chờ cho đến khi tạm dừng việc thực thi các khối lệnh khác cho đến khi một điều kiện cụ thể được đáp ứng trước khi chuyển sang khối lệnh tiếp theo.
chờ cho đến khi <>
Thông số |
Sự miêu tả |
|---|---|
tình trạng |
Điều kiện phải được đáp ứng trước khi chuyển sang khối tiếp theo. Nếu nó được đánh giá như sau:
|
Ví dụ
khi bắt đầu
[Hover at 200 mm.]
cất cánh đến [500] [mm v] ▶
leo lên [xuống v]
chờ cho đến khi <(distance [downward v] range in [mm v]) [math_less_than v] [200]>
lơ lửng
chờ (3) giây
hạ cánh ▶
lặp lại#
Khối C repeat sẽ chạy các khối bên trong nó một số lần nhất định.
lặp lại [10]
fin
Thông số |
Sự miêu tả |
|---|---|
lần |
Một số nguyên xác định số lần khối lặp lại được thực thi. |
Ví dụ
khi bắt đầu
[Move back and forth four times then land.]
cất cánh đến [500] [mm v] ▶
lặp lại (4)
di chuyển [tiến v] trong (500) [mm v] ▶
chờ (1) giây
di chuyển [backward v] trong (500) [mm v] ▶
chờ (1) giây
fin
hạ cánh ▶
mãi mãi#
Khối C vĩnh cửu tiếp tục chạy các khối bên trong nó hết lần này đến lần khác mà không dừng lại.
mãi mãi
fin
Thông số |
Sự miêu tả |
|---|---|
Khối này không có tham số. |
Ví dụ
khi bắt đầu
[Move with controller.]
cất cánh đến [500] [mm v] ▶
mãi mãi
di chuyển bằng tay cầm
fin
lặp lại cho đến khi#
Khối C repeat until sẽ chạy các khối bên trong nó lặp đi lặp lại cho đến khi điều kiện được chỉ định không được đáp ứng.
lặp lại cho đến khi <>
fin
Thông số |
Sự miêu tả |
|---|---|
tình trạng |
Một biểu thức hoặc biến được kiểm tra trước mỗi vòng lặp. Nếu nó là Sai, các khối lệnh sẽ tiếp tục lặp lại. Nếu nó là Đúng, vòng lặp sẽ dừng lại. |
Ví dụ
khi bắt đầu
[Move with controller until button 7 is pressed.]
cất cánh đến [500] [mm v] ▶
lặp lại cho đến khi <nút [7 v] tay cầm được nhấn?>
di chuyển bằng tay cầm
fin
hạ cánh ▶
trong khi#
Khối while C sẽ chạy các khối bên trong lặp đi lặp lại cho đến khi điều kiện được chỉ định được đáp ứng.
trong khi <>
fin
Thông số |
Sự miêu tả |
|---|---|
tình trạng |
Một biểu thức hoặc biến được kiểm tra trước mỗi vòng lặp. Nếu nó là True, các khối lệnh sẽ tiếp tục lặp lại. Nếu nó là False, vòng lặp sẽ dừng lại. |
Ví dụ
khi bắt đầu
[Hover at 200 mm.]
cất cánh đến [500] [mm v] ▶
trong khi <(distance [downward v] range in [mm v]) [math_greater_than v] [200]>
leo lên [xuống v]
fin
lơ lửng
chờ (3) giây
hạ cánh ▶
nếu như#
Khối C if sẽ chạy các khối bên trong nếu điều kiện Đúng.
nếu <> thì
fin
Thông số |
Sự miêu tả |
|---|---|
tình trạng |
Một biểu thức hoặc biến được kiểm tra khi câu lệnh được thực thi. Nếu nó là True, các khối lệnh bên trong khối if sẽ được thực thi. Nếu nó là False, các khối lệnh sẽ bị bỏ qua. |
Ví dụ
khi bắt đầu
[Take a picture when button 5 is pressed.]
cất cánh đến [500] [mm v] ▶
mãi mãi
di chuyển bằng tay cầm
nếu <nút [5 v] tay cầm được nhấn?> thì
chụp ảnh trên camera [tiến v]
fin
fin
nếu / ngược lại#
Khối C if / else xác định tập hợp các khối nào sẽ được thực thi dựa trên việc điều kiện là Đúng hay Sai.
nếu <> thì
nếu không
fin
Thông số |
Sự miêu tả |
|---|---|
tình trạng |
Một biểu thức hoặc biến được kiểm tra khi câu lệnh được thực thi. Nếu nó là True, các khối lệnh bên trong khối if sẽ được thực thi. Nếu nó là False, nó sẽ thực thi các khối lệnh bên trong khối else. |
Ví dụ
khi bắt đầu
[Climb when the left joystick is moved up.]
cất cánh đến [500] [mm v] ▶
mãi mãi
nếu <(vị trí trục [1 v] tay cầm) [math_greater_than v] [0]> thì
leo lên [lên v]
nếu không
lơ lửng
fin
nếu / ngược lại nếu / ngược lại#
Khối C mở rộng if / else if / else chọn tập hợp các khối nào sẽ được chạy dựa trên các điều kiện:
Khối mã if sẽ được thực thi nếu điều kiện được đánh giá là Đúng.
Câu lệnh else if chỉ kiểm tra các điều kiện bổ sung nếu tất cả các điều kiện trước đó đều được đánh giá là Sai. Có thể sử dụng nhiều câu lệnh else if.
Khối mã else chỉ được thực thi nếu không có điều kiện nào trong các điều kiện trước đó được đánh giá là Đúng.
nếu <> thì
nếu không nếu <> thì
nếu không
fin
Thông số |
Sự miêu tả |
|---|---|
tình trạng |
Một biểu thức hoặc biến được kiểm tra khi câu lệnh được thực thi. Điều kiện đầu tiên được đánh giá là Đúng sẽ kích hoạt tập hợp các khối lệnh đó. Nếu tất cả các điều kiện đều được đánh giá là Sai, các khối lệnh bên trong khối else sẽ được thực thi. |
Ví dụ
khi bắt đầu
[Move the drone up or down based on the position of the joystick.]
cất cánh đến [500] [mm v] ▶
mãi mãi
nếu <(vị trí trục [1 v] tay cầm) [math_greater_than v] [0]> thì
di chuyển [tiến v]
nếu không nếu <(vị trí trục [1 v] tay cầm) [math_less_than v] [0]> thì
di chuyển [lùi v]
nếu không
lơ lửng
fin
fin
phá vỡ#
Khối break thoát khỏi vòng lặp ngay lập tức. Khối này có thể được sử dụng bên trong các khối repeat, repeat until, while và forever. Break hữu ích khi một vòng lặp cần dừng sớm dựa trên một sự kiện nào đó xảy ra trong quá trình thực hiện dự án, chẳng hạn như nhấn nút hoặc cảm biến phát hiện vật thể.
thoát vòng lặp
Thông số |
Sự miêu tả |
|---|---|
Khối này không có tham số. |
Ví dụ
khi bắt đầu
[Land when button 5 is pressed.]
cất cánh đến [500] [mm v] ▶
mãi mãi
di chuyển bằng tay cầm
nếu <nút [5 v] tay cầm được nhấn?> thì
thoát vòng lặp
fin
fin
hạ cánh ▶
dừng dự án#
Khối lệnh dừng dự án sẽ kết thúc một dự án đang chạy.
dừng dự án :: control cap
Thông số |
Sự miêu tả |
|---|---|
Khối này không có tham số. |
Ví dụ
khi bắt đầu
[Stop motors after landing.]
cất cánh đến [500] [mm v] ▶
chờ [1] giây
hạ cánh ▶
dừng dự án