Skip to main content
Cổng thông tin giáo viên

Bộ điều khiển và Vòng lặp - C++

Bộ điều khiển và Vòng lặp

Trong các cuộc thi, các đội phải điều khiển robot của mình bằng bộ điều khiển không dây. Bộ điều khiển được lập trình để cập nhật robot dựa trên thông tin đầu vào từ người dùng. Các vòng lặp được sử dụng trong dự án để robot liên tục kiểm tra thông tin đầu vào được cập nhật. Vòng lặp cho phép dự án kiểm tra nhanh chóng nút nào đã được nhấn hoặc cần điều khiển đã được đẩy đi bao xa. Sau khi kiểm tra, thông tin này sẽ nhanh chóng được chuyển tiếp đến robot để robot phản hồi nhanh chóng với các hướng dẫn của bộ điều khiển.

Sau đây là dự án ví dụ về Tank Drive từ VEXcode V5. Vòng lặpmãi mãitrong dự án này kiểm tra vị trí của Trục 2 và 3 mãi mãi để thiết lập tốc độ của động cơ.

// Bao gồm Thư viện V5
#include "vex.h"

// Cho phép sử dụng Thư viện VEX dễ dàng hơn
bằng cách sử dụng không gian tên vex;

int main() {
  // Khởi tạo Cấu hình Robot. KHÔNG ĐƯỢC THÁO RA!
  vexcodeInit();
  // Bắt đầu mã dự án.
  // Vòng lặp Bộ điều khiển chính để đặt động cơ ở vị trí trục bộ điều khiển
  while (true) {
    LeftMotor.setVelocity(Controller1.Axis3.position(), percent);
    RightMotor.setVelocity(Controller1.Axis2.position(), percent);
    LeftMotor.spin(forward);
    RightMotor.spin(forward);

    wait(5, msec);
  }

  return 0;
}

Vòng lặp rất quan trọng ngay cả khi lập trình tự động mà không cần bộ điều khiển. Vòng lặp giúp đơn giản hóa và sắp xếp các lệnh lặp lại trong một dự án.

Biểu tượng Mở rộng việc học của bạn Mở rộng việc học của bạn

Để mở rộng hoạt động này, hãy yêu cầu học sinh khám phá sự khác biệt giữa điều khiển trò chơi điện tử và điều khiển xe tăng. Học sinh có thể làm theo các dự án mẫu có trong VEXcode V5.

Có bốn dự án mẫu: Left Arcade, Right Arcade, Split Arcade và Tank Drive.

Thảo luận về cách các vòng lặp trong chương trình hoạt động cũng như ưu và nhược điểm của từng loại điều khiển.

Để liên hệ hoạt động này với toán học, hãy sử dụng các dự án arcade trái/phải (một cần điều khiển) và arcade/tank chia đôi (cả hai đều là cần điều khiển) ở trên để thảo luận về vai trò của trục X và Y trong dự án.