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 |
|---|---|---|
|
|
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 |
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 Functionsbool foundObject();
This function does not accept any parameters.
Return ValuesReturns a bool representing if an object is detected:
true— An object is found.false— An object is not found.
// 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 Functionsdouble distance(
distanceUnits units );
Parameters |
Type |
Description |
|---|---|---|
|
|
The unit that represents the distance:
|
Returns a double representing the distance in the specified units.
// 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);