Tampon Anahtarı#

giriiş#

bumper sınıfı, basıldığında devreyi tamamlayan mekanik bir anahtar olan Bumper Switch ile birlikte kullanılır ve robotun basma ve bırakma hareketlerini algılamasını sağlar.

VEX V5 Bumper Switch, robota takmak için geniş siyah bir tabana ve üstünde basılabilir kırmızı bir düğmeye sahip 3 kablolu bir cihazdır.

Sınıf Oluşturucu#

bumper(
  triport::port &port );

Sınıf Yıkıcısı#

bumper nesnesini yok eder ve ilgili kaynakları serbest bırakır.

virtual ~bumper();

Parametreler#

Parametre

Tip

Tanım

port

triport::port&

Bumper Switch’in bağlı olduğu 3 Kablolu Port, Brain.ThreeWirePort.X veya ExpanderName.Xşeklinde yazılır; burada X port harfidir (örneğin, Brain.ThreeWirePort.A veya Expander1.A).

Örnek#

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

Üye Fonksiyonları#

bumper sınıfı aşağıdaki üye işlevlerini içerir:

  • pressingbasıyor — Tampon Anahtarının basılıp basılmadığını döndürür.

  • pressed — Bumper Switch’e basıldığında çağrılacak bir fonksiyonu kaydeder.

  • released — Bumper Switch serbest bırakıldığında çağrılacak bir fonksiyonu kaydeder.

Herhangi bir bumper üye fonksiyonunu çağırmadan önce, aşağıda gösterildiği gibi bir bumper örneği oluşturulmalıdır:

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

Buton anahtarının şu anda basılı olup olmadığını gösterir. Bu, robotun diğer nesnelere çarpıp çarpmadığını kontrol etmek için kullanılabilir.

Available Functions
int32_t pressing();

Parameters

Bu fonksiyon herhangi bir parametre kabul etmez.

Return Values

Bumper Switch’in basılı olup olmadığını gösteren int32_t değerini döndürür.

  • 1 — Tampon düğmesine basılıyor.

  • 0 — Tampon düğmesine basılmıyor.

pressed#

Bumper Switch’e basıldığında çağrılacak bir fonksiyonu kaydeder.

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

Parameters

Parametre

Tip

Tanım

callback

void (*)(void)

Tampona basıldığında çağrılacak bir fonksiyona işaretçi.

Return Values

Bu fonksiyon bir değer döndürmez.

Examples

Geri çağırma fonksiyonunu tanımlayın ( int main() dışında)

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

Geri çağrıyı main() fonksiyonunun içine kaydedin 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#

Bumper Switch bırakıldığında çağrılacak bir fonksiyonu kaydeder.

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

Parameters

Parametre

Tip

Tanım

callback

void (*)(void)

Tampon bırakıldığında çağrılacak bir fonksiyona işaretçi.

Return Values

Bu fonksiyon bir değer döndürmez.

Examples

Geri çağırma fonksiyonunu tanımlayın ( int main() dışında)

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

Geri çağrıyı main() fonksiyonunun içine kaydedin 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);
}