声纳#
初始化声纳类#
使用以下构造函数创建 Range Finder:
The sonar
constructor creates a sonar object in the specified Three Wire Port.
范围 |
描述 |
---|---|
|
测距仪连接到的有效 智能端口。 |
// 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.
类方法#
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.
参数 |
描述 |
---|---|
单位 |
有效的 distanceUnit。 |
**返回:**表示测距仪测量的距离的双精度数。
// 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.
参数 |
描述 |
---|---|
距离 |
表示测距仪能够找到物体的最大距离的双精度数。 |
单位 |
有效的 distanceUnit。 |
**返回:**无。
objectDetected()#
The objectDetected(callback)
command calls a function when the Range Finder detects an object.
参数 |
描述 |
---|---|
打回来 |
当检测到对象时调用的函数的引用。 |
**返回:**无。
// 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()#
参数 |
描述 |
---|---|
打回来 |
当 Range Finder 的值发生变化时运行的回调函数。 |
**返回:**无。
// 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.
**返回:**最后一个状态包的时间戳,以毫秒为单位的无符号 32 位整数。
installed()#
The installed()
command returns if the Range Finder is installed.
**返回:**一个布尔值,指示是否安装了测距仪。