保险杠#

介绍#

VEX IQ(第二代)的 Bumper Switch API 提供了控制 Bumper Switch 输入的方法。这使得 Brain 能够检测到 Bumper Switch 的按下和释放。

以下是所有可用方法的列表:

方法——控制保险杠开关的行为和输入。

  • pressing – 返回保险杠开关是否被按下。

  • pressed – 按下保险杠开关时调用一个函数。

  • released – 当保险杠开关被释放时调用一个函数。

  • 已安装 – 保险杠开关是否连接到 IQ(第二代)大脑。

构造函数——手动初始化保险杠开关。

  • bumper – 创建保险杠开关。

方法#

紧迫#

pressing 返回一个整数,指示保险杠开关当前是否被按下。

  • 1-保险杠开关被按下。

  • 0-保险杠开关未被按下。

用法:
Bumper1.pressing()

参数

描述

该方法没有参数。

// Back up and turn if bumper switch pressed
  while (true){
    Drivetrain.drive(forward);
    if (Bumper1.pressing()){
        Drivetrain.driveFor(reverse, 100, mm);
        Drivetrain.turnFor(right, 90, degrees);
    }
  }

按下#

当保险杠开关被按下时,pressed(callback) 方法调用一个函数。

用法

保险杠1.按下(回调)

范围

描述

回调

先前定义的当按下保险杠开关时执行的功能。

// Drive forward when bumper switch is pressed
void bumperPressed(){
    Drivetrain.driveFor(forward,100,mm);
}

int main() {
  vexcodeInit();
  Bumper1.pressed(bumperPressed);
}

发布#

当保险杠开关被释放时,released(callback) 方法调用一个函数。

用法

Bumper1.released(回调)

范围

描述

回调

先前定义的当按下保险杠开关时执行的功能。

// Drive backward when bumper switch is released
void bumperReleased() {
  Drivetrain.driveFor(reverse,100,mm);
}

int main() {
  vexcodeInit();
  Bumper1.released(bumperReleased);
}

已安装#

installed 返回一个整数,指示 Bumper Switch 当前是否连接到 IQ(第二代)Brain。

  • 1 – 保险杠开关连接到 IQ(第二代)大脑。

  • 0 – 保险杠开关未连接到 IQ(第二代)大脑。

用法:
installed()

参数

描述

该方法没有参数。

// Display a message if the Bumper Switch is detected
if (Bumper1.installed()){
  Brain.Screen.print("Installed!");
}

构造函数#

构造函数用于手动创建“保险杠”对象,这对于在 VEXcode 之外配置保险杠开关是必需的。

对于下面的示例,配置的 Bumper Switch 将被命名为“Bumper1”,并且在整个 API 文档的所有后续示例中引用“bumper”类方法时将使用它。

保险杠开关#

bumper 创建一个 Bumper Switch。

用法

保险杠(端口)

范围

描述

端口

颜色传感器连接到哪个智能端口,以“PORT”表示,后跟端口号,范围从 1 到 12。

// Construct a Bumper Sensor "Bumper1" with the
// bumper class
bumper Bumper1 = bumper();

// Back up and turn if bumper switch pressed
int main() {
  vexcodeInit();

  while (true){
    Drivetrain.drive(forward);
    if (Bumper1.pressing()){
        Drivetrain.driveFor(reverse, 100, mm);
        Drivetrain.turnFor(right, 90, degrees);
    }
  }
}