ตัวควบคุม#

การแนะนำ#

คลาสคอนโทรลเลอร์ controller แทนคอนโทรลเลอร์ VEX IQ ที่เชื่อมต่อกับ IQ Brain อ็อบเจ็กต์คอนโทรลเลอร์ controller สามารถใช้เพื่อเข้าถึงค่าแกนจอยสติ๊ก อ่านสถานะปุ่ม ลงทะเบียนการเรียกกลับของปุ่มหรือจอยสติ๊ก และตรวจสอบว่าคอนโทรลเลอร์เชื่อมต่ออยู่หรือไม่

หน่วยประมวลผล IQ (รุ่นที่ 2) สามารถเชื่อมต่อกับตัวควบคุม IQ (รุ่นที่ 2) หรือ IQ (รุ่นที่ 1) ได้ โดยตัวควบคุม IQ (รุ่นที่ 1) ต้องติดตั้ง Smart Radio สีน้ำเงินไว้ด้วย

เมื่อมีการกำหนดค่าคอนโทรลเลอร์อย่างน้อยหนึ่งตัวในหน้าต่างอุปกรณ์ VEXcode IQ จะให้ค่า RemoteControlCodeEnabledมาให้ด้วย ตัวแปรส่วนกลางนี้จะเปิดใช้งานหรือปิดใช้งานการทำงานของคอนโทรลเลอร์ที่กำหนดค่าไว้ในเมนูอุปกรณ์

คลาสที่สืบทอดมา#

คลาสคอนโทรลเลอร์ controller มีคลาสย่อยต่อไปนี้:

  • Axis - ให้การเข้าถึงค่าอินพุตแกนจอยสติ๊กและเหตุการณ์การเปลี่ยนแปลง

  • Button - ให้สิทธิ์ในการเข้าถึงสถานะปุ่มและการเรียกกลับเหตุการณ์ปุ่ม

ผู้สร้าง#

1 - สร้างคอนโทรลเลอร์โดยใช้ประเภทคอนโทรลเลอร์หลัก โดยทั่วไปจะใช้เมื่อเชื่อมต่อคอนโทรลเลอร์เพียงตัวเดียว

controller();

2 - สร้างคอนโทรลเลอร์สำหรับประเภทคอนโทรลเลอร์ที่ระบุ ใช้เมื่อเชื่อมต่อคอนโทรลเลอร์สองตัว

controller(
    controllerType id );

ฟังก์ชันที่มีให้ใช้งาน

controller();

controller(controllerType id);

พารามิเตอร์

พิมพ์

คำอธิบาย

id

controllerType

ตัวเลือกเสริม ประเภทคอนโทรลเลอร์ที่จะสร้าง: primary สำหรับคอนโทรลเลอร์หลักที่เชื่อมต่อกับสมอง หรือ partner สำหรับคอนโทรลเลอร์ตัวที่สองที่เชื่อมต่อกับสมอง

หมายเหตุ

สามารถสร้างคอนโทรลเลอร์หลัก primary ได้เพียงหนึ่งตัว และคอนโทรลเลอร์พันธมิตร partner ได้เพียงหนึ่งตัวในโปรเจกต์เดียว

ตัวอย่าง

// Create the primary controller
controller Controller1 = controller();

// Create a partner controller
controller Controller2 = controller(partner);

ตัวทำลาย#

~คอนโทรลเลอร์#

~controller destroys the controller object and releases associated resources.

ฟังก์ชันที่มีให้ใช้งาน

~controller();

พารามิเตอร์#

พารามิเตอร์

พิมพ์

คำอธิบาย

id

controllerType

ประเภทของตัวควบคุมที่กำลังสร้าง:

  • primary - ตัวควบคุมหลักที่เชื่อมต่อกับสมอง
  • partner - ตัวควบคุมคู่หู (ตัวที่สอง) ที่เชื่อมต่อกับสมอง

หมายเหตุ#

  • ในโครงการเดียวจะมีตัวควบคุมหลัก primary และตัวควบคุมพันธมิตร partner เท่านั้น

ตัวอย่าง#

// Create a controller instance
controller Controller = controller();

ฟังก์ชันสมาชิก#

คลาสคอนโทรลเลอร์ controller ประกอบด้วยฟังก์ชันสมาชิกต่อไปนี้:

  • installed - ตรวจสอบว่าตัวควบคุมเชื่อมต่อกับสมองหรือไม่

ติดตั้ง#

installed ส่งคืนสถานะว่าคอนโทรลเลอร์เชื่อมต่อกับ Brain หรือไม่

ฟังก์ชันที่มีให้ใช้งาน

bool installed();

พารามิเตอร์

ฟังก์ชันนี้ไม่มีพารามิเตอร์

ค่าที่ส่งคืน

ส่งคืนค่าบูลีน

  • true - The controller is installed/connected.
  • false - The controller is not installed/connected.

ตัวแปรทั่วโลก#

เปิดใช้งานรหัสควบคุมระยะไกล#

RemoteControlCodeEnabled เปิดใช้งานหรือปิดใช้งานการทำงานของคอนโทรลเลอร์ที่กำหนดค่าไว้ในเมนูอุปกรณ์ การทำงานของคอนโทรลเลอร์ที่กำหนดค่าไว้จะเปิดใช้งานโดยค่าเริ่มต้น

Usage:
RemoteControlCodeEnabled = state;

ค่า

คำอธิบาย

true

เปิดใช้งานการดำเนินการที่กำหนดค่าไว้ในคอนโทรลเลอร์

false

ปิดใช้งานการทำงานที่กำหนดค่าไว้ในคอนโทรลเลอร์

Values
  • true - Controller-configured actions are enabled.
  • false - Controller-configured actions are disabled.
Notes
  • โดยค่าเริ่มต้น การดำเนินการที่กำหนดค่าไว้ในคอนโทรลเลอร์จะเปิดใช้งานอยู่

Examples
// Drive forward or backward using the left joystick
RemoteControlCodeEnabled = false;

while (true) {
  if (Controller1.AxisA.position() > 0) {
    Drivetrain.drive(forward);
  }
  else if (Controller1.AxisA.position() < 0) {
    Drivetrain.drive(reverse);
  }
  // Press E Up to use controller configured actions again
  else if (Controller1.ButtonEUp.pressing()) {
    break;
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

RemoteControlCodeEnabled = true;