#region config
đến
#endregion config
"""


# NẠP CÁC ĐỐI TƯỢNG TỪ THƯ VIỆN
# ================================
from vex import Motor, Ports
from vex import DirectionType, DistanceUnits
from drivetrain import Drivetrain


# KHỞI TẠO CÁC BỘ PHẬN ROBOT
# ==========================
# khởi tạo các motor tương ứng với các cổng
motor_left = Motor(Ports.PORT1, True)
motor_right = Motor(Ports.PORT2)

# khởi tạo bộ truyền động
drive_train = Drivetrain(motor_left, motor_right,
                         200, 192, DistanceUnits.MM, 1)


# CHƯƠNG TRÌNH CHÍNH
# ==========================
# di chuyển robot đến phía trước 120cm, tốc độ 50%
drive_train.drive_for(DirectionType.FWD, 120, DistanceUnits.CM, 50)
# di chuyển robot lui về phía sau 120cm, tốc độ 100%
drive_train.drive_for(DirectionType.REV, 120, DistanceUnits.CM, 100)
Esempio n. 2
0

# ĐỊNH NGHĨA CÁC HÀM
# ==================
def flash_led(color, duration_in_seconds):
    touch_led.on_hue(color)
    sys.sleep(duration_in_seconds)


def dance():
    for _ in range(2):
        flash_led(ColorHue.YELLOW, 0.3)
        flash_led(ColorHue.RED, 0.3)


# CHƯƠNG TRÌNH CHÍNH
# ==================
# Luôn thực hiện cho đến khi bấm kết thúc chương trình
while True:
    # Robot di chuyển về phía trước
    drivetrain.drive(DirectionType.FWD)

    # Khi cảm biến va chạm được nhấn
    if bumper_front.pressing():
        # đi lùi 20 cm
        drivetrain.drive_for(REVERSE, 20, DistanceUnits.CM)
        # Robot rẽ trái 60 độ
        drivetrain.turn_for(LEFT, 120)
        # nhảy múa
        dance()
# Dòng này gây lỗi, bạn có biết nguyên nhân là gì không?
# distance_start = distance_front.distance(DistanceUnits=DistanceUnits.CM)
distance_start = distance_front.distance(DistanceUnits.CM)
print('Ban dau, robot cach tuong so CM la:', distance_start)

# CHƯƠNG TRÌNH CHÍNH
# ==================
while True:
    # Robot di chuyển về phía trước
    drivetrain.drive(FORWARD)

    # Khoảng cách distance cảm biến khoảng cách
    # đọc được cách vật đối diện
    distance_value = distance_front.distance(DistanceUnits.CM)
    print('Robot cach tuong so CM la:', distance_value)

    # Nếu khoảng cách nhỏ hơn hoặc bằng 20 CM thì:
    if distance_value <= 20:
        # Xác định khoảng cách cần lùi
        reverse_value = distance_start - distance_value
        print('Robot can di lui so CM la:', reverse_value)

        # Robot đi lùi
        drivetrain.drive_for(REVERSE, reverse_value, DistanceUnits.CM)

        # thoát khỏi vòng lặp while True
        # để dừng chương trình
        # sau khi về vị trí cũ
        break