Điều khiển#

Giới thiệu#

Lập trình điều khiển bằng Python cho phép bạn ra lệnh cho robot khi nào cần chờ, khi nào cần lặp lại hành động, cách đưa ra quyết định và khi nào cần kết thúc dự án.

Dưới đây là danh sách các điều khiển có sẵn, bao gồm các phương thức và từ khóa cốt lõi của Python:

  • wait – Tạm dừng dự án trong một khoảng thời gian nhất định.

  • for – Lặp lại mã cho mỗi mục trong một chuỗi.

  • if – Chạy mã nếu điều kiện đúng.

  • if/else – Chạy mã khác nhau tùy thuộc vào điều kiện.

  • if/elif/else – Kiểm tra nhiều điều kiện theo thứ tự.

  • while – Lặp lại mã khi một điều kiện đúng.

  • break – Thoát khỏi vòng lặp ngay lập tức.

  • program_stop – Kết thúc chương trình đang chạy.

  • pass – Trình giữ chỗ được sử dụng khi không cần hành động nào.

Chờ đợi#

wait tạm dừng trong một khoảng thời gian cụ thể trước khi chuyển sang dòng mã tiếp theo.

Usage:
wait(time, units)

Thông số

Sự miêu tả

time

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.

units

Đơn vị biểu thị thời gian chờ: MSEC (mặc định) – mili giây, hoặc SECONDS

# Turn right for one second
drivetrain.turn(RIGHT)
wait(1, SECONDS)
drivetrain.stop()

vì#

for lặp lại một tập hợp các hành động một số lần cụ thể. for có thể được sử dụng để lặp qua các mục trong danh sách, bộ dữ liệu, từ điển, tập hợp, chuỗi hoặc cho một số vòng lặp được chỉ định với range.

Cách sử dụng:

for value in expression_list:
    pass

Các thành phần

Sự miêu tả

value

Một biến tạm thời lưu trữ phần tử hiện tại trong vòng lặp.

expression_list

Tập hợp các phần tử được lặp qua (ví dụ: danh sách, chuỗi, phạm vi).

# Move in a square path
for index in range(4):
    drivetrain.drive_for(FORWARD, 100, MM)
    drivetrain.turn_for(RIGHT, 90)

nếu như#

if chạy khối mã thụt lề nếu điều kiện là True.

Cách sử dụng:

if condition:
    pass

Các thành phần

Sự miêu tả

condition

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, mã bên trong khối if sẽ được thực thi; nếu nó là False, khối đó sẽ bị bỏ qua.

# Turn after the Bumper Switch is pressed
while True:
    if bumper_a.pressing():
        drivetrain.turn_for(RIGHT, 90)
    wait(0.1, SECONDS)

nếu/ngược lại#

if và else xác định khối mã thụt lề nào sẽ chạy dựa trên việc điều kiện là True hay False.

Cách sử dụng:

if condition:
    pass
else:
    pass

Các thành phần

Sự miêu tả

condition

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, mã bên trong khối if sẽ được thực thi; nếu nó là False, mã bên trong khối else sẽ được thực thi thay thế.

# Turn when the Bumper Switch is pressed
while True:
    if bumper_switch.pressing():
        drivetrain.turn(RIGHT)
    else:
        drivetrain.stop()
    wait(0.1, SECONDS)

if/elif/else#

Cấu trúc if/elif/else lựa chọn khối mã thụt lề nào sẽ được thực thi dựa trên các điều kiện:

  • if chạy khối lệnh của nó nếu điều kiện là True.

  • elif 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 là FalseCó thể sử dụng nhiều câu lệnh elif.

  • else chỉ chạy khối lệnh của nó nếu không có điều kiện nào trong các điều kiện trước đó là True.

Cách sử dụng:

if condition:
    pass
elif condition:
    pass
else:
    pass

Các thành phần

Sự miêu tả

condition

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 đúng ( True sẽ xác định khối lệnh nào được thực thi; nếu không có điều kiện nào đúng True, thì khối lệnh ( else sẽ được thực thi.

# Change the Optical Sensor light while turning
drivetrain.turn(RIGHT)
while True:
    if drivetrain.heading() < 120:
        optical_sensor.set_light(LEDStateType.OFF)
    elif drivetrain.heading() < 240:
        optical_sensor.set_light_power(50, PERCENT)
    else:
        optical_sensor.set_light_power(100, PERCENT)
    wait(0.2, SECONDS)

trong khi#

Vòng lặp while sẽ chạy mã liên tục miễn là điều kiện TrueNó cũng có thể được sử dụng như một vòng lặp “vĩnh viễn” bằng cách sử dụng True làm điều kiện, hoặc một vòng lặp “chờ cho đến khi” bằng cách thêm not vào điều kiện, như được hiển thị trong các ví dụ bên dưới.

Cách sử dụng:

while condition:
    pass

Các thành phần

Sự miêu tả

condition

Một biểu thức hoặc biến được kiểm tra trước mỗi lần lặp. Nếu nó bằng True, vòng lặp tiếp tục; nếu nó bằng False, vòng lặp dừng lại.

# Turn when the Bumper Switch is pressed
while True:
    if bumper_switch.pressing():
        drivetrain.turn(RIGHT)
    else:
        drivetrain.stop()
    wait(0.1, SECONDS)

# Turn the other direction when the left button is pressed
drivetrain.turn(LEFT)
while not brain.buttonLeft.pressing():
    wait(0.2, SECONDS)
drivetrain.turn(RIGHT)

phá vỡ#

break thoát khỏi vòng lặp ngay lập tức. break có thể được sử dụng để thoát khỏi các vòng lặp mà nếu không sẽ lặp vô hạn.

# Stop turning after pressing the left button
while True:
    drivetrain.turn(RIGHT)
    if brain.buttonLeft.pressing():
        break
    wait(0.2, SECONDS)
drivetrain.stop()

dừng chương trình#

brain.program_stop kết thúc một dự án đang chạy.

Usage:
brain.program_stop()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# Stop the project after pressing the left button
while True:
    drivetrain.turn(RIGHT)
    if brain.buttonLeft.pressing():
        break
    wait(0.2, SECONDS)
brain.program_stop()

vượt qua#

pass là một ký tự giữ chỗ cho mã lệnh trong tương lai và có thể được sử dụng để tránh lỗi trong các vòng lặp rỗng, câu lệnh điều kiện và hàm.

if condition:
    pass

def function():
    pass