Saklar Bumper#

Perkenalan#

Kelas bumper digunakan dengan Bumper Switch, sebuah sakelar mekanis yang melengkapi rangkaian saat ditekan, memungkinkan robot untuk mendeteksi penekanan dan pelepasan.

Saklar Bumper VEX V5 adalah perangkat 3 kabel dengan alas hitam lebar untuk memasangnya ke robot, dan tombol merah yang dapat ditekan di bagian atas.

Konstruktor Kelas#

bumper(
  triport::port &port );

Destruktor Kelas#

Menghancurkan objek bumper dan melepaskan sumber daya terkait.

virtual ~bumper();

Parameter#

Parameter

Jenis

Keterangan

port

triport::port&

Port 3-Kabel yang terhubung ke Saklar Bumper, ditulis sebagai Brain.ThreeWirePort.X atau ExpanderName.X, di mana X adalah huruf port (misalnya, Brain.ThreeWirePort.A atau Expander1.A).

Contoh#

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

Fungsi Keanggotaan#

Kelas bumper mencakup fungsi anggota berikut:

  • pressing — Mengembalikan apakah Saklar Bumper sedang ditekan.

  • pressed — Mendaftarkan fungsi yang akan dipanggil ketika Saklar Bumper ditekan.

  • released — Mendaftarkan fungsi yang akan dipanggil ketika Saklar Bumper dilepaskan.

Sebelum memanggil fungsi anggota bumper apa pun, sebuah instance bumper harus dibuat, seperti yang ditunjukkan di bawah ini:

/* 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#

Mengembalikan nilai boolean yang menunjukkan apakah Saklar Bumper sedang ditekan. Ini dapat digunakan untuk memeriksa apakah robot menabrak objek lain.

Available Functions
int32_t pressing();

Parameters

Fungsi ini tidak menerima parameter apa pun.

Return Values

Mengembalikan nilai int32_t yang menunjukkan apakah Saklar Bumper sedang ditekan.

  • 1 — Tombol Bumper sedang ditekan.

  • 0 — Tombol Bumper tidak ditekan.

pressed#

Mendaftarkan fungsi yang akan dipanggil saat Saklar Bumper ditekan.

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

Parameters

Parameter

Jenis

Keterangan

callback

void (*)(void)

Penunjuk ke fungsi yang akan dipanggil saat bumper ditekan.

Return Values

Fungsi ini tidak mengembalikan nilai.

Examples

Definisikan fungsi callback (di luar int main())

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

Daftarkan fungsi callback di dalam 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#

Mendaftarkan fungsi yang akan dipanggil saat Saklar Bumper dilepas.

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

Parameters

Parameter

Jenis

Keterangan

callback

void (*)(void)

Pointer ke sebuah fungsi yang akan dipanggil ketika bumper dilepas.

Return Values

Fungsi ini tidak mengembalikan nilai.

Examples

Definisikan fungsi callback (di luar int main())

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

Daftarkan fungsi callback di dalam 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);
}