ตัวควบคุม#
การแนะนำ#
คลาสคอนโทรลเลอร์ controller แทนคอนโทรลเลอร์ VEX IQ ที่เชื่อมต่อกับ IQ Brain อ็อบเจ็กต์คอนโทรลเลอร์ controller สามารถใช้เพื่อเข้าถึงค่าแกนจอยสติ๊ก อ่านสถานะปุ่ม ลงทะเบียนการเรียกกลับของปุ่มหรือจอยสติ๊ก และตรวจสอบว่าคอนโทรลเลอร์เชื่อมต่ออยู่หรือไม่
หน่วยประมวลผล IQ (รุ่นที่ 2) สามารถเชื่อมต่อกับตัวควบคุม IQ (รุ่นที่ 2) หรือ IQ (รุ่นที่ 1) ได้ โดยตัวควบคุม IQ (รุ่นที่ 1) ต้องติดตั้ง Smart Radio สีน้ำเงินไว้ด้วย
เมื่อมีการกำหนดค่าคอนโทรลเลอร์อย่างน้อยหนึ่งตัวในหน้าต่างอุปกรณ์ VEXcode IQ จะให้ค่า RemoteControlCodeEnabledมาให้ด้วย ตัวแปรส่วนกลางนี้จะเปิดใช้งานหรือปิดใช้งานการทำงานของคอนโทรลเลอร์ที่กำหนดค่าไว้ในเมนูอุปกรณ์
คลาสที่สืบทอดมา#
คลาสคอนโทรลเลอร์ controller มีคลาสย่อยต่อไปนี้:
ผู้สร้าง#
1 - สร้างคอนโทรลเลอร์โดยใช้ประเภทคอนโทรลเลอร์หลัก โดยทั่วไปจะใช้เมื่อเชื่อมต่อคอนโทรลเลอร์เพียงตัวเดียว
controller();
2 - สร้างคอนโทรลเลอร์สำหรับประเภทคอนโทรลเลอร์ที่ระบุ ใช้เมื่อเชื่อมต่อคอนโทรลเลอร์สองตัว
controller( controllerType id );
ฟังก์ชันที่มีให้ใช้งาน
controller();
controller(controllerType id);
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ตัวเลือกเสริม ประเภทคอนโทรลเลอร์ที่จะสร้าง: |
หมายเหตุ
สามารถสร้างคอนโทรลเลอร์หลัก 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();
พารามิเตอร์#
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ประเภทของตัวควบคุมที่กำลังสร้าง:
|
หมายเหตุ#
ในโครงการเดียวจะมีตัวควบคุมหลัก
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- Controller-configured actions are enabled.false- Controller-configured actions are disabled.
โดยค่าเริ่มต้น การดำเนินการที่กำหนดค่าไว้ในคอนโทรลเลอร์จะเปิดใช้งานอยู่
// 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;