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ả.

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ả |
|---|---|---|
|
|
Cổng 3 dây mà công tắc Bumper được kết nối, được viết là |
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 Functionsint32_t pressing();
Hàm này không chấp nhận bất kỳ tham số nào.
Return ValuesTrả 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 Functionsvoid pressed( void (* callback)(void) );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Con trỏ trỏ đến một hàm sẽ được gọi khi nút cản xe được nhấn. |
Hàm này không trả về giá trị nào.
ExamplesXá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 Functionsvoid released( void (* callback)(void) );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Con trỏ đến một hàm sẽ được gọi khi nút giảm xóc được nhả ra. |
Hàm này không trả về giá trị nào.
ExamplesXá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); }