ปุ่ม#
การแนะนำ#
คลาสปุ่ม button ได้รับมาจากคลาสพื้นฐาน สมอง และให้การเข้าถึงปุ่มของสมอง IQ (รุ่นที่ 2) ทำให้หุ่นยนต์ของคุณสามารถตรวจสอบการกดปุ่มของสมองได้
เข้าถึง#
คลาส brain ประกอบด้วยอ็อบเจ็กต์ปุ่มสิบสองชิ้น แต่ละอ็อบเจ็กต์เป็นอินสแตนซ์ของคลาส button และสามารถเข้าถึงได้ผ่านอินสแตนซ์ของ brain
วัตถุ |
ตัวอย่างการใช้งาน |
คำอธิบาย |
|---|---|---|
|
|
ปุ่มตรวจสอบ |
|
|
ปุ่มซ้าย |
|
|
ปุ่มขวา |
หมายเหตุ#
ปุ่ม
buttonนั้นถูกสร้างขึ้นโดยสมอง ไม่ได้ถูกสร้างขึ้นโดยตรง
ฟังก์ชันสมาชิก#
คลาส Button ประกอบด้วยฟังก์ชันสมาชิกต่อไปนี้:
pressed— ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อกดปุ่มที่ระบุreleased— ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อปล่อยปุ่มที่ระบุpressing— ส่งคืนว่าปุ่มที่ระบุถูกกดอยู่หรือไม่
ก่อนเรียกใช้ฟังก์ชันสมาชิก button ใดๆ จะต้องสร้างอินสแตนซ์ brain ก่อน ดังแสดงด้านล่าง:
// Create a brain instance
brain();
pressed#
ลงทะเบียนฟังก์ชันเรียกกลับที่จะทำงานเมื่อกดปุ่มสมองเฉพาะปุ่มหนึ่ง
Available Functionsvoid pressed(
void (* callback)(void) ) const;
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ฟังก์ชันที่จะถูกเรียกเมื่อกดปุ่มที่ระบุไว้ |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Examplesฟังก์ชันนี้สามารถเรียกใช้ได้กับวัตถุปุ่มกดสมองใดๆ ก็ได้ ตัวอย่างเช่น:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
กำหนดฟังก์ชันเรียกกลับ (นอก
int main())// Drive forward when check is pressed void driveForward() { Drivetrain.driveFor(forward, 100, mm); }ลงทะเบียนฟังก์ชันเรียกกลับภายใน
int main()int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Call driveForward when the check button is pressed Brain.buttonCheck.pressed(driveForward); }
released#
ลงทะเบียนฟังก์ชันเรียกกลับที่จะทำงานเมื่อปล่อยปุ่มสมองเฉพาะปุ่มหนึ่ง
Available Functionsvoid released(
void (* callback)(void) ) const;
พารามิเตอร์#
พารามิเตอร์ |
พิมพ์ |
คำอธิบาย |
|---|---|---|
|
|
ฟังก์ชันที่จะถูกเรียกเมื่อปล่อยปุ่มที่ระบุไว้ |
ฟังก์ชันนี้ไม่ส่งค่ากลับ
Examplesฟังก์ชันนี้สามารถเรียกใช้ได้กับวัตถุปุ่มกดสมองใดๆ ก็ได้ ตัวอย่างเช่น:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
กำหนดฟังก์ชันเรียกกลับ (นอก
int main())// Drive backward when the left button is released void backUp() { Drivetrain.driveFor(reverse, 100, mm); }ลงทะเบียนฟังก์ชันเรียกกลับภายใน
int main()int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Call backUp when the left button is released Brain.buttonLeft.released(backUp); }
pressing#
ตรวจสอบว่าปุ่มสมองเฉพาะปุ่มใดกำลังถูกกดอยู่หรือไม่
Available Functionsbool pressing() const;
ฟังก์ชันนี้ไม่รับพารามิเตอร์ใดๆ
Return Valuesส่งคืนค่าบูลีนที่ระบุว่าปุ่มที่ระบุถูกกดอยู่หรือไม่:
true— กำลังกดปุ่มอยู่false— ไม่ได้กดปุ่ม
ฟังก์ชันนี้สามารถเรียกใช้ได้กับวัตถุปุ่มกดสมองใดๆ ก็ได้ ตัวอย่างเช่น:
Brain.buttonCheckBrain.buttonLeftBrain.buttonRight
// Turn right while right is pressed
while (true) {
if (Brain.buttonRight.pressing()) {
Drivetrain.turn(right);
} else {
Drivetrain.stop();
}
wait(5, msec);
}