测距仪#

介绍#

The sonar class is used to measure distances and detects objects in front with the Range Finder.

类构造函数#

sonar(
  triport::port &port);

类析构函数#

Destroys the sonar object and releases associated resources.

virtual ~sonar();

参数#

范围

类型

描述

port

triport::port &

The first 3-Wire Port of a required two-port group used by the Range Finder. The Range Finder occupies two adjacent ports (A–B, C–D, E–F, or G–H) on either the Brain or a 3-Wire Expander. Specify the first port in the pair (A, C, E, or G), written as Brain.ThreeWirePort.X or ExpanderName.X where X is the port letter (for example, Brain.ThreeWirePort.A or Expander1.C).

示例#

// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);

成员功能#

The sonar class includes the following member functions:

  • foundObject — Returns whether an object is detected by the Range Finder.

  • distance — Returns the distance of a detected object from the Range Finder.

Before calling any sonar member functions, a sonar instance must be created, as shown below:

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

// Create a sonar instance in Ports A and B
sonar RangeFinderA = sonar(Brain.ThreeWirePort.A);

foundObject#

返回一个布尔值,指示范围查找器是否找到对象。

Available Functions
bool foundObject();

Parameters

此函数不接受任何参数。

Return Values

Returns a bool representing if an object is detected:

  • true — An object is found.

  • false — An object is not found.

Examples
// Check if an object is detected.
if (RangeFinderA.foundObject()){
    // Print to screen on the brain that an object was found.
    Brain.Screen.print("object found");
}

distance#

返回测距仪检测到物体的当前距离。

Available Functions
double distance( 
  distanceUnits units );

Parameters

范围

类型

描述

units

distanceUnits

The unit that represents the distance:

  • inches
  • mm — millimeters

Return Values

Returns a double representing the distance in the specified units.

Examples
// Get the Range Finder distance in millimeters.
double value = RangeFinderA.distance(mm);

// Print the current distance detected by the Range Finder to the
// Brain's screen.
Brain.Screen.print(value);