sonar#
Initializing the sonar Class#
A Range Finder is created by using the following constructor:
The sonar constructor creates a sonar object in the specified Three Wire Port.
Parameter  | 
Description  | 
|---|---|
  | 
A valid Smart Port that the Range Finder is connected to.  | 
// Create the Brain.
brain Brain;
// Construct a Range Finder "Sonar" with the
// sonar class.
sonar Sonar = sonar(PORT1);
This Sonar object will be used in all subsequent examples throughout this API documentation when referring to sonar class methods.
Class Methods#
distance()#
The distance(units) method returns the current distance the Range Finder is detecting on abject at. The Range Finder will return a large positive number if no object is detected in range.
Parameters  | 
Description  | 
|---|---|
  | 
A valid   | 
Returns: A double representing the distance measured by the Range Finder.
// Get the Range Finder distance in millimeters.
double value = Sonar.distance(mm);
// Print the current distance detected by the Range Finder to the
// Brain's screen.
Brain.Screen.print(value);
foundObject()#
The foundObject() method checks if an object is detected by the Range Finder in the range 0 - 1000 millimeters. The Range Finder will return true if an object is detected closer than 1000mm.
Returns: true if an object is detected by the Range Finder. false if one is not.
// Check if an object is 1000mm or closer to the Range Finder.
if (Sonar.foundObject()){
    // Print to screen on the brain that an object was found.
    Brain.Screen.print("object found");
}
setMaximum()#
The setMaximum(distance, units) method sets the maximum distance the foundObject() method will return true for.
Parameters  | 
Description  | 
|---|---|
  | 
A double representing the maximum distance the Range Finder will find objects at.  | 
  | 
A valid   | 
Returns: None.
objectDetected()#
The objectDetected(callback) command calls a function when the Range Finder detects an object.
Parameters  | 
Description  | 
|---|---|
  | 
A reference to a function to call when an object is detected.  | 
Returns: None.
// Define the detected function with a void return type,
// showing it doesn't return a value.
void detected() {
  // The Brain will print that the Range Finder detected 
  // an object on the Brain's screen.
  Brain.Screen.print("Range Finder Detected Object");
}
int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();
  // Run detected when the Range Finder detect an object.
  Sonar.objectDetected(detected);
}
changed()#
Parameters  | 
Description  | 
|---|---|
  | 
A callback function to run when the value of the Range Finder changes.  | 
Returns: None.
// Define the sonarChanged function with a void return type,
// showing it doesn't return a value.
void sonarChanged() {
  // The Brain will print that the value detected by the
  // Range Finder changed on the Brain's screen.
  Brain.Screen.print("Range Finder value changed");
}
int main() {
  // Initializing Robot Configuration. DO NOT REMOVE!
  vexcodeInit();
  // Run sonarChanged when the value of the
  // Range Finder changes.
  Sonar.changed(sonarChanged);
}
timestamp()#
The timestamp() method requests the timestamp of the last received status packet from the Range Finder.
Returns: Timestamp of the last status packet as an unsigned 32-bit integer in milliseconds.
installed()#
The installed() command returns if the Range Finder is installed.
Returns: A boolean indicating if the Range Finder is installed.