ปุ่ม#

การแนะนำ#

คลาสปุ่ม button ได้รับมาจากคลาสพื้นฐาน สมอง และให้การเข้าถึงปุ่มของสมอง IQ (รุ่นที่ 2) ทำให้หุ่นยนต์ของคุณสามารถตรวจสอบการกดปุ่มของสมองได้

เข้าถึง#

คลาส brain ประกอบด้วยอ็อบเจ็กต์ปุ่มสิบสองชิ้น แต่ละอ็อบเจ็กต์เป็นอินสแตนซ์ของคลาส button และสามารถเข้าถึงได้ผ่านอินสแตนซ์ของ brain

วัตถุ

ตัวอย่างการใช้งาน

คำอธิบาย

buttonCheck

Brain.buttonCheck.pressing()

ปุ่มตรวจสอบ

buttonLeft

Brain.buttonLeft.pressing()

ปุ่มซ้าย

buttonRight

Brain.buttonRight.pressing()

ปุ่มขวา

หมายเหตุ#

  • ปุ่ม button นั้นถูกสร้างขึ้นโดยสมอง ไม่ได้ถูกสร้างขึ้นโดยตรง

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

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

  • pressed — ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อกดปุ่มที่ระบุ

  • released — ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อปล่อยปุ่มที่ระบุ

  • pressing — ส่งคืนว่าปุ่มที่ระบุถูกกดอยู่หรือไม่

ก่อนเรียกใช้ฟังก์ชันสมาชิก button ใดๆ จะต้องสร้างอินสแตนซ์ brain ก่อน ดังแสดงด้านล่าง:

// Create a brain instance
brain();

pressed#

ลงทะเบียนฟังก์ชันเรียกกลับที่จะทำงานเมื่อกดปุ่มสมองเฉพาะปุ่มหนึ่ง

Available Functions
void pressed( 
  void (* callback)(void) ) const;

Parameters

พารามิเตอร์

พิมพ์

คำอธิบาย

callback

void (*)(void)

ฟังก์ชันที่จะถูกเรียกเมื่อกดปุ่มที่ระบุไว้

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Examples

ฟังก์ชันนี้สามารถเรียกใช้ได้กับวัตถุปุ่มกดสมองใดๆ ก็ได้ ตัวอย่างเช่น:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.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 Functions
void released( 
  void (* callback)(void) ) const;

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

พารามิเตอร์

พิมพ์

คำอธิบาย

callback

void (*)(void)

ฟังก์ชันที่จะถูกเรียกเมื่อปล่อยปุ่มที่ระบุไว้

Return Values

ฟังก์ชันนี้ไม่ส่งค่ากลับ

Examples

ฟังก์ชันนี้สามารถเรียกใช้ได้กับวัตถุปุ่มกดสมองใดๆ ก็ได้ ตัวอย่างเช่น:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.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 Functions
bool pressing() const;

Parameters

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

Return Values

ส่งคืนค่าบูลีนที่ระบุว่าปุ่มที่ระบุถูกกดอยู่หรือไม่:

  • true — กำลังกดปุ่มอยู่

  • false — ไม่ได้กดปุ่ม

Examples

ฟังก์ชันนี้สามารถเรียกใช้ได้กับวัตถุปุ่มกดสมองใดๆ ก็ได้ ตัวอย่างเช่น:

  • Brain.buttonCheck
  • Brain.buttonLeft
  • Brain.buttonRight
// Turn right while right is pressed
while (true) {
    if (Brain.buttonRight.pressing()) {
        Drivetrain.turn(right);
    } else {
        Drivetrain.stop();
    }
    wait(5, msec);
}