Range Finder#

Introduction#

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

Class Constructor#

sonar(
  triport::port &port);

Class Destructor#

Destroys the sonar object and releases associated resources.

virtual ~sonar();

Parameters#

Parameter

Type

Description

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

Examples#

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

Member Functions#

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#

Returns a Boolean indicating if an object is found by the Range Finder.

Available Functions
bool foundObject();

Parameters

This function does not accept any 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#

Returns the current distance the Range Finder is detecting an object at.

Available Functions
double distance( 
  distanceUnits units );

Parameters

Parameters

Type

Description

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);