Công tắc cản xe#

Giới thiệu#

Bộ phận bumper được sử dụng với Công tắc Bumper, một công tắc cơ khí hoàn thành mạch điện khi được nhấn, cho phép robot phát hiện các lần nhấn và nhả.

Công tắc cản VEX EXP là thiết bị 3 dây với đế màu đen rộng để gắn vào robot và nút nhấn màu đỏ ở phía trên.

Hàm tạo lớp#

bumper(
  triport::port &port );

Lớp Destructor#

Phá hủy đối tượng bumper và giải phóng các tài nguyên liên quan.

virtual ~bumper();

Thông số#

Tham số

Kiểu

Sự miêu tả

port

triport::port&

Cổng 3 dây mà công tắc Bumper được kết nối, được viết là Brain.ThreeWirePort.X hoặc ExpanderName.X, trong đó X là ký tự của cổng (ví dụ: Brain.ThreeWirePort.A hoặc Expander1.A).

Ví dụ#

// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);

Chức năng thành viên#

Lớp bumper bao gồm các hàm thành viên sau:

  • pressing — Trả về trạng thái liệu Công tắc Bumper có đang được nhấn hay không.

  • pressed — Đăng ký một hàm sẽ được gọi khi Công tắc Bumper được nhấn.

  • released — Đăng ký một hàm sẽ được gọi khi Công tắc Bumper được nhả ra.

Trước khi gọi bất kỳ hàm thành viên nào của bumper , cần phải tạo một thể hiện bumper , như được hiển thị bên dưới:

/* This constructor is required when using VS Code.
Bumper Switch configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a bumper instance in Port A
bumper BumperA = bumper(Brain.ThreeWirePort.A);

pressing#

Hàm này trả về trạng thái cho biết công tắc Bumper Switch có đang được nhấn hay không. Chức năng này có thể được sử dụng để kiểm tra xem robot có va chạm với các vật thể khác hay không.

Available Functions
int32_t pressing();

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Return Values

Trả về giá trị int32_t cho biết công tắc Bumper có đang được nhấn hay không.

  • 1 — Công tắc Bumper đang được nhấn.

  • 0 — Công tắc Bumper không được nhấn.

pressed#

Đăng ký một hàm sẽ được gọi khi công tắc Bumper được nhấn.

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

Parameters

Tham số

Kiểu

Sự miêu tả

callback

void (*)(void)

Con trỏ trỏ đến một hàm sẽ được gọi khi nút cản xe được nhấn.

Return Values

Hàm này không trả về giá trị nào.

Examples

Xác định hàm gọi lại (bên ngoài int main())

// Display a message when bumper is pressed
void BumperPressed() {
  Brain.Screen.print("Bumper pressed");
}

Đăng ký hàm gọi lại bên trong int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run BumperPressed when the value of the Bumper Switch is pressed.
  BumperA.pressed(BumperPressed);
}

released#

Đăng ký một hàm sẽ được gọi khi nút Bumper Switch được nhả ra.

Available Functions
void released( void (* callback)(void) );

Parameters

Tham số

Kiểu

Sự miêu tả

callback

void (*)(void)

Con trỏ đến một hàm sẽ được gọi khi nút giảm xóc được nhả ra.

Return Values

Hàm này không trả về giá trị nào.

Examples

Xác định hàm gọi lại (bên ngoài int main())

// Display a message when bumper is released
void BumperReleased() {
  Brain.Screen.print("Bumper released");
}

Đăng ký hàm gọi lại bên trong int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run BumperReleased when the value of the Bumper Switch is released.
  BumperA.released(BumperReleased);
}